Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <vamhm0$3cs7q$1@dont-email.me>
Deutsch   English   Français   Italiano  
<vamhm0$3cs7q$1@dont-email.me>

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

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Robert Finch <robfi680@gmail.com>
Newsgroups: comp.arch
Subject: Re: Computer architects leaving Intel...
Date: Wed, 28 Aug 2024 02:55:56 -0400
Organization: A noiseless patient Spider
Lines: 299
Message-ID: <vamhm0$3cs7q$1@dont-email.me>
References: <vajo7i$2s028$1@dont-email.me>
 <memo.20240827205925.19028i@jgd.cix.co.uk> <valki8$35fk2$1@dont-email.me>
 <2644ef96e12b369c5fce9231bfc8030d@www.novabbs.org>
 <vam5qo$3bb7o$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 28 Aug 2024 08:56:01 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="fb60f876e94244a67034116828b706a9";
	logging-data="3567866"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+qHP7uK2rEaYMLqxAmHKS2alNI0xasVNk="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:ocmEmcr4lwv/2IeIPimQ76RfuNs=
Content-Language: en-US
In-Reply-To: <vam5qo$3bb7o$1@dont-email.me>
Bytes: 13149

On 2024-08-27 11:33 p.m., BGB wrote:
> On 8/27/2024 6:50 PM, MitchAlsup1 wrote:
>> On Tue, 27 Aug 2024 22:39:02 +0000, BGB wrote:
>>
>>> On 8/27/2024 2:59 PM, John Dallman wrote:
>>>> In article <vajo7i$2s028$1@dont-email.me>, tkoenig@netcologne.de 
>>>> (Thomas
>>>> Koenig) wrote:
>>>>
>>>>> Just read that some architects are leaving Intel and doing their own
>>>>> startup, apparently aiming to develop RISC-V cores of all things.
>>>>
>>>> They're presumably intending to develop high-performance cores, since
>>>> they have substantial experience in doing that for x86-64. The question
>>>> is if demand for those will develop.
>>>>
>>>
>>> Making RISC-V "not suck" in terms of performance will probably at least
>>> be easier than making x86-64 "not suck".
>>>
>> Yet, these people have decades of experience building complex things
>> that
>> made x86 (also() not suck. They should have the "drawing power" to get
>> more people with similar experiences.
>>
>> The drawback is that they are competing with "everyone else in
>> RISC-V-land,
>> and starting several years late.
> 
> Though, if anything, they probably have the experience to know how to 
> make things like the fabled "opcode fusion" work without burning too 
> many resources.
> 
> 
>>>
>>>> Android is apparently waiting for a new RISC-V instruction set
>>>> extension; >> you can run various Linuxes, but I have not heard
>>> about anyone wanting to do so on a large scale.
>>>>
>>>
>>> My thoughts for "major missing features" is still:
>>> Needs register-indexed load;
>>> Needs an intermediate size constant load (such as 17-bit sign extended)
>>> in a 32-bit op.
>>
>> Full access to constants.
>>
> 
> That would be better, but is unlikely within the existing encoding 
> constraints.
> 
> But, say, if one burned one of the remaining unused "OP Rd, Rs, Imm12s" 
> encodings as an Imm17s, well then...
> 
> There were a few holes in this space. Like, for example, there are no 
> ANDW/ORW/XORW ops with Imm12s, so these spots could be reclaimed and 
> used for such a purpose, treating the Imm12 and Rs as a combined 17-bit 
> field.
> 
> 
> But, arguably, LUI+ADD, or LUI+ADD+LUI+ADD+SLLI+ADD, may not matter as 
> much if one can afford the pattern-matching logic to turn 2 (or 6) 
> operations into a fused operation...
> 
> 
>>> Where, there is a sizeable chunk of constants between 12 and 17 bits,
>>> but not quite as many between 17 and 32 (and 32-64 bits is comparably
>>> infrequent).
>>
>> Except in in "math codes".
>>
>> But 64-bit memory reference displacements means one does not have to
>> even bother to have a strategy of what to do when you need a single
>> FORTRAN common block to be 74GB in size in order to run 5-decade old
>> FEM codes.
>>
> 
> I don't assume that RISC-V would be getting a 64-bit FPU immediate 
> anytime soon.
> 
> 
>>> I could also make a case for an instruction to load a Binary16 value and
>>> convert to Binary32 or Binary64 in an FPR, but this is arguably a bit
>>> niche (but, would still beat out using a memory load).
>>
>> Most of these are covered by something like::
>>
>>      CVTSD   Rd,#1     // 32-bit instruction
>>
> 
> My case, I have:
>    FLDCH Imm16f, Rn  //also a 32-bit instruction
> Which can cover a significant majority of typical FP constants.
> 
> 
> In RISC-V, one needs to use a memory load, and store in memory using the 
> full 64-bits if one needs the value as "double". This kinda sucks.
> 
> Though, arguably still not as bad as it was on SH-4 (where constant 
> loading in general was a PITA; and loading a FP constant typically 
> involved multiple memory loads, and an address generation).
> 
> Eg:
>    MOVA    @(PC, Disp8), R3
>    FMOV.S  @R3+, FR5
>    FMOV.S  @R3+, FR4
> AKA: Suck...
> 
> 
>>>
>>> Big annoying thing with it, is that to have any hope of adoption, one
>>> needs an "actually involved" party to add it. There doesn't seem to be
>>> any sort of aggregated list of "known in-use" opcodes, or any real
>>> mechanism for "informal" extensions.
>>
>> With the OpCode space already 98% filled there does not need to
>> be such a list.
>>
> 
> One would still need it if multiple parties want to be able to define an 
> extension independently of each other and not step on the same encodings.
> 
> 
> Well, or it becomes like the file-extension space where there are 
> seemingly pretty much no unused 2 or 3 letter filename extensions.
> 
> So, for some recent formats I went and used ".GTF" and ".UPI", which 
> while not unused, were not used by anything I had reason to care about 
> (medical research and banks).
> 
> 
> Though, with file extensions and names, at least one can web-search them 
> (which is more than one can do to check whether or not a part of the 
> RISC-V opcode map is used by a 3rd party extension).
> 
> What provisions have been made, don't scale much beyond "specific SoC 
> provides extensions within a block generally provisioned for SoC 
> specific extensions".
> 
> 
>>> The closest we have on the latter point is the "Composable Extensions"
>>> extension by Jan Gray, which seems to be mostly that part of the ISA's
>>> encoding space can be banked out based on a CSR or similar.
>>>
>>>
>>> Though, bigger immediate values and register-indexed loads do arguably
>>> better belong in the base ISA encoding space.
>>
>> Agreed, but there is so much more.
>>
>>      FCMP    Rt,#14,R19        // 32-bit instruction
>>      ENTER   R16,R0,#400       // 32-bit instruction
>> ..
>>
> 
> These are likely a bit further down the priority list.
> 
> High priority cases would likely be things that happen often enough to 
> significantly effect performance.
> 
> 
> As I see it, array loads/stores, and integer constant values in the 
> 12-17 bit range, are common enough to justify this.
> 
> 
> Prolog/Epilog happens once per function, and often may be skipped for 
> small leaf functions, so seems like a lower priority. More so, if one 
> lacks a good way to optimize it much beyond the sequence of load/store 
> ops which is would be replacing (and maybe not a way to do it much 
> faster than however can be moved in a single clock cycle with the 
> available register ports).
> 
> 
>>>
>>> At present, I am still on the fence about whether or not to support the
>>> C extension in RISC-V mode in the BJX2 Core, mostly because the encoding
========== REMAINDER OF ARTICLE TRUNCATED ==========