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

In summary: F=A XOR B1 1 1 F=A XNOR B1 0 1 F=A addition B1 1 1 F=A subtraction B
  • #1
vead
92
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
  • #2
Why not just buy an 8-bit processor? What is your point here?
 
  • #3
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 ?
 
  • #5
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!
 
  • #6
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,423
  • #7
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.
 
  • #8
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.
 
  • #9
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.
 

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

What is an 8-bit processor?

An 8-bit processor is a type of computer processor that can process 8 bits of data at a time. This means it can handle 8 binary digits, or bits, in one instruction. It is commonly used in older computers and game consoles.

What is an ALU?

An Arithmetic Logic Unit (ALU) is a digital circuit that performs arithmetic and logical operations. In an 8-bit processor, the ALU is responsible for performing calculations and making decisions based on the data input.

What is a decoder?

A decoder is a digital circuit that converts coded input signals into a set of output signals. In an 8-bit processor, a decoder is used to select and activate specific functions within the ALU based on the instruction being executed.

What is a multiplexer?

A multiplexer, also known as a mux, is a device that selects one of several input signals and forwards the selected input into a single output line. In an 8-bit processor, a multiplexer is used to choose which data inputs will be processed by the ALU.

Can I build my own 8-bit processor?

Yes, it is possible to build your own 8-bit processor using basic electronic components and a basic understanding of computer architecture. However, it requires a lot of time, effort, and technical knowledge. It is a complex project and not recommended for beginners.

Back
Top