Building an 8-bit Processor: ALU, Decoder & Multiplexer

AI Thread Summary
To design an 8-bit processor, key components include an Arithmetic Logic Unit (ALU) and a control unit, which consists of a multiplexer and decoder circuits. The discussion highlights the need to choose appropriate decoder and multiplexer types for the processor. For an 8-bit processor, a 3-to-8 decoder is suggested, while a 4-to-1 multiplexer is recommended for its functionality. The conversation also touches on the historical context of 8-bit processors, mentioning notable models like the Motorola 6800 and Zilog Z80, emphasizing their impact on early computing. Participants express a desire to understand the logic behind processor design, including the functions of the ALU, which performs various arithmetic and logic operations. The importance of starting with a clear instruction set and analyzing it for design purposes is also noted, along with the suggestion to study emulators for practical insights into hardware implementation.
vead
Messages
92
Reaction score
0
If I want make 8 bit processor
I think I need following think
1) ALU
2)control unit

1)ALU responsible for Arithmetic and logic Unit

2)control unit include with multiplexer and decoder circu

main component for processor

ALU 8 bit
decoder
multiplexer

Q1 I have option for decoder
decoder 2 to 4
decoder 3 to 8

which decoder circuit I need for 8 bit processor

Q2 I have option for multiplexer
multiplexer 2 to 1
multiplexer 4 to 1
multiplexer 8 to 1

which multiplexer circuit I need for 8 bit processor
 
Last edited:
Technology news on Phys.org
Why not just buy an 8-bit processor? What is your point here?
 
phinds said:
Why not just buy an 8-bit processor? What is your point here?

I just want to know logic If processor is 8 bit then what will be decoder ?
 
jedishrfu said:
Here's some info on the Motorola 680 8-bit microprocessor that featured memory mapped i/o and could address upto 64K bytes of memory:

http://en.wikipedia.org/wiki/Motorola_6800


Ahhh! The good old Motorola 68XX CPU. This brings back some memories. Heathkit had a Microprocessor Trainer which contained this CPU. I built one at college as part of my thesis project on controlling a small boiler.

This Popular Mechanics mag (Nov. 1977) has an ad for this kit, along with several other projects:

http://books.google.com/books?id=bwEAAAAAMBAJ&pg=PA133

It's great scrolling thru the other parts of this issue: when the past was still way in the future!
 
check out this table for 4 bit processor

1)4 bit ALU
2)3:8 decoderfor 4 Bit ALU
4 bit ALU
4 bit input A
4 bit input B

Code:
S2  S1  S0              F
0     0    0            F= A and B
0     0    1            F= A or B
0     1    0            F= A Nand B
0     1    1            F= A nor B
1     0    0            F= A Xor B
1     0    1            F=A X nor B
1     1    0            F= A addition B
1     1    1            F= A subtraction B

table
Code:
S2  S1  S0             A     B     F
0     0    0           0     0      0         AND
                       0     1      0
                       1     0      0
                       1     1      1

0     0    1           0     0      0        or
                       0     1      1
                       1     0      1
                       1     1      1

0     1    0            0     0      1          NAND
                        0     1      1
                        1     0      1
                        1     1      0

0     1    1            0     0      1        NOR
                        0    1     0
                        1    0      0
                        1     1      0

1     0    0            0     0      0          Xor
                         0    1     1
                         1    0      1
                         1     1      0

1     0    1            0     0      1          X nor
                         0    1     0
                         1    0      0
                         1     1      1

1     1    0           0     0      0          addition
                        0    1     1
                        1    0      1
                        1     1      0

1     1    1            0     0      0        subtraction
                        0    1     1
                       1     0     1
                        1    1     0

decoder
 

Attachments

  • 02__3-to-8_Decoder_TruthTable.jpg
    02__3-to-8_Decoder_TruthTable.jpg
    15.1 KB · Views: 3,477
vead said:
I just want to know logic If processor is 8 bit then what will be decoder ?
This is kind of like saying you want to build a counter and want to know how many flip-flops you need — it depends on the details of the counter. Likewise, the answers to your questions will depend on the specifics of the processor you design.
 
In addition to the 6800, the 6502 was popular in early 8 bit consoles and home computers (Apple II, Atari 400 / 800 / 65XE / 130XE, Comodore 64, ... ). CP/M systems used 8080, 8085, Z80, ... . Zilog also made a Z8 which had a relatively large number of registers.
 
rcgldr said:
... . Zilog also made a Z8 which had a relatively large number of registers.

and a much more powerful instruction set that included the 8080 set as a subset

it was one of those cases where better technology did not win out. INTEL steamrolled them by being first to market (Zilog was started later by Intel engineers who wanted to do something a lot better but were turned down internally) and firmly established by the time Zilog rolled out products.
 
  • #10
phinds said:
and a much more powerful instruction set that included the 8080 set as a subset

it was one of those cases where better technology did not win out. INTEL steamrolled them by being first to market (Zilog was started later by Intel engineers who wanted to do something a lot better but were turned down internally) and firmly established by the time Zilog rolled out products.

This is not how it happened. The Intel 8080 was the first successful microcomputer (what we would now call a personal computer) processor, introduced in 1974, but it was rapidly overtaken by the compatible and more powerful Zilog Z80 introduced in 1976 and also by the incompatible MOS Technology 6502 introduced in 1975 and used in the Apple II. It was not until 1978 that Intel released the 8086 processor, and its success was entirely down to being selected for the IBM PC. With Motorola's 68000 in the Macintosh the Z80 and 6502 were left with no competitive microcomputer product, although Zilog developed the Z8 as a microcontroller version of the Z80 and this and its successors dominated this market and are still available.
 
  • #11
The Intel 4004 was a 4 bit cpu, used in some calculators. This was followed by the 8008, then the 8080, 8085, Z80 as mentioned above. The Z8 is not compatable with the Z80, as it has a different instruction set and a lot of registers (I worked at a company that used a Z8 for an V52 clone (ASCII) compatible terminal). 6502 also had different instruction set. The IBM PC used an 8088 to reduce costs using an 8 bit data bus, but otherwise a 16 bit computer (16 bit registers).

Wiki links:

http://en.wikipedia.org/wiki/6502

http://en.wikipedia.org/wiki/4004

http://en.wikipedia.org/wiki/8008

http://en.wikipedia.org/wiki/8080

http://en.wikipedia.org/wiki/8085

http://en.wikipedia.org/wiki/Z80

http://en.wikipedia.org/wiki/Zilog_Z8

http://en.wikipedia.org/wiki/Intel_8088

http://en.wikipedia.org/wiki/8086
 
Last edited:
  • #12
MrAnchovy said:
This is not how it happened. The Intel 8080 was the first successful microcomputer (what we would now call a personal computer) processor, introduced in 1974, but it was rapidly overtaken by the compatible and more powerful Zilog Z80 introduced in 1976 and also by the incompatible MOS Technology 6502 introduced in 1975 and used in the Apple II. It was not until 1978 that Intel released the 8086 processor, and its success was entirely down to being selected for the IBM PC. With Motorola's 68000 in the Macintosh the Z80 and 6502 were left with no competitive microcomputer product, although Zilog developed the Z8 as a microcontroller version of the Z80 and this and its successors dominated this market and are still available.

First post hi guys:) and sorry but computers are not my bag but i do remember trying a bit of machine code programming in my younger days on the spectrum Z80. 8 bit registers my word they don't know they're born these days haha. Was just curious if they still did Eproms? Or something similar ?
 
  • #13
skillo said:
First post hi guys:) and sorry but computers are not my bag but i do remember trying a bit of machine code programming in my younger days on the spectrum Z80. 8 bit registers my word they don't know they're born these days haha. Was just curious if they still did Eproms? Or something similar ?

The BIOS instructions for most PC-compatible motherboards are still burned into an EEprom like device, which can be reflashed by the user if a new BIOS version becomes available.
 
  • #14
vela said:
This is kind of like saying you want to build a counter and want to know how many flip-flops you need — it depends on the details of the counter. Likewise, the answers to your questions will depend on the specifics of the processor you design.

I am not sure that the table is correct or wrong for 4 bit processor
can anyone tell me its correct or wrong.
I read . processor contain with ALU and Control unit so I made simple truth table for my basic understanding. I am not going to design for any company .

i just want to learn how we design complex circuit . so can someone teach me how to design Processor with ALU and control Unit
 
  • #15
ALU perform following function

AND logic
OR logic
NAND logic
NOR logic
X or logic
X nor logic
addition
subtraction

I am not going to design for specific purpose
don't mind I made some simple specification for 4 bit processor

specification for 4 bit processor

1)4 bit ALU
2)3:8 decoder
3) 4 bit A register ( data register )
4) 4 bit B register (data register )
5) 4 bit Instruction register
6)4 bit address register
 
  • #16
Don't forget program memory.

A simple way of doing the decoding is to use a memory where the adress is the instruction and the data is the control signals.

To really understand what you need to do you should start with the instructions, take a simple instruction set and analyze the instructions, what flags are used, which registers are affected etc.

Another good source to learn from is emulators, they implement the hardware in understandable c code.

This is not an easy thing to learn and will take time but i think you choose a good example to really understand what's going on below the higher abstraction languages.
 
Back
Top