What do you mean R800 is 16-bit processor? (Hardware MSX Fora)MSX Resource Center MSXdev 2008 - MSX1 development bonanza!           
            
English Nederlands Español Português Russian         
 Nieuws
   Voorpagina
  Nieuws archief
  Nieuws onderwerpen

 Informatie
   MSX Fora
  Artikelen
  Recensies
  Beursverslagen
  Fotoreportages
  Beurzen en meetings
  Enquêtes
  Links
  Zoek

 Software
   Downloads
  Webshop

 MRC
   Wie we zijn
  Kom bij ons team
  Doneren
  Policies
  Contact met het MRC
  Link naar Ons
  Statistieken

 Zoek
 
  

  

 Login
 

Gebruikersnaam

Wachtwoord




Ben je nog niet lid? Klik hier en word MSX vriend!


 Statistieken
 

Er zijn 146 gasten en 0 MSX vrienden online

Je bent een anonieme bezoeker.
 

MSX Fora


MSX Fora

Hardware - What do you mean R800 is 16-bit processor?

Ga naar pagina ( 1 | 2 | 3 Volgende pagina )
Schrijver

What do you mean R800 is 16-bit processor?

UnregisteredGeplaatst: 17 April 2003, 08:50   
Hi,
I'm not good at software or hardware but I want to ask how come R800 is 16-bit processor where LD A,5000, for example, is not allowed for it?
And is it really as fast as 28Mhz? Why can't I feel the speed?

Thanks
sjoerd
msx addict
Berichten: 442
Geplaatst: 17 April 2003, 10:16   
it's 16 bit because 'ld hl,50000' is possible. register A is just 8 bits wide. The R800 is supposed to be as fast as a 28MHz Z80. Just put your hand on it while it's running, you'll feel how fast it really is.
GuyveR800
msx guru
Berichten: 3048
Geplaatst: 17 April 2003, 22:18   
Z80 is called a 8 bit processor even though its registers can hold 16 bit. Why? Because the Z80 has 8 bit internal data pathways, it can operate on 8 bits at a time. R800 is called a 16 bit processor because its internal data pathways are 16 bit so it can operate on 16 bits at a time.

The speed of the R800 is really 7.16MHz, but due to its RISC-like design most instructions take only 1 cycle. For a Z80, this is 4 cycles. Thus, at the 7.16MHz speed it's ~8 times faster than a Z80 at 3.58MHz, which is why the marketing folks put 28.64MHz on the R800. Also, the clock crystal of a turboR is actually 28.64MHz, but it is divided by 4 to get the 7.16MHz.

Calling it 28.64MHz is a bit too much, because in real-world situations, the actual speed of a R800 is closer to 6 times the speed of the Z80. Still 3 times faster than a 7.16MHz Z80!

About the 'feel' of speed; I've always felt my turboR is comparable to a 40MHz 486 PC.
sjoerd
msx addict
Berichten: 442
Geplaatst: 18 April 2003, 00:10   
The R800 is just 8 bits ofcourse 8)

If it would have been 16 bit, it would have been more like a Z380. (which is 16 bit).
GuyveR800
msx guru
Berichten: 3048
Geplaatst: 18 April 2003, 00:48   
Z80 is 8 bit: 16 bit registers, 8 bit ALU, 16 bit addressing space, 8 bit external databus
R800 is 16 bit: 16 bit registers, 16 bit ALU, 16 bit addressing space, 8 bit external databus
Z380 is 32 bit: 32 bit registers, 32 bit ALU, 32 bit addressing space, 16 bit external databus

The 'bitness' of a CPU's has been under discussion for eons. Some people take the external databus size, some people take the register size, some people take the internal databus size, some people take the ALU size, and others take an imaginary number. (Like those calling a Neogeo 24 bit because it has a 68000 (16 bit) and Z80 (8 bit).)

FYI, R800 is faster than Z380. The R800 just doesn't have the extended registers and extra opcodes the Z380 has, that doesn't say anything about bitsize. Furthermore, Z380 is very much a CISC processor, while R800's design is mainly RISC based.
sjoerd
msx addict
Berichten: 442
Geplaatst: 19 April 2003, 06:02   
The z30 is faster than a r800. the extra opcodes and extra registers make a huge difference. And I don't see why a r800 would be more risc-like than a z380. Remember risc just means reduced instruction set computer or whatever.
I would not say a turbo r is 16 bit because it has a z80 (=8 bit) and a r800 (=8 bit).

And FYI: I don't care about bitsize. A Z380 is faster than a R800. The R800 is CISC. Can you tell me what you think risc means?

The R800 is Risc-based. A Intel Pentium is Risc-based. Sure. Have fun.
snout

msx legend
Berichten: 4991
Geplaatst: 19 April 2003, 09:48   
Well, I'm not sure about you, but I know that GuyveR has experience in both Z380 and R800 optimized ASM coding.

It is a fact that the R800 is - relatively spoken - a lot faster than the 7.16MHz it runs. Whether the methods it uses to accomplish this are RISC (hence the R in R800?) or not, I don't know. As GuyveR said, the R800 has 16 bit registers, 16 bit ALU, 16 bit addressing space, 8 bit external databus. No reason not to call it 16bit

The Z380 offers interesting opcodes and high speed, but - so I heard - some opcodes don't work the way you'd expect or want them to. On MSX, the good old Z80 still takes charge for several tasks, which is also quite a slowdown.

Just because a processor wipes the floor with other models on paper doesn't mean it does that in real life. I guess
UnregisteredGeplaatst: 19 April 2003, 11:10   
I think what makes a processor 8, 16 or 32 bit processor is the data bus. Z80 has 8 data bus, so it is 8-bit processor, whereas Motorolla 68000 has 16 data bus, therefore it is 16-bit processor. R3000 of Playstation has 32 data bus so it's 32-bit processor.
So, I think R800 is only 8-bit processor since it only has 8 data bus.


GuyveR800
msx guru
Berichten: 3048
Geplaatst: 19 April 2003, 11:39   
Sjoerd, you contradict my statements with claims that have no reasoning behind them.

RISC is not so much a technology than it is a design strategy that went against the norms of CPU design at that time (early 80's). CISC was invented retroactively to describe anything non-RISC.

To make it simple: The time per program equals the number of instructions in the program times the number of cycles per instruction times the time per cycle. Or: Tp/P = I/P x C/I x Ti/C
RISC optimizes the 2nd term, cycles per instruction. CISC optimizes the 1st term, instructions per program. The 3rd term, time per cycle, is affected by the clockrate.

You should be able to deduce from this (and ofcourse all other evidence), R800 is RISC-based while Z80 and Z380 are CISC. BTW, there have been several other RISC-based Z80 implementations, R800 is not unique in that respect.

Sure, at 18MHz a Z380 is faster than a 7MHz R800. But clock-for-clock the R800 beats the hell out of Z380! Only in some specially Z380 optimized programs with multiplies and/or divides will it be faster.
In the time it takes a Z380 to do LD HL,DE the R800 can execute LD L,E and LD H,D so there. Want to load A with L'? The R800 can do that almost 3 times faster!

Really, I love Z380. Linear memory, lots and lots of registers, yeah, this baby rules. But @ 14MHz (standard speed in LPE-Z380, for 18MHz you need a really fast SIMM), it runs comparable to a R800 at 8-bit intensive applications. 32 bits addressing space does add some complexity to a program...

One has to realize however, R800 can only run this fast in internal memory. Sure, Z380 can probably only run this fast in internal memory too, but with 16MB's of that, who can complain?
Z380 opens up a whole new world for MSX, that's for sure... Even if for 8-bit applications the speed is 'only' comparable to a R800, when is the last time you plugged a R800-cartridge in your MSX1 or 2?
k0ga
msx user
Berichten: 51
Geplaatst: 20 April 2003, 21:49   
Quote:

I think what makes a processor 8, 16 or 32 bit processor is the data bus. Z80 has 8 data bus, so it is 8-bit processor, whereas Motorolla 68000 has 16 data bus, therefore it is 16-bit processor. R3000 of Playstation has 32 data bus so it's 32-bit processor.
So, I think R800 is only 8-bit processor since it only has 8 data bus.





Then 8088 is a 8 bit processor to ...

On all sites I have read that 8088 is a 16 bit processor, and PC was considered 16 bit computer, althought his processor had 8 bit data bus ...
sjoerd
msx addict
Berichten: 442
Geplaatst: 21 April 2003, 13:46   
Quote:

Well, I'm not sure about you, but I know that GuyveR has experience in both Z380 and R800 optimized ASM coding.



Then he should know I'm right
I only have experience with Z80. I did some 80x86 coding, and some ARM (should come in handy when the newMSX arrives ) And very little Sparc-stuff.

Quote:

It is a fact that the R800 is - relatively spoken - a lot faster than the 7.16MHz it runs. Whether the methods it uses to accomplish this are RISC (hence the R in R800?) or not, I don't know. As GuyveR said, the R800 has 16 bit registers, 16 bit ALU, 16 bit addressing space, 8 bit external databus. No reason not to call it 16bit



A cpu is as fast as it is. You can't compare cpu's by just looking at the clockspeed. The reason I call it a 8 bit processor is that most ALU instructions work on 8 bit. Only some adressing calculations are 16 bit.

Quote:

The Z380 offers interesting opcodes and high speed, but - so I heard - some opcodes don't work the way you'd expect or want them to. On MSX, the good old Z80 still takes charge for several tasks, which is also quite a slowdown.



You should not expect te instructions to be 32 bit. The Z380 is 16 bit because the ALU instructions are at most 16 bit, with te exception of some adresscalculate instructions which are 32 bit. And the fact that on MSX a lot is still done by the Z80 should just speed things up, I guess.

Quote:

Just because a processor wipes the floor with other models on paper doesn't mean it does that in real life. I guess



Of course.
sjoerd
msx addict
Berichten: 442
Geplaatst: 21 April 2003, 14:22   
Quote:

Sjoerd, you contradict my statements with claims that have no reasoning behind them.


Hehe. I might have been drunk a the time.

Quote:

RISC is not so much a technology than it is a design strategy that went against the norms of CPU design at that time (early 80's). CISC was invented retroactively to describe anything non-RISC.


OK. But RISC and CISC are terms of the past. Nowadays the good things of both are combined. RISC is used more and more as marketing term to describe something fast.

Quote:

To make it simple: The time per program equals the number of instructions in the program times the number of cycles per instruction times the time per cycle. Or: Tp/P = I/P x C/I x Ti/C
RISC optimizes the 2nd term, cycles per instruction. CISC optimizes the 1st term, instructions per program. The 3rd term, time per cycle, is affected by the clockrate.


Easy

Quote:

You should be able to deduce from this (and ofcourse all other evidence), R800 is RISC-based while Z80 and Z380 are CISC. BTW, there have been several other RISC-based Z80 implementations, R800 is not unique in that respect.


Still, I think a design is risc when it:
- has no microcode
- starts at least one instruction every cycle
- has lost of general purpose registers, no accumulator, no stackregister
- is a load-store architecture
and so on.

Having a pipeline to overlap fetching, decoding and executing instructions is not enough to call a design RISC imho.

Quote:

Sure, at 18MHz a Z380 is faster than a 7MHz R800. But clock-for-clock the R800 beats the hell out of Z380! Only in some specially Z380 optimized programs with multiplies and/or divides will it be faster.
In the time it takes a Z380 to do LD HL,DE the R800 can execute LD L,E and LD H,D so there. Want to load A with L'? The R800 can do that almost 3 times faster!


Of course the program should be optimized for z380. It is bs to use only 8 bit instructions on z380. Come on, a Power4 using only 8 bits won't be much faster either.

Quote:

Really, I love Z380. Linear memory, lots and lots of registers, yeah, this baby rules. But @ 14MHz (standard speed in LPE-Z380, for 18MHz you need a really fast SIMM), it runs comparable to a R800 at 8-bit intensive applications. 32 bits addressing space does add some complexity to a program...


The z380 should be used for 16 bit intensive applications, it will beat a r800 easily.

Quote:

One has to realize however, R800 can only run this fast in internal memory. Sure, Z380 can probably only run this fast in internal memory too, but with 16MB's of that, who can complain?


Guess everyone with a PC will complain

Quote:

Z380 opens up a whole new world for MSX, that's for sure... Even if for 8-bit applications the speed is 'only' comparable to a R800, when is the last time you plugged a R800-cartridge in your MSX1 or 2?


Just two days ago 8)
And: Z380 == 16 bit => use it for 16 bit applications.
GuyveR800
msx guru
Berichten: 3048
Geplaatst: 21 April 2003, 15:29   
Quote:

Hehe. I might have been drunk a the time.

You sound drunk now too ^^;
Quote:

OK. But RISC and CISC are terms of the past. Nowadays the good things of both are combined. RISC is used more and more as marketing term to describe something fast.

That's all well and good, but the processors we're talking about here are respectively 9, 13 and 26 years old! Besides, if you think 'RISC' is just a marketing term then you are sadly mistaken.

Quote:

Still, I think a design is risc when it:
- has no microcode
- starts at least one instruction every cycle
- has lost of general purpose registers, no accumulator, no stackregister
- is a load-store architecture
and so on.

Starting an instruction every cycle is something an ARM can't even do! Are you calling that non-RISC? R800 satisfies most (if not all) of those points.

Quote:

Having a pipeline to overlap fetching, decoding and executing instructions is not enough to call a design RISC imho.

I never said it was.

Quote:

>> In the time it takes a Z380 to do LD HL,DE the R800 can execute LD L,E and LD H,D so there. Want to load A with L'? The R800 can do that almost 3 times faster! <<

Of course the program should be optimized for z380. It is bs to use only 8 bit instructions on z380. Come on, a Power4 using only 8 bits won't be much faster either.


I compared an optimized 16 bit against the 8 bit equivalent running on R800, stating the R800 executes those 8 bit instructions in the same amount clock cycles as the Z380 does its 16 bit. So I don't see your point here.

Stating all Z380 must be written in 100% 16 bit is strange, some problems are 8 bit in essence, creating a 16 bit solution does not make it any faster.

Quote:

>>Z380 opens up a whole new world for MSX, that's for sure... Even if for 8-bit applications the speed is 'only' comparable to a R800, when is the last time you plugged a R800-cartridge in your MSX1 or 2? <<
Just two days ago 8)
And: Z380 == 16 bit => use it for 16 bit applications.


Again your statements make no sense.
GuyveR800
msx guru
Berichten: 3048
Geplaatst: 21 April 2003, 15:58   
Quote:

Then he should know I'm right
I only have experience with Z80. I did some 80x86 coding, and some ARM (should come in handy when the newMSX arrives ) And very little Sparc-stuff.


So basically you have no experience on Z380 or R800, then how can you compare those two and make any valid claims?
My experiences are mainly with Z80, R800, Z380, 80x86, ARM. Furthermore I have studied several other RISC architectures, RISC and non-RISC Z80 implementations, 32-bit Z80 derivatives (like Toshiba's TLCS-900), 6502-family, 68000, and the inner workings of Post-RISC x86 (Pentium III/IV, Athlon) and ARM processors.

Quote:

A cpu is as fast as it is. You can't compare cpu's by just looking at the clockspeed. The reason I call it a 8 bit processor is that most ALU instructions work on 8 bit. Only some adressing calculations are 16 bit.

Snout wasn't talking about clockspeed.
The ALU of a Z80 is 8-bit, the ALU of a R800 is 16-bit. The instructionset it provides has nothing to do with that.

Quote:

You should not expect te instructions to be 32 bit. The Z380 is 16 bit because the ALU instructions are at most 16 bit, with te exception of some adresscalculate instructions which are 32 bit.


'Some adresscalculate' instructions? I'm sorry, but that 'some' are about all of Z80's 16-bit instructions that have been expanded to 32-bit. And again, it's a technical fact the Z380 ALU is 32 bit, regardless of the amount of 32 bit instructions available.

Quote:

And the fact that on MSX a lot is still done by the Z80 should just speed things up, I guess.

Again you are talking about something you apparently don't know anything about. The LPE-Z380 'off-loads' all I/O to the Z80 because the Z380 has no direct access to the internal MSX devices (VDP, PSG, etc). This is definitely not to speed things up, in fact it is often slower.

Your statements seem to be based on a 'feeling' rather than technical facts. Therefor I will not discuss this any further with you.
sjoerd
msx addict
Berichten: 442
Geplaatst: 21 April 2003, 16:20   
Could be that I still sound drunk now. But I am not. Heheh. Really. The fact that the processors we are talking about here are old, older and very old does not mean RISC and CISC are not terms of the past. As you said, CISC was invented to describe every cpu that was different from mips and sparc-like cpu's. When I hear someone saying a Pentium is RISC-based, that is marketing, or not?

Quote:

>>Still, I think a design is risc when it:
- blablabla <<
Starting an instruction every cycle is something an ARM can't even do! Are you calling that non-RISC? R800 satisfies most (if not all) of those points.


Starting (or better: finishing) at least one instruction per cycle was THE aim of RISC when the term was introduced: making instructions simple enough to execute in one cycle. (so: Reduced Instruction Set Computer, all instructions that take longer to finish were removed). But that is as far as I know, of course. RISC is used to describe other things than it did in the past.

Quote:

>>Having a pipeline to overlap fetching, decoding and executing instructions is not enough to call a design RISC imho.<<
I never said it was.


You did say a R800 is Risc What other RISC-like features does the R800 have? The ISA doesn't look very Risc to me, for instance.

Quote:

I compared an optimized 16 bit against the 8 bit equivalent running on R800, stating the R800 executes those 8 bit instructions in the same amount clock cycles as the Z380 does its 16 bit. So I don't see your point here.
Stating all Z380 must be written in 100% 16 bit is strange, some problems are 8 bit in essence, creating a 16 bit solution does not make it any faster.


The use of 16 bit loops is faster on z380, loading and storing 16 bit values in memory is faster, logical operations are faster on z380. Some problems are 16 bit in essence, creating a 8 bit solution does not make it any faster. The use of more registers makes z380 optimized code faster because you'll have to use the memory a lot less. (Okay, I know: There are no algorithms that need more than 8 registers).
And XORW HL,DE looks faster than LD A,H/ XOR D/ LD H,A/ LD A,L/ XOR E/ LD L,A, to me.

Quote:

Again your statements make no sense.


That does not mean I am not right, am I right?

The point here was: R800 == 8 bit. Not: R800 is not RISC. (But it is not, of course).
But I really would like to know: What makes the R800 risc-based? Why is the z380 more cisc-based?
 
Ga naar pagina ( 1 | 2 | 3 Volgende pagina )
 







(c) 1994 - 2008 Stichting MSX Resource Center. MSX is een trademark van MSX Licensing Corporation.