2.3 KiB
2.3 KiB
up:: Logique séquentielle #informatique #maths/logique
ALU binary operators
bin | operator |
---|---|
000 | COMParison |
001 | zero |
010 | OR |
011 | AND |
100 | ADD (+) |
101 | SUB (-) |
110 | COPY A |
111 | COPY B |
How to operate
op exec
op exec
is the component that gathers the ALU and the data registers. It can :
- perform operations with the ALU
- read data : register to ALU inputs
- write data : ALU output to registers
- take input : 8 bit bus to ALU inputs
- give output : ALU output or registers to 8 bit bus
[!info] Writing data to a register It is not possible to write data directly from the 8 bit bus to the registers. If you want to register some data, you have to do the following :
- write the data to the ALU inputs (input A for example)
- set the ALU operation to copy (copy A in our example, that is
110
)- write from the alu to the register (give the register address in the 8 bit bus, and set the
from ALU
andto register
bits)
Binary code
The binary code of the CPU. They are stored in 2 octets.
binary code | action |
---|---|
0000 0000 0000 0000 |
NOOP |
SET ALU OPERATIONS | |
XXX0 0000 0000 0001 |
set X as ALU op |
0000 0000 0000 0001 |
COMParison |
0001 0000 0000 0001 |
ZERO |
0010 0000 0000 0001 |
OR |
0011 0000 0000 0001 |
AND |
0100 0000 0000 0001 |
A+B |
0101 0000 0000 0001 |
A-B |
0110 0000 0000 0001 |
BYPASS A |
0111 0000 0000 0001 |
BYPASS B |
READ / WRITE | |
XXXX XXXX 0000 0010 |
X --> ALU A |
XXXX XXXX 0000 0011 |
X --> ALU B |
XXXX XXXX 0000 0110 |
reg X --> ALU A |
XXXX XXXX 0000 0111 |
reg X --> ALU B |
0000 0000 0000 1000 |
ALU --> reg |
!digital logic sim computer 2023-07-18 09.57.52.excalidraw
bin | operator |
---|---|
000 | COMParison |
001 | zero |
010 | OR |
011 | AND |
100 | ADD (+) |
101 | SUB (-) |
110 | COPY A |
111 | COPY B |
10 + 10
write 10 to A -> 0001010 00000100 write 11 to B -> 0001011 00001000 write 100 to op 00000100 00010000