I am working as a Assistant Professor in ITS, Ghaziabad.This is very useful to U.P.Technical University,Uttrakhand Technical University students. Give feedback to rakeshroshan@its.edu.in
I am working as a Assistant Professor in ITS, Ghaziabad.This is very useful to U.P.Technical University,Uttrakhand Technical University students. Give feedback to rakeshroshan@its.edu.in
• Register Transfer Language
• Register Transfer
• Bus and Memory Transfers
• Arithmetic Microoperations
• Logic Microoperations
• Shift Microoperations
• Arithmetic Logic Shift Unit
Register transfer and microoperations part 1Prasenjit Dey
Register transfer language, hardware implementation of bus transfer using multiplexer and three state buffer, hardware implementation of memory transfer e.g., memory read and memory write.
I am working as a Assistant Professor in ITS, Ghaziabad.This slides is very useful for UPTU,UTU,JNU,BHU etc.please give feedback to me in friendly_rakesh2003@yahoo.co.in
• Register Transfer Language
• Register Transfer
• Bus and Memory Transfers
• Arithmetic Microoperations
• Logic Microoperations
• Shift Microoperations
• Arithmetic Logic Shift Unit
Register transfer and microoperations part 1Prasenjit Dey
Register transfer language, hardware implementation of bus transfer using multiplexer and three state buffer, hardware implementation of memory transfer e.g., memory read and memory write.
I am working as a Assistant Professor in ITS, Ghaziabad.This slides is very useful for UPTU,UTU,JNU,BHU etc.please give feedback to me in friendly_rakesh2003@yahoo.co.in
In computing, an arithmetic logic unit (ALU) is a digital circuit that performs arithmetic and logical operations. The ALU is a fundamental building block of the central processing unit (CPU) of a computer, and even the simplest microprocessors contain one for purposes such as maintaining timers. The processors found inside modern CPUs and graphics processing units (GPUs) accommodate very powerful and very complex ALUs; a single component may contain a number of ALUs.
An arithmetic logic unit (ALU) is a digital electronic circuit that performs arithmetic and bitwise logical operations on integer binary numbers.
This is in contrast to a floating-point unit (FPU), which operates on floating point numbers. It is a fundamental building block of many types of computing circuits, including the central processing unit (CPU) of computers, FPUs, and graphics processing units.
A single CPU, FPU or GPU may contain multiple ALUs
History Of ALU:Mathematician John von Neumann proposed the ALU concept in 1945 in a report on the foundations for a new computer called the EDVAC(Electronic Discrete Variable Automatic Computer
Typical Schematic Symbol of an ALU:A and B: the inputs to the ALU
R: Output or Result
F: Code or Instruction from the
Control Unit
D: Output status; it indicates cases
Circuit operation:An ALU is a combinational logic circuit
Its outputs will change asynchronously in response to input changes
The external circuitry connected to the ALU is responsible for ensuring the stability of ALU input signals throughout the operation
unit1COA Computer Organisation and Architecture
unit1COA Computer Organisation and Architecture
BTECH
CSE
IT
AIML
unit1COA Computer Organisation and Architectureunit1COA Computer Organisation and Architecture
unit1COA Computer Organisation and Architectureunit1COA Computer Organisation and Architecture
2. Register Transfer language
Register Transfer Bus and memory transfers
Arithmetic Micro-operations
Logic micro operations
Shift micro operations
Arithmetic logic shift unit
3. Combinational and sequential circuits can be used to
create simple digital systems.
These are the low-level building blocks of a digital
computer.
Simple digital systems are frequently characterized in
terms of
◦ the registers they contain, and
◦ the operations that they perform.
Microoperation: An elementary operation performed
(during one clock pulse), on the information stored in one
or more registers.
4. - Set of registers it contains and their function
- The sequence of microoperations performed on the
binary information stored in the registers
- Control signals that initiate the sequence of
microoperations
5. The symbolic notation used to describe the
microoperation transfers among registers is called a
Register transfer language.
Register transfer language
◦ A symbolic language
◦ A convenient tool for describing the internal organization
of digital computers
◦ Can also be used to facilitate the design process of digital
systems.
6. Block diagram of a register
R1
Register R
15 0
Numbering of bits
7 6 5 4 3 2 1 0
Showing individual bits
15 8 7 0
PC(H) PC(L)
Subfields (Divided into two parts)
R2
7. Symbols Description Examples
Capital letters Denotes a register MAR, R2
& numerals
Parentheses () Denotes a part of a register R2(0-7), R2(L)
Arrow Denotes transfer of information R2 R1
Colon : Denotes termination of control function P:
Comma , Separates two micro-operations A B, B A
8. Bus is a path(of a group of wires) over which information is
transferred, from any of several sources to any of several destinations.
From a register to bus: BUS R
Register A Register B Register C Register D
Bus lines
Register A Register B Register C Register D
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
B1C1D1
0 0 0 0
4 x1
MUX
B2 C2 D2
4 x1
MUX
B3C3D3
4 x1
MUX
B4C4D4
4 x1
MUX
4-line common bus
s1
s0
Select lines
9. Bus lines
Reg. R0 Reg. R1 Reg. R2 Reg. R3
Bus line with three-state buffers
2 x 4
Decoder
Load
D0 D1 D2 D s0 3
s1
Select
E (enable)
Select
Enable
0
12
3
S0
S1
A0
B0
C0
D0
Bus line for bit 0
10. 1. Show Block diagram of the hardware that implements
following register reference statement:
yT2: R2 <- R1, R1 <- R2
2. Design a bus system for four registers each 4 bit long using
three state buffers and a decoder instead of multiplexers.
3. If (P=1) then R1 <- R2 else if (Q=1) then R1 <- R3
4. A digital computer has a common bus system for 16
registers of 32 bits each. The bus is constructed with
multiplexers.
a. How many selection inputs are there in each MUX.
b. What size of multiplexers are needed?
c. How many multiplexers are there in the bus?
11. Memory (RAM) can be thought as a sequential circuits containing
some number of registers
These registers hold the words of memory
Each of the r registers is indicated by an address
These addresses range from 0 to r-1
Each register (word) can hold n bits of data
Since it contains multiple locations, we must specify which
address in memory we will be using
This is done by indexing memory references
Memory is usually accessed in computer systems by putting the
desired address in a special register, the Memory Address Register
(MAR, or AR)
When memory is accessed, the contents of the MAR get sent to
the memory unit’s address lines
12. To read a value from a location in memory and load it into
a register, the register transfer language notation looks
like this:
R1 M[MAR]
MEMORY WRITE
To write a value from a register to a location in memory
looks like this in register transfer language:
M[MAR] R1
13. Calculate Address lines, Data Lines and memory
capacity in bytes for the following:
◦ 2K X 16
◦ 64K X 8
◦ 16M X 32
◦ 4G X 64
14. A B Transfer content of reg. B into reg. A
AR DR(AD) Transfer content of AD portion of reg. DR into reg. AR
A constant Transfer a binary constant into reg. A
ABUS R1, Transfer content of R1 into bus A and, at the same time,
R2 ABUS transfer content of bus A into R2
AR Address register
DR Data register
M[R] Memory word specified by reg. R
M Equivalent to M[AR]
DR M Memory read operation: transfers content of
memory word specified by AR into DR
M DR Memory write operation: transfers content of
DR into memory word specified by AR
15. Computer system microoperations are of four
types:
1. Register transfer microoperations transfer binary
information from one register to another
2. Arithmetic microoperations perform arithmetic
operations on numeric data stored in registers.
3. Logic microoperations perform bit manipulation
operations on non numeric data stored in
registers.
4. Shift microoperations perform shift operations on
data stored in registers.
16. The basic arithmetic microoperations are
◦ Addition
◦ Subtraction
◦ Increment
◦ Decrement
The additional arithmetic microoperations are
◦ Add with carry
◦ Subtract with borrow
◦ Transfer/Load
◦ etc. …
Table: Arithmetic Micro-Operations
R3 R1 + R2 Contents of R1 plus R2 transferred to R3
R3 R1 - R2 Contents of R1 minus R2 transferred to R3
R2 R2’ Complement the contents of R2
R2 R2’+ 1 2's complement the contents of R2 (negate)
R3 R1 + R2’+ 1 subtraction
R1 R1 + 1 Increment
R1 R1 - 1 Decrement
17. B0 A0
FA C2
FA C1
FA FA
C0
S0
B1 A1
S1
B2 A2
S2
B3 A3
S3
C3
C4
Binary Adder-Subtractor
B0 A0
FA C1 FA
C0
S0
B1 A1
S1
B2 A2
FA C2
S2
B3 A3
FA C3
C4 S3
M
Binary Incrementer
A0 1
x y
HA
C S
S0
A1
x y
HA
C S
S1
A2
x y
HA
C S
S2
A3
x y
HA
C S
C4 S3
Binary Adder
18. S1
S0
01
2
3
4x1
MUX
X0
Y0
C0
D0 FA
C1
S1
S0
0
12
3
4x1
MUX
X1
Y1
C1
FA D1
C2
S1
S0
012
3
4x1
MUX
X2
Y2
C2
FA D2
C3
S1
S0
012
3
4x1
MUX
X3
Y3
C3
D3 FA
C4
Cout
Cin
S1
A0
B0
A1
B1
A2
B2
A3
B3
0 1
S0
S1 S0 Cin Y Output Microoperation
0 0 0 B D = A + B Add
0 0 1 B D = A + B + 1 Add with carry
0 1 0 B’ D = A + B’ Subtract with borrow
0 1 1 B’ D = A + B’+ 1 Subtract
1 0 0 0 D = A Transfer A
1 0 1 0 D = A + 1 Increment A
1 1 0 1 D = A - 1 Decrement A
1 1 1 1 D = A Transfer A