Author Topic: RISC-V, what do you think about ?  (Read 53654 times)

0 Members and 1 Guest are viewing this topic.

Offline HAL-42b

  • Frequent Contributor
  • **
  • Posts: 423
Re: RISC-V, what do you think about ?
« Reply #100 on: February 04, 2016, 02:16:37 am »
Seems like the utter simplicity itself, I love it!

Definitely the best core for learning VHDL and processors.
 

Offline JoeN

  • Frequent Contributor
  • **
  • Posts: 991
  • Country: us
  • We Buy Trannies By The Truckload
Re: RISC-V, what do you think about ?
« Reply #101 on: February 04, 2016, 04:03:19 am »
"32-bit, 64-bit, and 128-bit address space variants for applications, operating system kernels, and hardware implementations."

128 bit address space?  What is this good for?  64 bit is 16 EiB.  Are we pushing this for any computer system?  Tianhe-2 apparently has 1,375 TiB of memory or 1.375 PiB.  So the world's largest supercomputer is using less than 1/10,000th of the 64-bit address space so far.  I guess it might be useful sometime in the semi-near future.  When do you think the first computer with 16 EiB of memory will become sentient operational? :)

https://en.wikipedia.org/wiki/Tianhe-2
Have You Been Triggered Today?
 

Offline HAL-42b

  • Frequent Contributor
  • **
  • Posts: 423
Re: RISC-V, what do you think about ?
« Reply #102 on: February 04, 2016, 04:14:16 am »
"32-bit, 64-bit, and 128-bit address space variants for applications, operating system kernels, and hardware implementations."

128 bit address space?  What is this good for?  64 bit is 16 EiB.  Are we pushing this for any computer system?  Tianhe-2 apparently has 1,375 TiB of memory or 1.375 PiB.  So the world's largest supercomputer is using less than 1/10,000th of the 64-bit address space so far.  I guess it might be useful sometime in the semi-near future.  When do you think the first computer with 16 EiB of memory will become sentient operational? :)

https://en.wikipedia.org/wiki/Tianhe-2


Not much use if you think in terms of a normal Von Neumann machine. Extremely useful if your memory consists of many physically separate chunks which you may want to share or isolate according to some criteria.

Extremely useful for security in multi-processor systems.

For example if you want cores A B C D to be able to read from a chunk of memory but only cores D E to be able to write to it. Wide address space lets you manage this in a single instruction, moreover it lets you to verify its security in hardware, regardless of the code running.

In a sense it lets you program with your soldering iron, which I like, a lot. 
 

Offline C

  • Super Contributor
  • ***
  • Posts: 1346
  • Country: us
Re: RISC-V, what do you think about ?
« Reply #103 on: February 04, 2016, 05:24:28 am »
"32-bit, 64-bit, and 128-bit address space variants for applications, operating system kernels, and hardware implementations."

128 bit address space?  What is this good for?  64 bit is 16 EiB.  Are we pushing this for any computer system?  Tianhe-2 apparently has 1,375 TiB of memory or 1.375 PiB.  So the world's largest supercomputer is using less than 1/10,000th of the 64-bit address space so far.  I guess it might be useful sometime in the semi-near future.  When do you think the first computer with 16 EiB of memory will become sentient operational? :)

https://en.wikipedia.org/wiki/Tianhe-2

How about simple hardware reducing software load.
Storage directly mapped to memory space.
the simple memory management hardware would know if a write back was needed.
 

Offline JoeN

  • Frequent Contributor
  • **
  • Posts: 991
  • Country: us
  • We Buy Trannies By The Truckload
Re: RISC-V, what do you think about ?
« Reply #104 on: February 04, 2016, 05:40:51 am »
How about simple hardware reducing software load.
Storage directly mapped to memory space.
the simple memory management hardware would know if a write back was needed.

128 lines just to put an address on the bus.
Commensurate decoding logic for every memory mapped device.
etc.
Have You Been Triggered Today?
 

Offline ale500

  • Frequent Contributor
  • **
  • Posts: 415
Re: RISC-V, what do you think about ?
« Reply #105 on: February 04, 2016, 06:05:18 am »
64 bit Processors today don't use 64 bit physical addresses anyways, they have like 42 or 48. It is an extensible ISA, they prepared it for growth, if tomorrow there is a new way of cpu in terms of quantum something of trinary systems or whatever, it may remain unused. But at the current rate, maybe in 10 years are 128 bit systems a real possibility :)

The RISC5 verilog shows a very compact and simple design of a 1 cycle CPU. Very nicely done :). With the same concepts I designed a RISCV core, it mostly works :)

There is for instance a Cyclone IV board on ebay with external SDRAM for like 40 €, that is a nice target for the Oberon system, it needs a SDRAM controller but that is not that difficult... too many projects...

I tried the simulator and I find it just great. The kind of fun that where home computers some time ago, no windows, no drivers, no updates every other day...
 

Offline captbill

  • Contributor
  • Posts: 37
  • Country: us
Re: RISC-V, what do you think about ?
« Reply #106 on: February 04, 2016, 06:48:38 am »
ProjectOberon RISC5 core

I could try to add my TAP to this core, too.
and It will be interesting, as it comes with less complexity.

A TAP interface. I had to look that one up. "Test Anything Protocol" you mean? Sounds very interesting. So you have some 'TAP interface routines' you could apply to the RISC5, which sets up 'taps' for probing signals via JTAG? I have no clue how to go about 'tapping' the actual core but will gladly test anything like that on my setup. One question: does all this happen over USB or would you be physically probing some pin with a logic analyser?







 

Offline helius

  • Super Contributor
  • ***
  • Posts: 3642
  • Country: us
Re: RISC-V, what do you think about ?
« Reply #107 on: February 04, 2016, 07:16:58 am »
A TAP is a Test Access Port, for monitoring the internal memories of the CPU. It is needed for detailed testing and instrumentation of the CPU, for instance to capture or replay pipeline stalls, hazards, and exceptions. The interface from it to the debug host can be anything, but a serial protocol like SWD or JTAG would be a usual choice; USB would be absurd.
IEEE 1149.1 JTAG only has access to I/O pins; to implement real emulators and trace tools you must have a logic block with special access to internal data and control paths.
 

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: RISC-V, what do you think about ?
« Reply #108 on: February 04, 2016, 11:06:57 am »
A TAP is a Test Access Port, for monitoring the internal memories of the CPU. It is needed for detailed testing and instrumentation of the CPU, for instance to capture or replay pipeline stalls, hazards, and exceptions. The interface from it to the debug host can be anything, but a serial protocol like SWD or JTAG would be a usual choice; USB would be absurd.
IEEE 1149.1 JTAG only has access to I/O pins; to implement real emulators and trace tools you must have a logic block with special access to internal data and control paths.

all of the above, but my TAP is not jtag driven, it implements a custom protocol which does not look like SWD
I am developing for hobby, tempted to put it on business, may be
 

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: RISC-V, what do you think about ?
« Reply #109 on: February 04, 2016, 11:33:52 am »
There is for instance a Cyclone IV board on ebay with external SDRAM for like 40 €, that is a nice target for the Oberon system, it needs a SDRAM controller but that is not that difficult

while the Oberon mini FPGA board costs up to 150 USD  :o :o :o
 

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: RISC-V, what do you think about ?
« Reply #110 on: February 04, 2016, 04:30:55 pm »
so, they are both pronounced "risk-five", even if Risc-5 is Oberon, while Risc-V is Berkeley, and they are two different projects with little things in common

this Xcell article talks about Oberon System implemented on a low cost fpga, with a little review of the whole.
 

Offline captbill

  • Contributor
  • Posts: 37
  • Country: us
Re: RISC-V, what do you think about ?
« Reply #111 on: February 04, 2016, 08:33:06 pm »
64 bit Processors today don't use 64 bit physical addresses anyways, they have like 42 or 48. It is an extensible ISA, they prepared it for growth, if tomorrow there is a new way of cpu in terms of quantum something of trinary systems or whatever, it may remain unused. But at the current rate, maybe in 10 years are 128 bit systems a real possibility :)

The RISC5 verilog shows a very compact and simple design of a 1 cycle CPU. Very nicely done :). With the same concepts I designed a RISCV core, it mostly works :)

There is for instance a Cyclone IV board on ebay with external SDRAM for like 40 €, that is a nice target for the Oberon system, it needs a SDRAM controller but that is not that difficult... too many projects...

I tried the simulator and I find it just great. The kind of fun that where home computers some time ago, no windows, no drivers, no updates every other day...

How about this:
Just like the ProjectOberon emulator, there is a Macintosh Plus core + emulator up and running on the Pipistrello/Pepino.

You have to see this Mac+ emulator...awesome. In fact, I don't remember being able to load and run an 'emulator' of any sort without lot's of setup hassles, do you? These you just download and run like any other 'application'. I haven't yet flashed this to the Pipistrello, on the 'real hardware' mainly because the emulator is just so awesome.

http://saanlima.com/store/index.php?route=module/blog/view&blog_id=9

I literally have only played around with this core and managed to find and install ThinkPascal, which to this day has the neatest debug facility I have ever seen. I even found a full TCP stack written in ThinkPascal!...which I am very tempted to hook up to my new fangled ESP8266 'transparent UART' I just managed to get running with this thing.

This is probably a fun project for one of you Mac enthusiasts out there. I will be glad to assist where I can. Of coarse, to be fair and legal, the way to go about it is to find an old MacPlus on Ebay and build an awesome supercharged Mac+.

I think the <$200 price point is a great bargain when you consider all you are getting here. You want your FPGA development system to be oversized and not undersized. You can design small projects on oversized boards but you cannot build a big project if you have an undersized FPGA.

**BEEP ALERT lower your volume**
https://youtu.be/GM59aJmsZ4g

« Last Edit: February 04, 2016, 08:35:41 pm by captbill »
 

Offline C

  • Super Contributor
  • ***
  • Posts: 1346
  • Country: us
Re: RISC-V, what do you think about ?
« Reply #112 on: February 04, 2016, 10:06:48 pm »

One thing I noticed on the very quick read of the risc-V

The section where they state it is a little endian machine and ethernet is big endian.

If you want to talk to something other then more risc-V you need to match.
If it does not match then you have to spend more instructions to make it match.

If you have a data structure then you are adding the convert to and convert from this data structure functions.
Extra programming that could be slow as it is not the normal way the CPU would access the data.

If you are building a computer that reads and writes most of it's IO via Ethernet would be a bad choice to pick a CPU where this took more time.

 

Offline edavid

  • Super Contributor
  • ***
  • Posts: 3382
  • Country: us
Re: RISC-V, what do you think about ?
« Reply #113 on: February 04, 2016, 11:51:54 pm »

One thing I noticed on the very quick read of the risc-V

The section where they state it is a little endian machine and ethernet is big endian.

If you want to talk to something other then more risc-V you need to match.
If it does not match then you have to spend more instructions to make it match.

If you have a data structure then you are adding the convert to and convert from this data structure functions.
Extra programming that could be slow as it is not the normal way the CPU would access the data.

If you are building a computer that reads and writes most of it's IO via Ethernet would be a bad choice to pick a CPU where this took more time.

Yes, this is why we don't connect our X86 and ARM based computers to Ethernet  :-//
 

Offline C

  • Super Contributor
  • ***
  • Posts: 1346
  • Country: us
Re: RISC-V, what do you think about ?
« Reply #114 on: February 05, 2016, 03:56:43 am »

One thing I noticed on the very quick read of the risc-V

The section where they state it is a little endian machine and ethernet is big endian.

If you want to talk to something other then more risc-V you need to match.
If it does not match then you have to spend more instructions to make it match.

If you have a data structure then you are adding the convert to and convert from this data structure functions.
Extra programming that could be slow as it is not the normal way the CPU would access the data.

If you are building a computer that reads and writes most of it's IO via Ethernet would be a bad choice to pick a CPU where this took more time.

Yes, this is why we don't connect our X86 and ARM based computers to Ethernet  :-//
Just wanted to quote something and respond and skip the read the whole thing part.
Slower, more problems and more software does not prevent!
Just burns up a bunch of computer time.
 

Offline helius

  • Super Contributor
  • ***
  • Posts: 3642
  • Country: us
Re: RISC-V, what do you think about ?
« Reply #115 on: February 05, 2016, 04:28:11 am »
There are many different endian conventions used in I/O devices. When comparing CPU architectures, the main difference is the byte order between big-endian (e.g. Motorola) and little-endian (e.g. Intel) architectures. With I/O, it's the order of bits that matters, which is independent of the CPU's byte order. For example, serial links such as RS-232 are LSB first, and Ethernet is MSB first. The conversion takes place in the I/O hardware, takes no time at all, and is very rarely of concern to software.
A different issue yet again are interchange formats, that are defined so that data will have a consistent format regardless of the hardware used. Most Internet protocols are defined with big-endian numbers and macros like htons() are used to maintain this ordering. Some formats like ISO9660 CDROMs or DVDs consistently store two copies of numbers, one big-endian and the other little-endian. This is an issue for all computers and there is no way to avoid it by choosing the "right" byte order in hardware. If you have a byte-swap instruction it is very fast to do the conversion though.
 

Offline westfw

  • Super Contributor
  • ***
  • Posts: 4199
  • Country: us
Re: RISC-V, what do you think about ?
« Reply #116 on: February 05, 2016, 10:05:43 am »
Quote
The section where they state it is a little endian machine and ethernet is big endian.
If you are building a computer that reads and writes most of it's IO via Ethernet would be a bad choice to pick a CPU where this took more time.
Almost all of today's processors are little endian.   Most of them have some sort of byteswap instruction, so if you do things right, you end up adding a nanosecond or so to each 20+ns memory read or write.  Hardly deadly.  A near-SOTA intel processor with the Intel bi-endian compiler, with EVERYTHING in memory byteswapped, still out-performs a near-SOTA big-endian CPU.  Been there, did the tests, shipped the product...

 

Online coppice

  • Super Contributor
  • ***
  • Posts: 8651
  • Country: gb
Re: RISC-V, what do you think about ?
« Reply #117 on: February 05, 2016, 10:15:48 am »

One thing I noticed on the very quick read of the risc-V

The section where they state it is a little endian machine and ethernet is big endian.

If you want to talk to something other then more risc-V you need to match.
If it does not match then you have to spend more instructions to make it match.

If you have a data structure then you are adding the convert to and convert from this data structure functions.
Extra programming that could be slow as it is not the normal way the CPU would access the data.

If you are building a computer that reads and writes most of it's IO via Ethernet would be a bad choice to pick a CPU where this took more time.
Most machines are little endian these days, but swapping bytes around can be done quickly on most machines. Its often just a single instruction. What really hurts performance when building or dissecting message buffers is the inability to perform misaligned reads and writes. If you have to chop up words to pack them into a transmit buffer things get really slow. On machines which support misaligned reads and writes they are usually a bit slower than aligned ones. However, its much much faster than chopping things up and manipulating them in software.
 

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: RISC-V, what do you think about ?
« Reply #118 on: February 05, 2016, 10:39:06 am »
On machines which support misaligned reads and writes they are usually a bit slower than aligned ones

MIPS can have misaligned-load/store instructions

why slower ? do you mean because it implies two sub-cycles, so the pipeline needs to be stalled twice ?
 

Offline helius

  • Super Contributor
  • ***
  • Posts: 3642
  • Country: us
Re: RISC-V, what do you think about ?
« Reply #119 on: February 05, 2016, 03:42:45 pm »
Memory is always several times slower than instructions, so all software realignment does is increase code size. If you understand what you're doing you don't define unaligned data fields in the first place.
Misaligned load/store is difficult to implement correctly across cache-line and page boundaries. In the case of MIPS, several silicon errata were caused by this (mis)feature.
 

Online coppice

  • Super Contributor
  • ***
  • Posts: 8651
  • Country: gb
Re: RISC-V, what do you think about ?
« Reply #120 on: February 05, 2016, 04:46:42 pm »
Memory is always several times slower than instructions, so all software realignment does is increase code size. If you understand what you're doing you don't define unaligned data fields in the first place.
Misaligned load/store is difficult to implement correctly across cache-line and page boundaries. In the case of MIPS, several silicon errata were caused by this (mis)feature.
When you are dealing with comms protocols you rarely get to choose whether things are aligned.
 

Offline C

  • Super Contributor
  • ***
  • Posts: 1346
  • Country: us
Re: RISC-V, what do you think about ?
« Reply #121 on: February 05, 2016, 08:51:30 pm »
Memory is always several times slower than instructions, so all software realignment does is increase code size.

Suggests that inside processor should be risc to keep small CPU while in memory should be CSC to lower memory use.


 

Offline edavid

  • Super Contributor
  • ***
  • Posts: 3382
  • Country: us
Re: RISC-V, what do you think about ?
« Reply #122 on: February 05, 2016, 09:07:47 pm »
Misaligned load/store is difficult to implement correctly across cache-line and page boundaries. In the case of MIPS, several silicon errata were caused by this (mis)feature.

That's odd, since MIPS doesn't have misaligned load/store (it uses LWL/LWR/SWL/SWR instead).
 

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: RISC-V, what do you think about ?
« Reply #123 on: February 05, 2016, 09:31:24 pm »
in MIPS, lwl/lwr and swl/swr are for accessing unaligned words in memory.
The actual specification is complicated, but what it boils down to is that

lwl RT, offset(RS)
lwr RT, (offset+3)(RS)

loads the 32-bit value starting at RS+offset, no matter what the alignment of that address is. swl/swr behave analogously.

RFE rotates the lower six bits of the status register by two to the right, so the "previous" interrupt/usermode state becomes the current state and the "old" state is copied into the "previous" state. This inverts what happens on an exception. RFE is normally found in the delay slot of a jump instruction of some kind.



 

Offline justanothercanuck

  • Frequent Contributor
  • **
  • Posts: 391
  • Country: ca
  • Doing retro repairs...
Re: RISC-V, what do you think about ?
« Reply #124 on: February 07, 2016, 11:02:20 am »
i haven't seen a RISC (besides ARM) since PA-RISC...  that horse should have stayed dead.  :-DD
Maintain your old electronics!  If you don't preserve it, it could be lost forever!
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf