Re: Why VAX Was the Ultimate CISC and Not RISC

Liste des GroupesRevenir à c arch 
Sujet : Re: Why VAX Was the Ultimate CISC and Not RISC
De : cr88192 (at) *nospam* gmail.com (BGB)
Groupes : comp.arch
Date : 11. Mar 2025, 05:49:16
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vqofeo$1qgv6$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
User-Agent : Mozilla Thunderbird
On 3/10/2025 7:53 PM, MitchAlsup1 wrote:
On Mon, 10 Mar 2025 22:40:55 +0000, BGB wrote:
 
On 3/7/2025 9:28 PM, MitchAlsup1 wrote:
On Sat, 8 Mar 2025 2:49:50 +0000, BGB wrote:
>
------------------------
>
I guess, while a person could do something like (in C):
   _BitInt(1048576) bmp;
   _Boolean b;
   ...
   b=(bmp>>i)&1;  //*blarg* (shift here would be absurdly expensive)
>
This is liklely to be rare vs more traditional strategies, say:
   uint64_t *bmp;
   int b, i;
   ...
   b=(bmp[i>>6]>>(i&63))&1;
>
Question: How do you handle the case where the bit vector is an odd
number of bits in width ?? Say <3, 5, 7, 17, ...>
>
>
It is rare for bitmap bits to not be a power of 2...
>
I would guess, at least for C, something like (for 3 bits):
   uint32_t *bmp;
   uint64_t bv;
   int i, b, bp;
   ...
   bp=i*3;
   bv=*(uint64_t *)(bmp+(bp>>5));
   b=(bv>>(bp&31))&7;
>
Could apply to anything up to 31 bits.
 Not bad.
 
Could do similar with __int128 (or uint128_t), which extends it up to 63
bits.
------------
Mc 68020 had instructions to access bit-fields that cross word
boundaries.
>
>
I guess one could argue the use-case for adding a generic funnel shift
instruction.
 My 66000 has CARRY-SL/SR which performs a double wide operand shifted
by a single wide count (0..63) and produces a double wide result {IO}.
 
OK.

If I added it, it would probably be a 64-bit encoding (generally needed
for 4R).
 By placing the width in position {31..37} you can compress this down
to 3-Operand.
 
It is 3 operand if being used as a 128-bit shift op.
But, funnel shift operators implies 3 independent inputs and 1 output.

----------
Architecture is more about what gets left OUT than what gets left IN.
>
Well, except in this case it was more a question of trying to fit it in
with C semantics (and not consideration for more ISA features).
 Clearly, you want to support C semantics--but you can do this in a way
that also supports languages with real bit-field support.
---------------
Yeah.
Amidst debugging and considering Verilog support...

There are still some limitations, for example:
In my current implementation, CSR's are very limited (may only be used
to load and store CSRs; not do RMW operations on CSRs).
 <y 66000 only has 8 CPU CRs, and even these are R/W through MMI/O
space. All the other (effective) CRs are auto loaded in line quanta.
 This mechanism allows one CPU to figure out what another CPU is up to
simply by meandering through its CRs...
 
I had enough space for 64 CRs, but only a small subset are actually used. Some more had space reserved, but were related to non-implemented features.
RISC-V has a 12-bit CSR space, of which:
   Some map to existing CRs;
   My whole CR space was stuck into an implementation-dependent range.
   Some read-only CSRs were mapped over to CPUID.
     Of which, all of the CPUID indices were also mapped into CSR space.
Seemingly lacks defined user CSRs for timer or HW-RNG, which do exist in my case. It is very useful to be able to access a HW timer in userland, as otherwise it would waste a lot of clock-cycles using system calls for "clock()" and similar.

Though, have noted that seemingly some number of actual RISC-V cores
also have this limitation.
>
>
A more drastic option might be to try to rework the hardware interfaces
and memory map hopefully enough to try to make it possible to run an OS
like Linux, but there doesn't really seem to be a standardized set of
hardware interfaces or memory map defined.
>
Some amount of SOC's though seem to use a map like:
   00000000..0000FFFF: ROM goes here.
   00010000..0XXXXXXX: RAM goes here.
   ZXXXXXXX..FFFFFFFF: Hardware / MMIO
 My 66000::
  00 0000000000000000..FFFFFFFFFFFFFFFF: DRAM
  01 0000000000000000..FFFFFFFFFFFFFFFF: MMI/O
  10 0000000000000000..FFFFFFFFFFFFFFFF: config
  11 0000000000000000..FFFFFFFFFFFFFFFF: ROM
 Whatever you are trying to do, you won't run out of address space until
64 bits becomes insufficient. Note: all HW interfaces are in config
space
and all CRs are in MMI/O space.
 
There seems to be a lot here defined in terms of 32-bit physical spaces, including on 64-bit targets.
Though, thus far, my existing core also has pretty all of its physical map in 32-bit space.
The physical ranges from 0001_00000000 .. 7FFF_FFFFFFFF  currently contain a whole lot of nothing.
I once speculated on the possibility of special hardware to memory-map the whole SDcard into physical space, but nothing has been done yet (and such a hardware interface would be a lot more complicated than my existing interface).
An intermediate option being to expand the SPI interface to support 256 bit bursts.
Say:
   P_SPI_QDATA0..P_SPI_QDATA3
It appears this has already been partly defined (though not fully implemented in the 256-bit case).
Where, the supported XMIT sizes are:
     8 bit: Single Byte
    64 bit: 8 bytes
   256 bit: 32 bytes
With larger bursts mostly to reduce the amount of round-trip delay over the bus.

------------
They seem to also be asking for a UEFI based boot process, but this
would require having a bigger BootROM (can't likely fit a UEFI
implementation into 32K). Seems that the idea is to have the UEFI BIOS
boot the kernel directly as an ELF image (traditionally UEFI was always
PE/COFF based?...).
 Boot ROM should be big enough that no BOOT ROM will ever exceed its
size.
Or at least possibly the reserved space.
On reasonable FPGAs, it also eats BlockRAM, and the ROM size needs to be small enough to not eat too much BRAM (and/or needs to be backed to some external Flash device).
I guess, one possibility could be to fake a larger ROM (such as a UEFI BIOS) by in effect loading it into RAM from the SDcard.
Though, I guess it is a question:
   Could I fit a usable UEFI implementation into 48 or 64K ?...
Though, there does still seem to be an inconsistency:
   RISC-V Platform Specification seems to imply UEFI loading ELF;
   In other contexts, UEFI is described as loading PE/COFF.
Some other information implies that UEFI uses PE/COFF but for RISC-V people compile to ELF and then use an ELF -> PE/COFF converter tool (well, except when compiling with LLVM/Clang, which does support PE/COFF on RISC-V).
I guess the main relevant differences:
   MBR vs EFI-GPT;
But, SDcards usually use MBR and not EFI-GPT.
Different boot image name.
   "efi/boot/bootXX.efi" vs "bootload.sys".
Seemingly (not confirmed) uses a DLL export as the entry point ("efi_main"), which is called using the C ABI, and is given an image handle and a system-table pointer (which indirectly gives the relevant VTables; which do not appear to follow COM Object conventions).
My current Boot ROM branches to the PE entry point, which does its own boot-time init stuff. The ROM doesn't currently provide anything to the loaded program.
UEFI seems more complicated than it needs to be.
Looking around:
Crap, it almost appears as if it would be easier just to use TestKern as the basis of a UEFI implementation (UEFI is basically an OS).
Unless I can get by with a fairly minimal implementation, a lot of this stuff probably isn't going to fit into 48 or 64K either.
I guess it is a question of how hard it would be to compile a Linux RISC-V kernel to boot with something like the Coreboot, which appears closer to what my existing ROM does (load the image, jump to it, done).
Though, apparently coreboot will also load a device-tree file and initrd (implying some mechanism for it to signal to the kernel where these have been loaded?...).

--------------
There is a probable need to move away from the "BJX2" name, which as
noted, has some unfortunate connotations (turns out it was also used for
a lewd act) and seems to be triggering to Google's automatic content
filtering (probably for a similar reason).
 Hilarious--and reason enough to change names.
 
It has been stuck at this issue for a while.
The current name has a problem, but also a feature:
Because hardly anything uses it, web search for it actually works.

When you do change names, can you spell LD and ST instead of MOV ??
This mostly depends on which ASM syntax it is using...
It would likely switch over to RISC-V style naming if/when things switch over to RISC-V ASM syntax (rather than the modified SuperH derived ASM syntax).

Date Sujet#  Auteur
1 Mar 25 * Why VAX Was the Ultimate CISC and Not RISC230Lawrence D'Oliveiro
1 Mar 25 +* Re: Why VAX Was the Ultimate CISC and Not RISC220Anton Ertl
1 Mar 25 i+* Re: Why VAX Was the Ultimate CISC and Not RISC25MitchAlsup1
1 Mar 25 ii+- Re: Why VAX Was the Ultimate CISC and Not RISC1Thomas Koenig
2 Mar 25 ii`* Re: Why VAX Was the Ultimate CISC and Not RISC23Anton Ertl
2 Mar 25 ii +* Re: Why VAX Was the Ultimate CISC and Not RISC6Robert Swindells
2 Mar 25 ii i+* Re: Why VAX Was the Ultimate CISC and Not RISC4Anton Ertl
5 Mar 25 ii ii`* Re: Why VAX Was the Ultimate CISC and Not RISC3Robert Swindells
6 Mar 25 ii ii `* Re: Why VAX Was the Ultimate CISC and Not RISC2Lawrence D'Oliveiro
6 Mar 25 ii ii  `- Re: Why VAX Was the Ultimate CISC and Not RISC1MitchAlsup1
2 Mar 25 ii i`- Re: Why VAX Was the Ultimate CISC and Not RISC1Lynn Wheeler
2 Mar 25 ii +* Re: Why VAX Was the Ultimate CISC and Not RISC4MitchAlsup1
2 Mar 25 ii i`* Re: Why VAX Was the Ultimate CISC and Not RISC3Lawrence D'Oliveiro
3 Mar 25 ii i `* Re: Why VAX Was the Ultimate CISC and Not RISC2MitchAlsup1
3 Mar 25 ii i  `- Re: Why VAX Was the Ultimate CISC and Not RISC1Lawrence D'Oliveiro
2 Mar 25 ii +- Re: Why VAX Was the Ultimate CISC and Not RISC1BGB
3 Mar 25 ii `* Re: Why VAX Was the Ultimate CISC and Not RISC11Anton Ertl
3 Mar 25 ii  +* Re: Why VAX Was the Ultimate CISC and Not RISC9Thomas Koenig
3 Mar 25 ii  i`* Re: Why VAX Was the Ultimate CISC and Not RISC8Anton Ertl
5 Mar 25 ii  i `* Re: Why VAX Was the Ultimate CISC and Not RISC7Thomas Koenig
6 Mar 25 ii  i  `* Re: Why VAX Was the Ultimate CISC and Not RISC6Thomas Koenig
8 Mar 25 ii  i   `* Re: Why VAX Was the Ultimate CISC and Not RISC5Anton Ertl
8 Mar 25 ii  i    +- Re: Why VAX Was the Ultimate CISC and Not RISC1MitchAlsup1
9 Mar 25 ii  i    `* Re: Why VAX Was the Ultimate CISC and Not RISC3Torbjorn Lindgren
9 Mar 25 ii  i     `* Re: Why VAX Was the Ultimate CISC and Not RISC2MitchAlsup1
9 Mar 25 ii  i      `- Re: Why VAX Was the Ultimate CISC and Not RISC1Thomas Koenig
4 Mar 25 ii  `- Re: Why VAX Was the Ultimate CISC and Not RISC1Anton Ertl
1 Mar 25 i+* Re: Why VAX Was the Ultimate CISC and Not RISC2Anton Ertl
2 Mar 25 ii`- Re: Why VAX Was the Ultimate CISC and Not RISC1Keith Thompson
1 Mar 25 i+* Re: Why VAX Was the Ultimate CISC and Not RISC160John Levine
1 Mar 25 ii`* Re: Why VAX Was the Ultimate CISC and Not RISC159Anton Ertl
2 Mar 25 ii +* Re: Why VAX Was the Ultimate CISC and Not RISC6Lawrence D'Oliveiro
2 Mar 25 ii i`* Re: Why VAX Was the Ultimate CISC and Not RISC5Anton Ertl
2 Mar 25 ii i +* Re: Why VAX Was the Ultimate CISC and Not RISC3Lawrence D'Oliveiro
3 Mar 25 ii i i`* Re: Why VAX Was the Ultimate CISC and Not RISC2Anton Ertl
4 Mar 25 ii i i `- Re: Why VAX Was the Ultimate CISC and Not RISC1Lawrence D'Oliveiro
2 Mar 25 ii i `- Re: Why VAX Was the Ultimate CISC and Not RISC1MitchAlsup1
2 Mar 25 ii +- Re: Why VAX Was the Ultimate CISC and Not RISC1Lynn Wheeler
2 Mar 25 ii `* Re: Why VAX Was the Ultimate CISC and Not RISC151John Levine
2 Mar 25 ii  +- Re: Why VAX Was the Ultimate CISC and Not RISC1Lawrence D'Oliveiro
2 Mar 25 ii  `* Re: Why VAX Was the Ultimate CISC and Not RISC149Anton Ertl
3 Mar 25 ii   +* Re: Why VAX Was the Ultimate CISC and Not RISC6John Levine
3 Mar 25 ii   i+- Re: Why VAX Was the Ultimate CISC and Not RISC1Lawrence D'Oliveiro
3 Mar 25 ii   i`* Re: Why VAX Was the Ultimate CISC and Not RISC4Anton Ertl
3 Mar 25 ii   i +* Re: Why VAX Was the Ultimate CISC and Not RISC2Michael S
3 Mar 25 ii   i i`- Re: Why VAX Was the Ultimate CISC and Not RISC1Anton Ertl
4 Mar 25 ii   i `- Re: Why VAX Was the Ultimate CISC and Not RISC1Lawrence D'Oliveiro
3 Mar 25 ii   +* Re: Why VAX Was the Ultimate CISC and Not RISC3Thomas Koenig
3 Mar 25 ii   i`* Re: Why VAX Was the Ultimate CISC and Not RISC2Anton Ertl
3 Mar 25 ii   i `- Re: Why VAX Was the Ultimate CISC and Not RISC1BGB
3 Mar 25 ii   `* Re: Why VAX Was the Ultimate CISC and Not RISC139MarkC
3 Mar 25 ii    `* Re: Why VAX Was the Ultimate CISC and Not RISC138Anton Ertl
3 Mar 25 ii     +* Re: Why VAX Was the Ultimate CISC and Not RISC135Thomas Koenig
4 Mar 25 ii     i`* Re: Why VAX Was the Ultimate CISC and Not RISC134Lawrence D'Oliveiro
4 Mar 25 ii     i +- Re: Why VAX Was the Ultimate CISC and Not RISC1BGB
4 Mar 25 ii     i `* Re: Why VAX Was the Ultimate CISC and Not RISC132Anton Ertl
5 Mar 25 ii     i  `* Re: Why VAX Was the Ultimate CISC and Not RISC131Lawrence D'Oliveiro
5 Mar 25 ii     i   `* Re: Why VAX Was the Ultimate CISC and Not RISC130Anton Ertl
6 Mar 25 ii     i    +* Re: Why VAX Was the Ultimate CISC and Not RISC3John Levine
7 Mar 25 ii     i    i`* Re: Why VAX Was the Ultimate CISC and Not RISC2Lynn Wheeler
8 Mar 25 ii     i    i `- Re: Why VAX Was the Ultimate CISC and Not RISC1Thomas Koenig
7 Mar 25 ii     i    `* Re: Why VAX Was the Ultimate CISC and Not RISC126Waldek Hebisch
7 Mar 25 ii     i     +* Re: Why VAX Was the Ultimate CISC and Not RISC123Lawrence D'Oliveiro
7 Mar 25 ii     i     i+* Re: Why VAX Was the Ultimate CISC and Not RISC66BGB
7 Mar 25 ii     i     ii+* Re: Why VAX Was the Ultimate CISC and Not RISC61MitchAlsup1
7 Mar 25 ii     i     iii+* Re: Why VAX Was the Ultimate CISC and Not RISC2Robert Finch
7 Mar 25 ii     i     iiii`- Re: Why VAX Was the Ultimate CISC and Not RISC1MitchAlsup1
7 Mar 25 ii     i     iii+* Re: Why VAX Was the Ultimate CISC and Not RISC55BGB
7 Mar 25 ii     i     iiii+- Re: Why VAX Was the Ultimate CISC and Not RISC1MitchAlsup1
8 Mar 25 ii     i     iiii`* Re: Why VAX Was the Ultimate CISC and Not RISC53Robert Finch
8 Mar 25 ii     i     iiii `* Re: Why VAX Was the Ultimate CISC and Not RISC52BGB
8 Mar 25 ii     i     iiii  `* Re: Why VAX Was the Ultimate CISC and Not RISC51MitchAlsup1
9 Mar 25 ii     i     iiii   +- Re: Why VAX Was the Ultimate CISC and Not RISC1Lawrence D'Oliveiro
10 Mar 25 ii     i     iiii   `* Re: Why VAX Was the Ultimate CISC and Not RISC49BGB
11 Mar 25 ii     i     iiii    +* Re: Why VAX Was the Ultimate CISC and Not RISC2Lawrence D'Oliveiro
11 Mar 25 ii     i     iiii    i`- Re: Why VAX Was the Ultimate CISC and Not RISC1BGB
11 Mar 25 ii     i     iiii    `* Re: Why VAX Was the Ultimate CISC and Not RISC46MitchAlsup1
11 Mar 25 ii     i     iiii     +* Re: Why VAX Was the Ultimate CISC and Not RISC40Robert Finch
11 Mar 25 ii     i     iiii     i+* Re: Why VAX Was the Ultimate CISC and Not RISC7BGB
11 Mar 25 ii     i     iiii     ii`* Re: Why VAX Was the Ultimate CISC and Not RISC6MitchAlsup1
11 Mar 25 ii     i     iiii     ii `* Re: Why VAX Was the Ultimate CISC and Not RISC5Terje Mathisen
11 Mar 25 ii     i     iiii     ii  +- Re: Why VAX Was the Ultimate CISC and Not RISC1David Schultz
11 Mar 25 ii     i     iiii     ii  `* Re: Why VAX Was the Ultimate CISC and Not RISC3Lawrence D'Oliveiro
12 Mar 25 ii     i     iiii     ii   `* Re: Why VAX Was the Ultimate CISC and Not RISC2Anton Ertl
12 Mar 25 ii     i     iiii     ii    `- Re: Why VAX Was the Ultimate CISC and Not RISC1Lawrence D'Oliveiro
11 Mar 25 ii     i     iiii     i`* Re: Why VAX Was the Ultimate CISC and Not RISC32MitchAlsup1
11 Mar 25 ii     i     iiii     i `* Re: Why VAX Was the Ultimate CISC and Not RISC31Stephen Fuld
11 Mar 25 ii     i     iiii     i  +* Re: Why VAX Was the Ultimate CISC and Not RISC6MitchAlsup1
11 Mar 25 ii     i     iiii     i  i+* Re: Why VAX Was the Ultimate CISC and Not RISC4Stephen Fuld
11 Mar 25 ii     i     iiii     i  ii`* Re: Why VAX Was the Ultimate CISC and Not RISC3Lawrence D'Oliveiro
12 Mar 25 ii     i     iiii     i  ii `* Re: Why VAX Was the Ultimate CISC and Not RISC2BGB
12 Mar 25 ii     i     iiii     i  ii  `- Re: Why VAX Was the Ultimate CISC and Not RISC1Lawrence D'Oliveiro
12 Mar 25 ii     i     iiii     i  i`- Re: Why VAX Was the Ultimate CISC and Not RISC1BGB
11 Mar 25 ii     i     iiii     i  +* Re: Why VAX Was the Ultimate CISC and Not RISC15moi
11 Mar 25 ii     i     iiii     i  i+* Re: Why VAX Was the Ultimate CISC and Not RISC12Stephen Fuld
11 Mar 25 ii     i     iiii     i  ii+* Re: Why VAX Was the Ultimate CISC and Not RISC10Lawrence D'Oliveiro
12 Mar 25 ii     i     iiii     i  iii+* Re: Why VAX Was the Ultimate CISC and Not RISC6BGB
12 Mar 25 ii     i     iiii     i  iiii+* Re: Why VAX Was the Ultimate CISC and Not RISC2Lawrence D'Oliveiro
12 Mar 25 ii     i     iiii     i  iiiii`- Re: Why VAX Was the Ultimate CISC and Not RISC1Stephen Fuld
12 Mar 25 ii     i     iiii     i  iiii`* Re: Why VAX Was the Ultimate CISC and Not RISC3MitchAlsup1
12 Mar 25 ii     i     iiii     i  iiii `* Re: Why VAX Was the Ultimate CISC and Not RISC2BGB
12 Mar 25 ii     i     iiii     i  iii+- Re: Why VAX Was the Ultimate CISC and Not RISC1MitchAlsup1
12 Mar 25 ii     i     iiii     i  iii`* Re: Why VAX Was the Ultimate CISC and Not RISC2Anton Ertl
12 Mar 25 ii     i     iiii     i  ii`- Re: Why VAX Was the Ultimate CISC and Not RISC1moi
12 Mar 25 ii     i     iiii     i  i`* Re: Why VAX Was the Ultimate CISC and Not RISC2MitchAlsup1
11 Mar 25 ii     i     iiii     i  +* Re: Why VAX Was the Ultimate CISC and Not RISC2Lawrence D'Oliveiro
12 Mar 25 ii     i     iiii     i  +* Re: Why VAX Was the Ultimate CISC and Not RISC4John Levine
12 Mar 25 ii     i     iiii     i  `* Re: Why VAX Was the Ultimate CISC and Not RISC3Anton Ertl
11 Mar 25 ii     i     iiii     `* Re: Why VAX Was the Ultimate CISC and Not RISC5BGB
7 Mar 25 ii     i     iii+* Re: Why VAX Was the Ultimate CISC and Not RISC2MitchAlsup1
8 Mar 25 ii     i     iii`- Re: Why VAX Was the Ultimate CISC and Not RISC1BGB
7 Mar 25 ii     i     ii`* Re: Why VAX Was the Ultimate CISC and Not RISC4Robert Finch
7 Mar 25 ii     i     i+* Re: Why VAX Was the Ultimate CISC and Not RISC4MitchAlsup1
7 Mar 25 ii     i     i+- Re: Why VAX Was the Ultimate CISC and Not RISC1MitchAlsup1
11 Mar 25 ii     i     i`* Re: Why VAX Was the Ultimate CISC and Not RISC51Waldek Hebisch
7 Mar 25 ii     i     `* Re: Why VAX Was the Ultimate CISC and Not RISC2Michael S
3 Mar 25 ii     `* Re: Why VAX Was the Ultimate CISC and Not RISC2Robert Swindells
1 Mar 25 i+* Re: Why VAX Was the Ultimate CISC and Not RISC28BGB
2 Mar 25 i+* Re: Why VAX Was the Ultimate CISC and Not RISC2Lawrence D'Oliveiro
5 Mar 25 i`* Re: Why VAX Was the Ultimate CISC and Not RISC2Stefan Monnier
1 Mar 25 +- Re: Why VAX Was the Ultimate CISC and Not RISC1MitchAlsup1
2 Mar 25 +* Re: Why VAX Was the Ultimate CISC and Not RISC5Lawrence D'Oliveiro
2 Mar 25 +- Re: Why VAX Was the Ultimate CISC and Not RISC1MitchAlsup1
5 Mar 25 `* Re: Why VAX Was the Ultimate CISC and Not RISC2Theo

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal