Author Topic: 8-bit uC - is there even a point?  (Read 58198 times)

0 Members and 1 Guest are viewing this topic.

Offline technix

  • Super Contributor
  • ***
  • Posts: 3507
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: 8-bit uC - is there even a point?
« Reply #325 on: October 08, 2018, 01:58:46 pm »
There's another argument that it should be the size of the data bus but there's quite a few chips that had a half-size data bus to make the system cheaper to build.

eg. Intel 8088, Motorola 68008.

Those chips need to do two separate reads for every 16-bit memory access that the "full-width" versions do.

Both those chips are classed as 16-bit so that's not it, either.
And Intel 80386SX too, a full 32-bit processor choked to a 16-bit data bus and 24-bit address bus.

(Somehow I have the feeling that 80386SX can make a better 32-bit retrocomputing processor than MC68SEC000 since that chip has internal MMU, easier to find compiler and existing OS. 80386SL even more since that is a 80386SX based SoC. 80386SL + SeaBIOS + TianoCore + Linux 2.6 = win?)
 

Offline Fungus

  • Super Contributor
  • ***
  • Posts: 16647
  • Country: 00
Re: 8-bit uC - is there even a point?
« Reply #326 on: October 08, 2018, 02:36:54 pm »
(Somehow I have the feeling that 80386SX can make a better 32-bit retrocomputing processor than MC68SEC000 since that chip has internal MMU, easier to find compiler and existing OS. 80386SL even more since that is a 80386SX based SoC. 80386SL + SeaBIOS + TianoCore + Linux 2.6 = win?)

Maybe you want this: https://en.wikipedia.org/wiki/Intel_80386EX

 

Offline glarsson

  • Frequent Contributor
  • **
  • Posts: 814
  • Country: se
Re: 8-bit uC - is there even a point?
« Reply #327 on: October 08, 2018, 02:42:29 pm »
To me it's about the ALU and data processing, not the width of the address bus.
Don't forget the Z80. I don't think anyone will argue that is something other than an 8-bit microprocessor, but its ALU is only 4 bits wide.
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14466
  • Country: fr
Re: 8-bit uC - is there even a point?
« Reply #328 on: October 08, 2018, 02:43:19 pm »
N-bit processors are usually called that based on their internal data bus width, but for marketing reasons and architectural choices, some manufacturers have played with the concept a little.
The 68k for instance was indeed a mix of 16-bit and 32-bit internally, independantly of the external data bus which was also 16-bit. The details of this "mix" (what was 16-bit and what was 32-bit) were a decision of Motorola and not based on any kind of standard AFAIK, so obviously there's no formal definition. The 68008 had an 8-bit external data bus but was still the same 16-bit/32-bit mix inside. It was sometimes called 8/16/32-bit. :D
 

Offline Fungus

  • Super Contributor
  • ***
  • Posts: 16647
  • Country: 00
Re: 8-bit uC - is there even a point?
« Reply #329 on: October 08, 2018, 02:57:57 pm »
The 68k for instance was indeed a mix of 16-bit and 32-bit internally

The "ST" of Atari ST stands for "Sixteen Thirty-two".

(officially)


 

Offline Fungus

  • Super Contributor
  • ***
  • Posts: 16647
  • Country: 00
Re: 8-bit uC - is there even a point?
« Reply #330 on: October 08, 2018, 03:00:23 pm »
To me it's about the ALU and data processing, not the width of the address bus.
Don't forget the Z80. I don't think anyone will argue that is something other than an 8-bit microprocessor, but its ALU is only 4 bits wide.

Viewed as a black box: The Z80 ALU has 8 wires leading into it and 8 wires leading out.
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14466
  • Country: fr
Re: 8-bit uC - is there even a point?
« Reply #331 on: October 08, 2018, 03:37:23 pm »
To me it's about the ALU and data processing, not the width of the address bus.
Don't forget the Z80. I don't think anyone will argue that is something other than an 8-bit microprocessor, but its ALU is only 4 bits wide.

Viewed as a black box: The Z80 ALU has 8 wires leading into it and 8 wires leading out.

Yeah, and it had a couple 16-bit registers.
Now was it a 4/8/16-bit CPU?  ;D
 

Offline Fungus

  • Super Contributor
  • ***
  • Posts: 16647
  • Country: 00
Re: 8-bit uC - is there even a point?
« Reply #332 on: October 08, 2018, 04:33:17 pm »
Yeah, and it had a couple 16-bit registers.
Now was it a 4/8/16-bit CPU?  ;D

Wikipedia lists it as 8-bit: https://en.wikipedia.org/wiki/8-bit

Can't argue with that.  :popcorn:
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: 8-bit uC - is there even a point?
« Reply #333 on: October 08, 2018, 04:56:47 pm »
oh, Arise-v2 (my softcore) comes with 32 registers of 32bit each, plus four coprocessors, and one of these (the Cordic UNIT) cops is 24bit, but the DSP engine is 60bit, and the TLB is 64bit address space(1), and the external bus there are only 24 bit(2), hence ...

... is it  23bit? 32bit? 60bit? 64bit? does it have an identity crisis and need a psychotherapy to sort it out?  :-DD


(1) cause I wanted to research an idea I had to implement a sort of malloc in hardware
(2) cause it only needs to handle ~16Mbyte of DRAM, and 8Mbyte of static NVRAM
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14466
  • Country: fr
Re: 8-bit uC - is there even a point?
« Reply #334 on: October 08, 2018, 05:04:31 pm »
oh, Arise-v2 (my softcore) comes with 32 registers of 32bit each, plus four coprocessors, and one of these (the Cordic UNIT) cops is 24bit, but the DSP engine is 60bit, and the TLB is 64bit address space(1), and the external bus there are only 24 bit(2), hence ...

... is it  23bit? 32bit? 60bit? 64bit? does it have an identity crisis and need a psychotherapy to sort it out?  :-DD

 :-DD

To make matters worse, what is now often perceived as "32-bit" or "64-bit" in the popular language has more to do with the addressing width than the data bus width.
 

Offline glarsson

  • Frequent Contributor
  • **
  • Posts: 814
  • Country: se
Re: 8-bit uC - is there even a point?
« Reply #335 on: October 08, 2018, 05:10:19 pm »
Viewed as a black box: The Z80 ALU has 8 wires leading into it and 8 wires leading out.
The published block diagrams of the Z80 are simplified. Where are the muxes needed to swap DE and HL quickly? 8 bit access to the low and upper halves of IX and IY?

Here is an article describing the Z80 ALU:

http://www.righto.com/2013/09/the-z-80-has-4-bit-alu-heres-how-it.html
 

Offline coppercone2

  • Super Contributor
  • ***
  • Posts: 9446
  • Country: us
  • $
Re: 8-bit uC - is there even a point?
« Reply #336 on: October 08, 2018, 05:11:05 pm »
its probably more reliable and easier to categorize from HF interference ETC then larger bit ones

It's probably a good idea to use the most simple slowest processor possible for a job, so long you know how to code it.

If you are doing direct sampling on some slow ADC just to get telemetry there is no point in using a complex processor. More transistors to break down. Weirder failure modes can develop.
« Last Edit: October 08, 2018, 05:13:37 pm by coppercone2 »
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 3507
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: 8-bit uC - is there even a point?
« Reply #337 on: October 08, 2018, 05:38:13 pm »
(Somehow I have the feeling that 80386SX can make a better 32-bit retrocomputing processor than MC68SEC000 since that chip has internal MMU, easier to find compiler and existing OS. 80386SL even more since that is a 80386SX based SoC. 80386SL + SeaBIOS + TianoCore + Linux 2.6 = win?)

Maybe you want this: https://en.wikipedia.org/wiki/Intel_80386EX
I can actually tie a 80387SX to this too if I need FPU, and the 64MB RAM address space does allow for some curiosities. (Still for a i386 retrocomputer I would much prefer a Am486DX4-100 on a 50MHz bus tied to a XC6SLX16, which allows me full 4GB address space and the use of 1GB of DDR3 SDRAM.)

oh, Arise-v2 (my softcore) comes with 32 registers of 32bit each, plus four coprocessors, and one of these (the Cordic UNIT) cops is 24bit, but the DSP engine is 60bit, and the TLB is 64bit address space(1), and the external bus there are only 24 bit(2), hence ...

... is it  23bit? 32bit? 60bit? 64bit? does it have an identity crisis and need a psychotherapy to sort it out?  :-DD

 :-DD

To make matters worse, what is now often perceived as "32-bit" or "64-bit" in the popular language has more to do with the addressing width than the data bus width.

In most current computers data registers and address registers has the same length. As of bus width... even today most amd64 processors doesn't implement full 64-bit address space, while back in P5 days x86 is already in 64-bit external data bus. While AArch64 does have full 64-bit AXI interface, my search for aarch4 chips has led me to a few too many Cortex-A53 choked to a 32-bit AXI and ended up capped at 3GB RAM.
 

Offline Fungus

  • Super Contributor
  • ***
  • Posts: 16647
  • Country: 00
Re: 8-bit uC - is there even a point?
« Reply #338 on: October 08, 2018, 06:23:32 pm »
for a i386 retrocomputer I would much prefer a Am486DX4-100 on a 50MHz bus tied to a XC6SLX16, which allows me full 4GB address space and the use of 1GB of DDR3 SDRAM.

Is that much RAM legal in a 'retro'computer?
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14466
  • Country: fr
Re: 8-bit uC - is there even a point?
« Reply #339 on: October 08, 2018, 06:47:54 pm »
In most current computers data registers and address registers has the same length. As of bus width... even today most amd64 processors doesn't implement full 64-bit address space, while back in P5 days x86 is already in 64-bit external data bus. While AArch64 does have full 64-bit AXI interface, my search for aarch4 chips has led me to a few too many Cortex-A53 choked to a 32-bit AXI and ended up capped at 3GB RAM.

If we only consider registers, that's yet another story. ;D
Intel processors have had 128-bit and even 256-bit data registers for a long time now. Even though those registers can't be used with quite all the same operations than the 64-bit ones, you can still do a great deal. In just one clock cycle. So are Intel processors 256-bit? :-DD
« Last Edit: October 08, 2018, 07:00:21 pm by SiliconWizard »
 

Offline coppice

  • Super Contributor
  • ***
  • Posts: 8642
  • Country: gb
Re: 8-bit uC - is there even a point?
« Reply #340 on: October 08, 2018, 07:35:38 pm »
In most current computers data registers and address registers has the same length. As of bus width... even today most amd64 processors doesn't implement full 64-bit address space, while back in P5 days x86 is already in 64-bit external data bus. While AArch64 does have full 64-bit AXI interface, my search for aarch4 chips has led me to a few too many Cortex-A53 choked to a 32-bit AXI and ended up capped at 3GB RAM.

If we only consider registers, that's yet another story. ;D
Intel processors have had 128-bit and even 256-bit data registers for a long time now. Even though those registers can't be used with quite all the same operations than the 64-bit ones, you can still do a great deal. In just one clock cycle. So are Intel processors 256-bit? :-DD
If you are measuring only the longest register visible to a programmer, there were 16384 bit processors in the 70s.
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 3507
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: 8-bit uC - is there even a point?
« Reply #341 on: October 08, 2018, 09:19:01 pm »
In most current computers data registers and address registers has the same length. As of bus width... even today most amd64 processors doesn't implement full 64-bit address space, while back in P5 days x86 is already in 64-bit external data bus. While AArch64 does have full 64-bit AXI interface, my search for aarch4 chips has led me to a few too many Cortex-A53 choked to a 32-bit AXI and ended up capped at 3GB RAM.

If we only consider registers, that's yet another story. ;D
Intel processors have had 128-bit and even 256-bit data registers for a long time now. Even though those registers can't be used with quite all the same operations than the 64-bit ones, you can still do a great deal. In just one clock cycle. So are Intel processors 256-bit? :-DD
Well we are talking integer registers. FPU is a whole another beast usually and they are usually excluded.
 

Offline Fungus

  • Super Contributor
  • ***
  • Posts: 16647
  • Country: 00
Re: 8-bit uC - is there even a point?
« Reply #342 on: October 08, 2018, 09:22:09 pm »
If you are measuring only the longest register visible to a programmer, there were 16384 bit processors in the 70s.

A Turing machine is infinite bits.  :-+

 

Offline technix

  • Super Contributor
  • ***
  • Posts: 3507
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: 8-bit uC - is there even a point?
« Reply #343 on: October 08, 2018, 09:33:37 pm »
Is that much RAM legal in a 'retro'computer?
Using the internal DRAM controller of XC6SLX16-2CSG256C I can implement a DDR3 memory controller with a 32-bit interface. Now connect that to two 256M x16 DDR3 chips and there goes the 1GB RAM.

Since I am reimplementing the entire motherboard chipset using an FPGA, there is little limitation on what I can do.

p.s. It would be a curiosity if the Am486DX4-100 is hooked to a Zynq instead of a Spartan 6. The 486 can be given the same cached memory, system bus and peripheral access as the ARM cores as if it is a multiprocessor system, but the cores uses drastically different instruction sets and architecture.
 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4034
  • Country: nz
Re: 8-bit uC - is there even a point?
« Reply #344 on: October 09, 2018, 12:33:27 am »
This whole thread started with the observation that by modern definitions as N-bit ISA is one which has N-bit pointers and the only exception to this is that the so-called 8 bit processors actually had 16 bit pointers.

That wouldn't be my definition at all. To me it's about the ALU and data processing, not the width of the address bus.

Having less wires going into the ALU directly affects processing power and speed of execution, having more or less address lines makes no difference at all.

So by your argument the IBM 360 Models 30, 40, 50, 60, 62, and 70 which were announced on the same day in 1964 are completely different 8, 16, and 32 bit computers, despite the fact they all run exactly the same programs? Indeed, the higher-end ones have 64 bit data busses to memory.

Having more or fewer bits in address registers directly affects what programs you can run.

Having different widths of ALU only affects the speed at which programs run, a comparatively trivial matter which can be compensated for (or exaggerated) by varying the clock speed.

Quote
the only exception to this is that the so-called 8 bit processors actually had 16 bit pointers.

Not true. The 8086/80286 had 16-bit registers, 16-bit ALU and 20-bit pointers (22-bit pointers on the 80286 IIRC).

Plus: Many, many 32 and 64 bit processors don't have the same number of address lines as bits in the address registers. eg. Are the Motorola 68000 and Intel 80386 24-bit processors? I don't think you'll find many people arguing that case.

The 8086/286 have 16 bit pointer registers. The total address space is 20 bits because of a segmentation scheme. Such schemes were used at least as far back as the PDP11, which let you put a lot of RAM (megabytes) in a computer but gave each program (convenient) access to 64 KB of it at a time. It is still a 16 bit machine.

The number of address lines coming out of the chip is irrelevant. It can be smaller than the size of a pointer (e.g. all x86_64 machines so far) or larger than the size of a pointer (e.g. 8086, bigger PDP-11).

The relevant thing is the address space a program can conveniently use. That determines the size of problem a program can solve without doing gymnastics.

 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4034
  • Country: nz
Re: 8-bit uC - is there even a point?
« Reply #345 on: October 09, 2018, 12:41:55 am »
oh, Arise-v2 (my softcore) comes with 32 registers of 32bit each, plus four coprocessors, and one of these (the Cordic UNIT) cops is 24bit, but the DSP engine is 60bit, and the TLB is 64bit address space(1), and the external bus there are only 24 bit(2), hence ...

... is it  23bit? 32bit? 60bit? 64bit? does it have an identity crisis and need a psychotherapy to sort it out?  :-DD

 :-DD

To make matters worse, what is now often perceived as "32-bit" or "64-bit" in the popular language has more to do with the addressing width than the data bus width.

Forget popular language ... address register length is how computer architects classify them.

All computers that can run the same binary programs are the same bit-ness. 68008, 68000, 68040 can all run the same program (if you avoid 68040-specific instructions). They are all the same bit-ness, and that is 32 regardless of the width of the ALU or how many pins are brought out on the address or data busses.

Bit-ness is a characteristic of the Instruction Set, not of its implementation.
 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4034
  • Country: nz
Re: 8-bit uC - is there even a point?
« Reply #346 on: October 09, 2018, 12:43:37 am »
In most current computers data registers and address registers has the same length. As of bus width... even today most amd64 processors doesn't implement full 64-bit address space, while back in P5 days x86 is already in 64-bit external data bus. While AArch64 does have full 64-bit AXI interface, my search for aarch4 chips has led me to a few too many Cortex-A53 choked to a 32-bit AXI and ended up capped at 3GB RAM.

If we only consider registers, that's yet another story. ;D
Intel processors have had 128-bit and even 256-bit data registers for a long time now. Even though those registers can't be used with quite all the same operations than the 64-bit ones, you can still do a great deal. In just one clock cycle. So are Intel processors 256-bit? :-DD

Exactly right. That would be ridiculous.

They are 64 bit, the size of pointers in registers.
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3146
  • Country: ca
Re: 8-bit uC - is there even a point?
« Reply #347 on: October 09, 2018, 01:22:05 am »
Intel processors have had 128-bit and even 256-bit data registers for a long time now. Even though those registers can't be used with quite all the same operations than the 64-bit ones, you can still do a great deal. In just one clock cycle. So are Intel processors 256-bit? :-DD

The SIMD registers are not really registers, but a combination of smaller largely independent registers. Even though they have 512-bit SIMD registers now, the longest addition or multiplication you can perform is still only 64-bit. And that's what determines the "bitness" of the CPU.
 

Offline Fungus

  • Super Contributor
  • ***
  • Posts: 16647
  • Country: 00
Re: 8-bit uC - is there even a point?
« Reply #348 on: October 09, 2018, 08:42:09 am »
The 8086/286 have 16 bit pointer registers. The total address space is 20 bits because of a segmentation scheme. Such schemes were used at least as far back as the PDP11, which let you put a lot of RAM (megabytes) in a computer but gave each program (convenient) access to 64 KB of it at a time. It is still a 16 bit machine.

Is this the same person who just argued that combining two 8-bit registers (H and L) into a single pointer made the Z80 a 16 bit device?

 

Offline Fungus

  • Super Contributor
  • ***
  • Posts: 16647
  • Country: 00
Re: 8-bit uC - is there even a point?
« Reply #349 on: October 09, 2018, 08:47:56 am »
The relevant thing is the address space a program can conveniently use.

Most of the world would disagree with you, including the people who manufacture the chips.
« Last Edit: October 09, 2018, 08:50:48 am by Fungus »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf