Deutsch   English   Français   Italiano  
<vrq4in$3e7ha$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Robert Finch <robfi680@gmail.com>
Newsgroups: comp.arch
Subject: Re: Split instruction and immediate stream
Date: Sun, 23 Mar 2025 19:13:25 -0400
Organization: A noiseless patient Spider
Lines: 38
Message-ID: <vrq4in$3e7ha$1@dont-email.me>
References: <vqhjpv$65am$1@dont-email.me> <vqiikd$c35o$1@dont-email.me>
 <fmnzP.432863$2zn8.70525@fx15.iad>
 <16462d5aa26345e4e015f240b30bba02@www.novabbs.org>
 <vrm4vt$3o4ta$1@dont-email.me> <vrmjhv$5hkp$1@dont-email.me>
 <vrntrs$1ab2q$1@dont-email.me> <vrp37n$2egnv$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 24 Mar 2025 00:13:27 +0100 (CET)
Injection-Info: dont-email.me; posting-host="a9f5d1702c9f6c92b376e264c27e74f8";
	logging-data="3612202"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19SxYkv33vczXf0pJeOx9jCCTAFu/A2sKc="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:mYBJgD+3rwpauV+FLcKqfGcLZOc=
Content-Language: en-US
In-Reply-To: <vrp37n$2egnv$1@dont-email.me>
Bytes: 2735

On 2025-03-23 9:44 a.m., Thomas Koenig wrote:
> Robert Finch <robfi680@gmail.com> schrieb:
> 
>> In the latest test project, the LB650 similar to a PowerPC, large
>> constants are encoded at the end of the cache line. So, there is a
>> similar issue of code running into the constant area.
> 
> What is your motivation for this?

This was more of a two day experiment. Wanted to see if code density 
could be improved.

I have gone back to Q+ which maybe has better code density.
Got a better result after putting more work into the assembler.
For my serial I/O routines:

PowerPC: 1624 bytes (compiled with vbcc)
Q+: 1456 bytes (arpl compiler)

I am guessing most of the gain is from function prolog / epilog where Q+ 
has enter / leave instructions. There is still a couple of issues in the 
arpl compiler, it outputs more instructions than it needs to. Those 
24-bit instructions work well.

> 
> If you have an instruction including constant(s) which no longer
> fits your cache line (say, 8 bytes left and 12 bytes needed)
> it does not matter where you put the constants and where you
> put the instructions - it will not fit, and you have to start
> a new cache line.

Yes.
> 
> I am not seeing an advantage over what Power 10 does, which is
> just to add a NOP at the end if things don't fit on a cacheline.

NOP ramps in my parlance. I use them to handle crossing page boundaries.