Click here to Skip to main content
15,881,248 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: From my crossassembler's manual Pin
trønderen5-Dec-20 12:58
trønderen5-Dec-20 12:58 
GeneralRe: From my crossassembler's manual Pin
CodeWraith5-Dec-20 14:47
CodeWraith5-Dec-20 14:47 
GeneralRe: From my crossassembler's manual Pin
OriginalGriff5-Dec-20 9:58
mveOriginalGriff5-Dec-20 9:58 
GeneralRe: From my crossassembler's manual Pin
CodeWraith5-Dec-20 10:52
CodeWraith5-Dec-20 10:52 
GeneralRe: From my crossassembler's manual Pin
harold aptroot5-Dec-20 12:10
harold aptroot5-Dec-20 12:10 
GeneralRe: From my crossassembler's manual Pin
CodeWraith5-Dec-20 12:32
CodeWraith5-Dec-20 12:32 
GeneralRe: From my crossassembler's manual Pin
trønderen5-Dec-20 12:44
trønderen5-Dec-20 12:44 
GeneralRe: From my crossassembler's manual Pin
CodeWraith5-Dec-20 14:09
CodeWraith5-Dec-20 14:09 
Quote:
Actually, chips like the 6800, and later 68K, satisfied most RISC criteria.
I never used the 6800, but spent a lot of time with the 68000. It very much followed the beaten CISC path, but at least had arrays of data and address registers that you can freely use in these roles.

The only 8 bit processor that I can think of that was really a RISC processor was the old CDP1802. An 8 bit RISC processor is an unlikely thing, since you are stuck with 256 opcodes. They had to shoehorn in a few instructions at the expense of other practical but not essential instructions. Also branching instructions that had a full 16 bit address were a problem because they did not fit into the neat fetch/execute schema. But look at the programming model! Very few dedicated registers, not even a program counter or a stack pointer, but 16 16 bit registers that you can use as you wish. That little processor was a RISC processor before it was officially invented.

- No microcode? Check.
- Single cycle execution? Well, two cycles is the best you can do without pipelines. Check, except for the already mentioned 'long branch' instructions with three cycles.
- A large number of general registers? Check, but they did not go far enough for my taste. It would have been glorious if they had pulled of the same trick for the accumulator as they did for the program counter or the stack pointer.
- A regular instruction set where a given bit(group) serve the same function in all instructions? Check, except for the shoehorned instructions.
- No complex operand address formats? Check! To access memory, you had to load the address into any one of the working registers and use it as a memory pointer. How you got your address was your business.

Fits the description very well so far. Have a look: CDP1802 handbook[^]

Quote:
but the x86 architecture is such a mess that I never understood how it could survive
I think that's mostly because it was Intel that defined many people's first impression what a microprocessor is supposed to be like. Let's begin with the 8080, put the very popular Z80 (which was an improved 8080 bootleg) and then look at the 8086. These processors were the standard, all others were seen as imitations. Not that Intel would ever try to keep that way of thinking alive.

Quote:
No wonder it takes a billion transistors to do it. (The 68000 was said to have about that many transistors.
It's not that bad. If you can believe Wikipedia, then these numbers are more correct:

CDP1802: 5000 transistors. That's a little misleading, because it's a CMOS processors where the MOSFETs always come in pairs.

Intel 8080: 6000 transistors.

68000: 68000 transistors (!).

Intel 8086: 29000 transistors

Intel 80286: 134000 transistors

Intel 80386: 275000 transistors

Intel 80486: 1180235 transistors

Pentium: 3100000 transistors

You have to go up to the later multicore processors to hit 1 billion or more transistors.
I have lived with several Zen masters - all of them were cats.

His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.

GeneralRe: From my crossassembler's manual Pin
trønderen5-Dec-20 16:54
trønderen5-Dec-20 16:54 
GeneralRe: From my crossassembler's manual Pin
CodeWraith5-Dec-20 23:49
CodeWraith5-Dec-20 23:49 
GeneralRe: From my crossassembler's manual Pin
glennPattonWork35-Dec-20 10:24
professionalglennPattonWork35-Dec-20 10:24 
GeneralRe: From my crossassembler's manual Pin
OriginalGriff5-Dec-20 10:50
mveOriginalGriff5-Dec-20 10:50 
GeneralRe: From my crossassembler's manual Pin
glennPattonWork35-Dec-20 10:58
professionalglennPattonWork35-Dec-20 10:58 
GeneralRe: From my crossassembler's manual Pin
CodeWraith5-Dec-20 11:42
CodeWraith5-Dec-20 11:42 
GeneralRe: From my crossassembler's manual Pin
OriginalGriff5-Dec-20 20:20
mveOriginalGriff5-Dec-20 20:20 
GeneralRe: From my crossassembler's manual Pin
trønderen5-Dec-20 13:40
trønderen5-Dec-20 13:40 
GeneralRe: From my crossassembler's manual Pin
CodeWraith5-Dec-20 14:40
CodeWraith5-Dec-20 14:40 
GeneralRe: From my crossassembler's manual Pin
trønderen5-Dec-20 17:25
trønderen5-Dec-20 17:25 
GeneralRe: From my crossassembler's manual Pin
CodeWraith5-Dec-20 23:21
CodeWraith5-Dec-20 23:21 
GeneralRe: From my crossassembler's manual Pin
trønderen6-Dec-20 8:20
trønderen6-Dec-20 8:20 
GeneralRe: From my crossassembler's manual Pin
CodeWraith6-Dec-20 14:39
CodeWraith6-Dec-20 14:39 
GeneralRe: From my crossassembler's manual Pin
trønderen7-Dec-20 11:28
trønderen7-Dec-20 11:28 
GeneralRe: From my crossassembler's manual Pin
CodeWraith7-Dec-20 13:03
CodeWraith7-Dec-20 13:03 
GeneralRe: From my crossassembler's manual Pin
den2k886-Dec-20 6:05
professionalden2k886-Dec-20 6:05 
GeneralRe: From my crossassembler's manual Pin
trønderen6-Dec-20 8:36
trønderen6-Dec-20 8:36 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.