Coa Lab Manual Bcs 352
Coa Lab Manual Bcs 352
5thKM Stone Delhi, Meerut Road, Near Raj Nagar Extension Road, Ghaziabad, UP-201003
Approved by AICTE, N. Delhi &Affiliated to Dr. A.P.J. Abdul Kalam Technical University, Lucknow
NBA Accredited Program (B. Tech- ECE, IT) & B. Pharmacy
LABORATORY RECORD
2. To amplify their potential for lifelong high quality careers and give them a competitive
advantage in the challenging global work environment.
PEO 2: Employable: To develop the ability among students to synthesize data and
technical concepts for application to software product design for successful careers
that meet the needs of Indian and multinational companies.
Computer Organization & Architecture Lab (BCS-352), CSE III SEM Page 2
SEM))
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
PO5: Modern tool usage: Create, select, and apply appropriate techniques,
resources, and modern engineering and IT tools including prediction and modeling to
complex engineering activities with an understanding of the limitations.
PO6: The engineer and society: Apply reasoning informed by the contextual
knowledge to assess societal, health, safety, legal and cultural issues and the
consequent responsibilities relevant to the professional engineering practice.
PO8: Ethics: Apply ethical principles and commit to professional ethics and
responsibilities and norms of t h e engineering practice.
Computer Organization & Architecture Lab (BCS-352), CSE III SEM Page 3
SEM))
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
PO12: Life-long learning: Recognize the need for, and have the preparation and
ability to engage in independent and life-long learning in the broadest context of
technological change.
PSO2: The ability to employ latest computer languages and platforms in creating innovative
career opportunities.
Computer Organization & Architecture Lab (BCS-352), CSE III SEM Page 4
SEM))
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
B 207.1 Illustrate HALF ADDER, FULL ADDER using basic logic gates and to learn
various code conversions: Binary -to -Gray, Gray -to –Binary
B 207.2 Design 3-8 line DECODER and Implementing 4x1 and 8x1 MULTIPLEXERS.
Demonstrate excitation tables of various FLIP-FLOPS and design of an 8-bit Input
B 207.3 Output system with four 8-bit Internal Registers.
CO-PO MAPPING
PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
B 207.1 3 3 3 1 - 1 1 - 2 - 2 2
B 207.2 3 3 3 1 3 1 1 - 2 - 1 2
B 207.3 3 3 3 1 3 1 1 - 2 - 1 1
B 207.4 3 3 3 1 - 1 1 - 2 - 1 1
B 207.5 3 3 3 1 - 1 1 - 2 - 1 2
CO-PSO MAPPING
PSO1 PSO2
B 207.1 2 -
B 207.2 2 -
B 207.3 2 -
B 207.4 2 -
B 207.5 2 -
B 207 2 -
Computer Organization & Architecture Lab (BCS-352), CSE III SEM Page 5
SEM))
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
LIST OF EXPERIMENTS
Computer Organization & Architecture Lab (BCS-352), CSE III SEM Page 6
SEM))
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
INTRODUCTION
Sequential ckt- contains basic flip-flops, registers for designing sequential circuits,
Other Components- contains different kinds of components like decoders,
multiplexers, arithmetic logic units(ALU), memory elements(RAM cell), cache
memory(without any replacement policy)required to design combinational circuits,
Control Unit- contains a controller whose state table (Moore m/c) can be loaded from
the interface, Computer Design- contains a single instruction CPU and a Memory (4
bit address and 12 bit data, can be loaded by user).
Computer Organization & Architecture Lab (BCS-352) Manual (CSE, III SEM)) Page 8
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
PREFACE
This practical manual will be helpful for students of Computer Science & Engineering for
understanding the course from the point of view of applied aspects. Though all the efforts
have been made to make this manual error free, yet some errors might have crept in
inadvertently. Suggestions from the readers for the improvement of the manual are most
welcomed.
Computer Organization & Architecture Lab (BCS-352) Manual (CSE, III SEM)) Page 9
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
DO’s
DONT’S
Computer Organization & Architecture Lab (BCS-352) Manual (CSE, III SEM)) Page 10
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
1. Know the location of the fire extinguisher and the first aid box and how to use them in
case of an emergency.
4. Do not plug in external devices without scanning them for computer viruses.
Computer Organization & Architecture Lab (BCS-352) Manual (CSE, III SEM)) Page 11
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
While preparing the lab records, the student is required to adhere to the following guidelines:
Computer Organization & Architecture Lab (BCS-352) Manual (CSE, III SEM)) Page 12
RAJ KUMAR GOEL INSTITUTE OF TECHNOLOGY
5thKM Stone Delhi, Meerut Road, Near Raj Nagar Extension Road, Ghaziabad, UP-201003
Approved by AICTE, N. Delhi &Affiliated to Dr. A.P.J. Abdul Kalam Technical University, Lucknow
NBA Accredited Program (B. Tech- ECE, IT) & B. Pharmacy
Name
Roll No.
Section- Batch
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
INDEX
Computer Organization & Architecture Lab (BCS-352) (CS, III SEM) Page 15
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Students are provided with the details of the experiment (Aim, pre-experimental questions,
procedure etc.) to be conducted in next lab and are expected to come prepared for each lab
class.
Faculty ensures that students have completed the required pre-experiment questions and they
complete the in-lab programming assignment(s) before the end of class. Given that the lab
programs are meant to be formative in nature, students can ask faculty for help before and
during the lab class.
Students’ performance will be assessed in each lab based on the following Lab Assessment
Components:
Assessment Criteria-1: Performance (Max. marks = 5)
Assessment Criteria-2: VIVA (Max. marks = 5)
Assessment Criteria-3: Record (Max. marks = 5)
In each lab class, students will be awarded marks out of 5 under each component head,
making it total out of 15 marks.
Computer Organization & Architecture Lab (BCS-352) (CS, III SEM) Page 16
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
EXPERIMENT 1
Aim: Design and implementation of HALF ADDER, FULL ADDER using basic logic
gates
Theory:
HALF ADDER
OUTPUTS
INPUT A INPUT B
S C
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Computer Organization & Architecture Lab (BCS-352) (CS, III SEM) Page 17
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
FULL ADDER
CIRCUIT DIAGRAM
TRUTH TABLE
Pre-Experiment Questions:
1.Explain the truth table of half adder.
2. How many EX-OR and OR gates can be used to make a half adder?
Computer Organization & Architecture Lab (BCS-352) (CS, III SEM) Page 18
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Procedure:
• Identify the pins.
• Connect the circuit as per circuit diagram.
• Obtain outputs with various input combinations.
• Verify it with the Boolean function using truth table
Result & Conclusion: All logical circuits have been implemented & verified through truth
table.
Post-Experiment Question:
a. What are the applications of half adder?
b. What are the applications of full adder?
c. Explain the advantages of half adder?
d. Elaborate the advantages of full adder over half adder.
Computer Organization & Architecture Lab (BCS-352) (CS, III SEM) Page 19
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
EXPERIMENT 2
Aim: Design and implementation of Binary to Gray, Gray to Binary Code conversions
Theory:
Pin diagram of Binary to gray code converter using 7486 Ic(Ex-Or Gate)
INPUTS OUTPUTS
A B C D G4 G3 G2 G1
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1
0 0 1 0 0 0 1 1
0 0 1 1 0 0 1 0
0 1 0 0 0 1 1 0
0 1 0 1 0 1 1 1
0 1 1 0 0 1 0 1
Circuit Diagram of Binary to Gray Code 0 1 1 1 0 1 0 0
Converter 1 0 0 0 1 1 0 0
1 0 0 1 1 1 0 1
1 0 1 0 1 1 1 1
1 0 1 1 1 1 1 0
1 1 0 0 1 0 1 0
1 1 0 1 1 0 1 1
1 1 1 0 1 0 0 1
1 1 1 1 1 0 0 0
Truth Table
Pin diagram of Gray to Binary code converter using 7486 Ic(Ex-Or Gate)
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 21
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
INPUTS OUTPUTS
A B C D B3 B2 B1 B0
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1
0 0 1 1 0 0 1 0
0 0 1 0 0 0 1 1
0 1 1 0 0 1 0 0
0 1 1 1 0 1 0 1
0 1 0 1 0 1 1 0
0 1 0 0 0 1 1 1
1 1 0 0 1 0 0 0
Circuit Diagram for Gray to Binary Code 1 1 0 1 1 0 0 1
Converter 1 1 1 1 1 0 1 0
1 1 1 0 1 0 1 1
1 0 1 0 1 1 0 0
1 0 1 1 1 1 0 1
1 0 0 1 1 1 1 0
1 0T 0 0 1 1 1 1
Truth Table
Pre-Experiment Questions:
1. What is a code converter?
2. Differentiate between translator and code converter.
3. Explain the primary usage of grey code.
4. Illustrate the reasons for using grey code.
Procedure:
Collect the components necessary to accomplish this experiment.
Plug the IC chip into the breadboard.
Connect the supply voltage and ground lines to the chips. PIN7 = Ground and PIN14
= +5V.
Make connections as shown in the respective circuit diagram.
Connect the inputs of the gate to the input switches of the LED.
Connect the output of the gate to the output LEDs.
Once all connections have been done, turn on the power switch of the breadboard
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 22
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Operate the switches and fill in the truth table (Write "1" if LED is ON and "0" if L1
is OFF Apply the various combination of inputs according to the truth table and
observe the condition of Output LEDs.
Result & Conclusion: Binary to gray and gray to binary code converter has been designed
using EXOR gate and its truth table verified.
Post-Experiment Question:
1. What are the advantages of code converter?
2. What are the properties of gray code?
3. Describe a way by which we can convert BCD to binary using hardware approach.
4. List the process to generate n bit gray codes.
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 23
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
EXPERIMENT 3
Theory:
a) 4 to 2 encoder using logic gates:
I3 I2 I1 I0 O1 O0
0 0 0 1 0 0
0 0 1 0 0 1
0 1 0 0 1 0
1 0 0 0 1 1
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 24
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Pre-Experiment Questions:
1. Difference between Encoder and Decoder.
2. Explain the need of Decoder.
3. Which is the major functioning responsibility of the multiplexing combinational circuit?
4. How many NOT gates are required for the construction of a 4-to-1 multiplexer?
Procedure:
Collect the components necessary to accomplish this experiment.
Plug the IC chip into the breadboard.
Connect the supply voltage and ground lines to the chips. PIN7 = Ground
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 25
Raj Kumar Goel Institute of Technology, Ghaziabad
Once all connections have been done, turn on the power switch of the breadboard
Operate the switches and fill in the truth table ( Write "1" if LED is ON and "0" if L1
is OFF Apply the various combination of inputs according to the truth table and observe
the condition of Output LEDs.
Result & Conclusion: 3-8 line decoders have been implemented & verified through truth table.
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 26
Raj Kumar Goel Institute of Technology, Ghaziabad
EXPERIMENT 4
Theory:
a) 4 to 1 Multiplexer:
Symbol: Truth table:
Addressing Input
Selected
0 0 A
0 1 B
1 0 C
1 1 D
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 27
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Logic Diagram:
d) 8x1 Multiplexer
Computer Organization & A r c h i t e c t u r e Lab (BCS-352) Manual (CS, III SEM) Page 28
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
0 0 0 0 × × × × × × × 0 × 0
0 0 0 1 × × × × × × × 1 × 1
0 0 1 × 0 × × × × × × 0 × 0
0 0 1 × 1 × × × × × × 1 × 1
0 1 0 × × 0 × × × × × 0 × 0
0 1 0 × × 1 × × × × × 1 × 1
0 1 1 × × × 0 × × × × 0 × 0
0 1 1 × × × 1 × × × × 1 × 1
1 0 0 × × × 0 × × × × 0 0
1 0 0 × × × × 1 × × × × 1 1
1 0 1 × × × × × 0 × × × 0 0
1 0 1 × × × × × 1 × × × 1 1
Computer Organization & A r c h i t e c t u r e Lab (BCS-352) Manual (CS, III SEM) Page 29
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
1 1 0 × × × × × × 0 × × 0 0
1 1 0 × × × × × × 1 × × 1 1
1 1 1 × × × × × × × 0 × 0 0
1 1 1 × × × × × × × 1 × 1 1
Pre-Experiment Questions:
1. Explain the need of multiplexer.
2. Which is the major functioning responsibility of the multiplexing combinational circuit?
3. How many NOT gates are required for the construction of a 4-to-1 multiplexer?
Procedure:
Collect the components necessary to accomplish this experiment.
Plug the IC chip into the breadboard.
Connect the supply voltage and ground lines to the chips. PIN7 = Ground
and PIN14 = +5V.
Make connections as shown in the respective circuit diagram.
Connect the inputs of the gate to the input switches of the LED.
Connect the output of the gate to the output LEDs.
Once all connections have been done, turn on the power switch of the breadboard
Operate the switches and fill in the truth table ( Write "1" if LED is ON and "0" if L1
is OFF Apply the various combination of inputs according to the truth table and
observe the condition of Output LEDs.
Result & Conclusion: 3-8 line decoder, 4x1 and 8x1 Mux have been implemented & verified
through truth table.
Computer Organization & A r c h i t e c t u r e Lab (BCS-352) Manual (CS, III SEM) Page 30
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
EXPERIMENT 5
Theory:
Flip-flops are synchronous bi-stable devices. The term synchronous means the output changes
state only when the clock input is triggered. That is, changes in the output occur in
synchronization with the clock. A flip-flop circuit has two outputs, one for the normal value
and one for the complement value of the stored bit. Since memory elements in sequential
circuits are usually flip-flops, it is worth summarizing the behavior of various flip-flop types
before proceeding further. All flip -flops can be divided into four basic types: SR, JK, D and
T. They differ in the number of inputs and in the response invoked by different value of input
signals. The four types of flip -flops are defined in the Table below.
Computer Organization & A r c h i t e c t u r e Lab (BCS-352) Manual (CS, III SEM) Page 31
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Circuit Diagram
Computer Organization & A r c h i t e c t u r e Lab (BCS-352) Manual (CS, III SEM) Page 32
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Pre-Experiment Questions:
1. Difference between Latch and Flip Flop.
2. Differentiate between combinational and sequential circuits.
3. The truth table for an S-R flip-flop has how many VALID entries?
4. What is a trigger pulse?
Computer Organization & A r c h i t e c t u r e Lab (BCS-352) Manual (CS, III SEM) Page 33
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Procedure:
Collect the components necessary to accomplish this experiment.
Plug the IC chip into the breadboard.
Connect the supply voltage and ground lines to the chips. PIN7 = Ground
and PIN14 = +5V.
Make connections as shown in the respective circuit diagram.
Connect the inputs of the gate to the input switches of the LED.
Connect the output of the gate to the output LEDs.
Once all connections have been done, turn on the power switch of the breadboard
Operate the switches and fill in the truth table ( Write "1" if LED is ON and "0" if L1
is OFF Apply the various combination of inputs according to the truth table and
observe the condition of Output LEDs.
Computer Organization & A r c h i t e c t u r e Lab (BCS-352) Manual (CS, III SEM) Page 34
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
EXPERIMENT 6
Aim: Design and implement 8-bit Input/Output System with four 8-bit internal registers
Theory:
A register is capable of shifting its binary information in one or both directions is known as
shift register. The logical configuration of shift register consist of a D-Flip flop cascaded with
output of one flip flop connected to input of next flip flop. All flip flops receive common
clock pulses which causes the shift in the output of the flip-flop. The simplest possible shift
register is one that uses only flip flop. The output of a given flip flop is connected to the input
of next flip flop of the register. Each clock pulse shifts the content of register one bit position
to right.
Computer Organization & A r c h i t e c t u r e Lab (BCS-352) Manual (CS, III SEM) Page 35
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
LOGIC DIAGRAM:
8-bit Input/Output System with four 8-bit internal register
Pre-Experiment Questions:
1. What are the functions of a bus?
2. State the features of multiplexers.
3. What is the difference between register and counter?
4. Explain serial shifting method.
Procedure:
Connections are given as per circuit diagram.
Logical inputs are given as per circuit diagram.
Observe the output and verify the truth table.
Result & Conclusion: Verified 8-bit Input/Output System with four 8-bit internal registers
on simulator.
Post-Experiment Questions:
1. What are the advantages of using bus interface?
Computer Organization & A r c h i t e c t u r e Lab (BCS-352) Manual (CS, III SEM) Page 36
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Computer Organization & A r c h i t e c t u r e Lab (BCS-352) Manual (CS, III SEM) Page 37
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
EXPERIMENT 7
Theory:
ALU or Arithmetic Logical Unit is a digital circuit to do arithmetic operations like addition,
subtraction, division, multiplication and logical operations like AND, OR, XOR, NAND,
NOR etc. A simple block diagram of a 4 bit ALU for operations AND, OR, XOR and ADD is
shown in the Logic diagram.
LOGIC DIAGRAM:
Block diagram of a 4 bit ALU
Computer Organization & A r c h i t e c t u r e Lab (BCS-352) Manual (CS, III SEM) Page 38
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Design Issues :
The circuit functionality of a 1 bit ALU is shown here, depending upon the control signal S1
and S0 the circuit operates as follows:
for Control signal S1 = 0 , S0 = 0, the output is A And B,
for Control signal S1 = 0 , S0 = 1, the output is A Or B,
for Control signal S1 = 1 , S0 = 0, the output is A Xor B,
for Control signal S1 = 1 , S0 = 1, the output is A Add B.
The truth table for 16-bit ALU with capabilities similar to 74181 is shown here:
Required functionality of ALU (inputs and outputs are active high)
Mode Select Fn for active HIGH operands
Inputs Logic Arithmetic (note 2)
S3 S2 S1 S0 (M = H) (M = L) (Cn=L)
L L L L A' A
L L L H A'+B' A+B
L L H L A'B A+B'
L L H H Logic 0 minus 1
L H L L (AB)' A plus AB'
L H L H B' (A + B) plus AB'
L H H L A⊕B A minus B minus 1
L H H H AB' AB minus 1
H L L L A'+B A plus AB
H L L H (A ⊕ B)' A plus B
H L H L B (A + B') plus AB
H L H H AB AB minus 1
H H L L Logic 1 A plus A (Note 1)
H H L H A+B' (A + B) plus A
H H H L A+B (A + B') plus A
H H H H A A minus 1
Pre-Experiment Questions:
1. What are the functions of a an ALU?
2. How does an ALU work?
3. Describe the components of ALU.
4. What are the basic operations of I/O unit?
Computer Organization & A r c h i t e c t u r e Lab (BCS-352) Manual (CS, III SEM) Page 39
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Procedure:
Connections are given as per circuit diagram.
Logical inputs are given as per circuit diagram.
Observe the output and verify the truth table.
Post-Experiment Questions:
1) What are the functions of a CPU?
2) What are the components of CPU and how are they interconnected?
3) What are the basic operations of memory unit?
4) How many ALU’s a computer can have?
Computer Organization & A r c h i t e c t u r e Lab (BCS-352) Manual (CS, III SEM) Page 40
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
EXPERIMENT 8
Aim: Design the data path of a computer from its register transfer language description
Theory:
The internal registers of a microprocessor characterize its architecture. For example, a 32‐bit
Microprocessor has (mostly) 32‐bit registers internally. Moving data among these registers is
the single most frequent operation that takes place in a computer. In this session, we will
construct a 4x4 "register file" comprising registers R0, R1, R2 and R3 (as shown in the figure of
Step 4) to demonstrate the concept of register transfer logic. We will also implement a simple
arithmetic and logic unit (ALU) and then combine the ALU and the register file to construct a
simple computer data path. Moving data from one register to another may be more accurately
described as a "copy" operation. The destination register takes on the value of the source
register which itself remains unchanged after the operation. The source and destination registers
may be the same register.
These register transfers are designated using register transfer notation. For example, copying the
contents of a register Rs into another register Rd would be written as:
Rd ← Rs
where Rs is the source register (and remains unchanged) and Rd is the destination register. A
register file comprises a decoder which chooses a destination register and a multiplexer to direct
the outputs of any register through to the data output lines. The decoder select lines may then be
viewed as the destination "address" and the multiplexer select lines as the source "address".
Procedure:
Step 1 Decoder
The register file requires a 2‐line to 4‐line decoder with HI‐true outputs and one HI‐true enable
input as shown in the circuit of Step 4. This is similar to the decoder you designed in a previous
lab.
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 41
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Step 3 Registers
The four registers R0, R1, R2 and R3 in the diagram below are to be implemented using the
VHDL code at the end of this lab (similar to Figure 7.46, p. 429 of the textbook). Each
registers Comprises 4 positive edge‐triggered D flip flops. Each register has a 4‐bit input
data and A 4‐bit Output data. The clock input to all flip flops in the register is defined as Clk.
Compile thiscode and make a symbol for the register
Load Enable
Source register
selection
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 42
Raj Kumar Goel Institute of Technology, Ghaziabad
The register file forms the basis of a "data path" which is a fundamental building block of
acomputer. See the diagram below. Data is selected from any register then stored back into
any other register in the register file, all in a single clock cycle ( a lo‐ hi‐ lo pulse applied
to the load enable LE input). A Quad 2:1 MUX included as shown below allows external
data to be inserted into the data path. Data can thus be transferred between any two
registers of our register file or any register can be loaded with external data. This data path
can execute the following
operations:
(a) any register can be loaded with external data from switches Rd ← data (4‐ bits)
(where d=0,1,2 or 3)
(b) any register can be loaded with the data contained in any one of the other registers,
including itself (register‐ to‐ register transfer) Rd ← Rs (where d, s = 0, 1, 2 or 3)
The implementation is shown below. The inputs [ D1, D0, S1, S0, DS ] form a 5‐ bit
"control" word which specifies the source (S1, S0) and destination (D1, D0) registers of
the register file and an operation (DS) that is to take place. For DS=0, external data from
switches is loaded into the destination register; for DS=1, data is transferred from the
source register to the destination register. Once the control word and data input (if
appropriate) are set on the level switches, execution is achieved by applying a load enable
(LE) input to the register file. This LE input may be considered as the clock to the entire
system. You can view the results of each operation using four LEDs connected to the
output of the register file as shown.
Design this data path using the graphic design editor. VHDL code for the Quad 2:1 MUX
design is given at the end of this lab. Test the circuit for various combinations of the
register transfers summarized in the following table.
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 43
Raj Kumar Goel Institute of Technology, Ghaziabad
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 44
Raj Kumar Goel Institute of Technology, Ghaziabad
Step 6 ALU
An ALU is a combinational logic circuit that performs various arithmetic and logic
operations on n-bit data (operands). A simple 8-function ALU that operates on 4-bit inputs
A and B is specified in the following table. The block symbol for an ALU is also given
below. The number of bits on the "function select" input determines how many operations
may be performed on the operands (in this example there are 23 = 8 functions). Its
definition in VHDL code is given at the end of this lab (see Figure 6.48, p.360 of the
textbook).
so that it has the capability to select two registers as outputs (Source Register A and Source
Register B).This will allow the contents of any two registers to be applied to the A and B
inputs of the ALU.This is easily achieved by adding a second Quad 4:1 MUX to the design
of
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 45
Raj Kumar Goel Institute of Technology, Ghaziabad
Rd RA + RB (where d, A, B = 0, 1, 2 or3)
Would allow us to load any register with the sum of any two registers.
The inputs [ D1, D0, SA1, SA0, SB1, SB0, s2, s1, s0, DS ] comprise a 10‐bit control word
which specifies a destination register (D1, D0) , the two source registers (SA1, SA0) and
(SB1, SB0), and the ALU function (s2, s1, s0) that operates on the source registers. The
DS input allows loading of the registers with external data via the Quad 2:1 MUX. For
DS=0, external data from switches is loaded into the destination register; for DS=1, data is
transferred from the ALU output to the destination register. As in Step 5, once the
control word and data input (inappropriate) are set on the level switches, execution is achieved
by applying a load enable (LE) input (pulse lo‐hi‐lo) to the register file. This LE input may
be considered as the clock to the entire system. You can view the results of each operation
using four LEDs connected to the output of the ALU as shown. The function that is
executed in response to a control word and a LE clock input is called a microoperation. A
series of microoperation applied to a data path is called a Microprogram. Try the following
examples of micro operations in your implementation:
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 46
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 47
Raj Kumar Goel Institute of Technology, Ghaziabad
EXPERIMENT 9
Aim: Implement a simple instruction set computer with a control unit and a data path.
Theory
In Figure the typical organization of a modern von Neumann processor is illustrated. Note that
the CPU, memory subsystem, and I/O subsystem are connected by address, data, and control
buses. The fact that these are parallel buses is denoted by the slash through each line that
signifies a bus.
Schematic diagram of a modern von Neumann processor, where the CPU is denoted by a
shaded box
It is worthwhile to further discuss the following components in Figure:
Processor (CPU) is the active part of the computer, which does all the work of data
manipulation and decision making.
Data path is the hardware that performs all the required operations, for example,
ALU,registers, and internal buses.
Control is the hardware that tells the data path what to do, in terms of switching,
operation selection, data movement between ALU components, etc.
The processor represented by the shaded block in Figure is organized as shown in Figure
below. Observe that the ALU performs I/O on data stored in the register file, while the Control
Unit sends (receives) control signals (resp. data) in conjunction with the register file.
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 48
Raj Kumar Goel Institute of Technology, Ghaziabad
Such implementation concerns are reflected in the use of logic elements and clocking strategies.
For example, with combinational elements such as adders, multiplexers, or shifters, outputs
depend only on current inputs. However, sequential elements such as memory and registers
contain state information, and their output thus depends on their inputs (data values and clock) as
well as on the stored state. The clock determines the order of events within a gate, and defines
when signals can be converted to data to be read or written to processor components (e.g.,
registers or memory). For purposes of review, the following diagram of clocking is presented:
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 49
Raj Kumar Goel Institute of Technology, Ghaziabad
Here, a signal that is held at logic high value is said to be asserted. In Section 1, we discussed
how edge-triggered clocking can support a precise state transition on the active clock pulse
edge (either the rising or falling edge, depending on what the designer selects). We also
reviewed the SR Latch based on nor logic, and showed how this could be converted to a
clocked SR latch. From this, a clocked D Latch and the D flip-flop were derived. In particular,
the D flip-flop has a falling-edge trigger, and its output is initially disserted (i.e., the logic low
value is present).
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 50
Raj Kumar Goel Institute of Technology, Ghaziabad
(a)
(b)
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 51
Raj Kumar Goel Institute of Technology, Ghaziabad
(c)
Register file (a) block diagram, (b) implementation of two read ports, and (c)
implementation of write port - adapted from [Maf01].
Since reading of a register-stored value does not change the state of the register, no "safety
mechanism" is needed to prevent inadvertent overwriting of stored data, and we need only
supply the register number to obtain the data stored in that register. (This data is available at
the Read Data output in Figure 4.4a.) However, when writing to a register, we need (1) a
register number, (2) an authorization bit, for safety (because the previous contents of the
register selected for writing are overwritten by the write operation), and (3) a clock pulse
that controls writing of data into the register.
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 52
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Figure 4.5. Note that the register file is written to by the output of the ALU. As in Section
4.1, the register file shown in Figure 4.6 is clocked by the RegWrite signal.
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 53
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
digits have the same value as b, thus implementing sign extension in twos complement
representation.
The load/store data path is illustrated in Figure 4.8, and performs the following actions in the
order given:
Register Access takes input from the register file, to implement the instruction, data, or
address fetch step of the fetch-decode-execute cycle.
Memory Address Calculation decodes the base address and offset, combining them to
produce the actual memory address. This step uses the sign extender and ALU.
Read/Write from Memory takes data or instructions from the data memory, and
implements the first part of the execute step of the fetch/decode/execute cycle.
Write into Register File puts data or instructions into the data memory, implementing
the second part of the execute step of the fetch/decode/execute cycle.
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 54
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Figure 4.8. Schematic diagram of the Load/Store instruction data path. Note that
the execute step also includes writing of data back to the register file, which is not shown in the
figure, for simplicity [MK98].
The load/store data path takes operand #1 (the base address) from the register file, and sign-
extends the offset, which is obtained from the instruction input to the register file. The sign-
extended offset and the base address are combined by the ALU to yield the memory address,
which is input to the Address port of the data memory. The MemRead signal is then activated,
and the output data obtained from the ReadData port of the data memory is then written back to
the Register File using its WriteData port, with RegWrite asserted.
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 55
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 56
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
The key to efficient single-cycle data path design is to find commonalities among instruction
types. For example, the R-format MIPS instruction data path of Figure 4.7 and the load/store
data path of Figure 4.8 have similar register file and ALU connections. However, the
following differences can also be observed:
1. The second ALU input is a register (R-format instruction) or a signed-extended lower
16 bits of the instruction (e.g., a load/store offset).
2. The value written to the register file is obtained from the ALU (R-format instruction)
or memory (load/store instruction).
These two data path designs can be combined to include separate instruction and data
memory, as shown in Figure 4.10. The combination requires an adder and an ALU to
respectively increment the PC and execute the R-format instruction.
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 57
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Figure 4.10. Schematic diagram of a composite data path for R-format and load/store instructions
[MK98].
Adding the branch data path to the data path illustrated in Figure 4.9 produces the augmented data
path shown in Figure 4.11. The branch instruction uses the main ALU to compare its operands and
the adder computes the branch target address. Another multiplexer is required to select either the
next instruction address (PC + 4) or the branch target address to be the new value for the PC.
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 58
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Schematic diagram of a composite data path for R-format, load/store, and branch instructions
ALU Control. Given the simple data path shown in Figure we next add the control unit.
Control accepts inputs (called control signals) and generates (a) a write signal for each state
element, (b) the control signals for each multiplexer, and (c) the ALU control signal. The
ALU has three control signals, as shown in Table , below.
Table ALU control codes
ALU Control Input Function
000 and
001 or
010 add
110 sub
111 slt
The ALU is used for all instruction classes, and always performs one of the five functions in
the right-hand column of Table . For branch instructions, the ALU performs a subtraction,
whereas R-format instructions require one of the ALU functions. The ALU is controlled by
two inputs: (1) the opcode from a MIPS instruction (six most significant bits), and (2) a two-
bit control field (which Patterson and Hennesey call ALUop). The ALUop signal denotes
whether the operation should be one of the following:
ALUop Input Operation
00 load/store
01 beq
10 determined by opcode
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 59
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
The output of the ALU control is one of the 3-bit control codes shown in the left-hand
column of Table 4.1. In Table 4.2, we show how to set the ALU output based on the
instruction opcode and the ALUop signals. Later, we will develop a circuit for generating
the ALUop bits. We call this approach multi-level decoding -- main control generates ALU
opbits, which are input to ALU control. The ALU control then generates the three-bit codes
shown in Table.
Table ALU control bits as a function of ALUop bits and opcode bits [MK98].
In this table, an "X" in the input column represents a "don't-care" value, which indicates that
the output does not depend on the input at the i-th bit position. The preceding truth table can
be optimized and implemented in terms of gates, as shown in Section C.2 of Appendix C of
the textbook.
4.3.1.2. Main Control Unit. The first step in designing the main control unit is to identify
the fields of each instruction and the required control lines to implement the data path shown
in Figure
Recalling the three MIPS instruction formats (R, I, and J), shown as follows:
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 60
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Bits 25-21: base register for load/store instruction - always at this location
Bits 15-0: 16-bit offset for branch instruction - always at this location
Bits 15-11: destination register for R-format instruction - always at this location
Bits 20-16: destination register for load/store instruction - always at this location
Note that the different positions for the two destination registers imply a selector (i.e., a mux)to
locate the appropriate field for each type of instruction. Given these constraints, we can add to
the simple data path thus far developed instruction labels and an extra multiplexer for the
WriteReg input of the register file, as shown in Figure 4.12.
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 61
Raj Kumar Goel Institute of Technology, Ghaziabad
Schematic diagram of composite data path for R-format, load/store, and branch instructions
Here, we see the seven-bit control lines (six-bit opcode with one-bit WriteReg signal) together with
the two-bit ALUop control signal, whose actions when asserted or deserted are given as follows:
RegDst
Deserted: Register destination number for the Write register is taken from bits 20-16 (rt
field) of the instruction
Asserted: Register destination number for the Write register is taken from bits 15-11 (rd
field) of the instruction
RegWrite
Deserted: No action
Asserted: Register on the WriteRegister input is written with the value on the WriteData
input
ALUSrc
Deasserted: The second ALU operand is taken from the second register file output (ReadData
2)
Asserted: the second alu operand is the sign-extended, lower 16 bits of the instruction
PCSrc
Deasserted: PC is overwritten by the output of the adder (PC + 4)
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 62
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
MemRead
Deasserted: No action
Asserted: Data memory contents designated by address input are present at the ReadData
output
MemWrite
Deasserted: No action
Asserted: Data memory contents designated by address input are present at the WriteData
input
RegWrite
Deasserted: The value present at the WriteData input is output from the ALU
Asserted: The value present at the register WriteData input is taken from data memory
Given only the opcode, the control unit can thus set all the control signals except PCSrc, which is
only set if the instruction is beq and the Zero output of the ALu used for comparison is true.
PCSrc is generated by and-ing a Branch signal from the control unit with the Zero signal from
the ALU. Thus, all control signals can be set based on the opcode bits. The resultant data path
andits signals are shown in detail in Figure 4.13.
Schematic diagram of composite data path for R-format, load/store, and branch instructions
withcontrol signals illustrated in detail
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 63
Raj Kumar Goel Institute of Technology, Ghaziabad
R-format Instruction
Execution of an R-format instruction (e.g., add $t1, $t0, $t1) using the data path developed in
Section 4.3.1 involves the following steps:
1. Fetch instruction from instruction memory and increment PC
2. Input registers (e.g., $t0 and $t1) are read from the register file
3. ALU operates on data from register file using the funct field of the MIPS instruction (Bits
5-0) to help select the ALU operation
4. Result from ALU written into register file using bits 15-11 of instruction to select the
destination register (e.g., $t1).
Note that this implementation sequence is actually combinational, because of the single-cycle
assumption. Since the data path operates within one clock cycle, the signals stabilize
approximately in the order shown in Steps 1-4, above.
Load/Store Instruction. Execution of a load/store instruction (e.g., lw $t1, offset($t2))
using the data path developed in Section 4.3.1 involves the following steps:
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 64
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Branch Instruction. Execution of a branch instruction (e.g., beq $t1, $t2, offset) using
the data path developed in Section 4.3.1 involves the following steps:
1. Fetch instruction from instruction memory and increment PC
2. Read registers (e.g., $t1 and $t2) from the register file. The adder sums PC + 4 plus sign-
extended lower 16 bits of offset shifted left by two bits, thereby producing the branch
target address (BTA).
Final Control Design. Now that we have determined the actions that the data path must
perform to compute the three types of MIPS instructions, we can use the information in Table 4.3
to describe the control logic in terms of a truth table. This truth table (Table 4.3) is to yield the
data path control circuitry.
Table ALU control bits as a function of ALUop bits and opcode bits
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 65
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
The jump is implemented in hardware by adding a control circuit to Figure 4.13, which is comprised
of:
An additional multiplexer, to select the source for the new PC value. To cover all cases, this
source is PC+4, the conditional BTA, or the JTA.
An additional control signal for the new multiplexer, asserted only for a jump instruction
(opcode = 2).
The resulting augmented data path is shown in Figure 4.14.
Schematic diagram of composite data path for R-format, load/store, branch, and jump instructions,
with control signals labeled
.
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 66
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Microinstruction Format
A microinstruction is an abstraction of low-level control that is used to program control logic
hardware. The microinstruction format should be simple, and should discourage or prohibit
inconsistency. (An inconsistent microinstruction requires a given control signal to be set to two
different values simultaneously, which is physically impossible.)
The implementation of each microinstruction should, therefore, make each field specify a set of
no overlapping values. Signals that are never asserted concurrently can thus share the same
field. Table 4.5 illustrates how this is realized in MIPS, using seven fields. The first six fields
control the data path, while the last field controls the microinstruction sequencing (deciding
which microinstruction will be executed next).
Table MIPS microinstruction format
Field Name Field Function
Register Specify read or write for Register File, as well as the source of a
control value to be written to the register file if write is enabled.
Specify read or write, and the source for a write. For a read, specify
Memory
the destination register.
PCWrite
Specify how the PC is to be written (e.g., PC+4, BTA, or JTA)
control
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 67
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
A field that controls a functional unit (e.g., ALU, register file, memory) or causes state
information to be written (e.g., ALU dest field), when blank, implies that no control
signals should be asserted.
A field that only specifies control of an input multiplexer for a functional unit, when left
blank, implies that the data path does not care about what value the output of the mux
has.
We can now create the Microprogram in stepwise fashion.
Instruction Fetch and Decode, Data Fetch. Each instruction execution first fetches
the instruction, decodes it, and computes both the sequential PC and branch target PC (if
applicable).The two microinstructions are given by:
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 68
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
in ALU input registers A and B. output (PC + 4) to be written into the PC, while the Sequencing
field tells control to go to dispatch table 1 for the next microinstruction address.
Dispatch Tables. Patterson and Hennessey consider the dispatch table as a case statement that
uses the opcode field and dispatch table i to select one of Ni different labels. For in Dispatch Table
#1 (i = 1, Ni = 4) we have label Mem1 for memory reference instructions, Rformat1 for arithmetic
and logical instructions, Beq1 for conditional branches, and Jump1 for unconditional branches. Each
of these labels points to a different microinstruction sequence that can be thought of as a kind of
subprogram. Each microcode sequence can be thought of as comprising a small utility that
implements the desired capability of specifying hardware control signals.
Memory Reference Instructions. Three microinstructions suffice to implement memory access
in terms of a MIPS load instruction: (1) memory address computation, (2) memory read, and
(3) register file write, as follows:
Label ALU control SRC1 SRC2 Register control Memory PCWrite Sequencing
----- ------------- ------ -------- ------------------- -------- --------- ------------
Mem1 Add A Extend ---------------------------------- Dispatch 2
LW2 --- --- --- --- Read ALU --- Seq
--- --- --- --- Write MDR --- --- Fetch
The details of each microinstruction are given on pp. 405-406 of the textbook.
R-format Execution. R-format instruction execution requires two microinstructions: (1) ALU
operation, labelled Rformat1 for dispatching; and (2) write to register file, as follows:
Label ALU control SRC1 SRC2 Register control Memory PCWrite Sequencing
----- ------------- ------ -------- ------------------- -------- --------- ------------
Rformat1 Func code A B --- --- --- Seq
--- --- --- --- Write ALU --- --- Fetch
The details of each microinstruction are given on p. 406 of the textbook.
Branch and Jump Execution. Since we assume that the preceding microinstruction
computed the BTA, the Microprogram for a conditional branch requires only the following
microinstruction:
Label ALU control SRC1 SRC2 Register control Memory PCWrite Sequencing
----- ------------- ------ -------- ------------------- -------- --------- ------------
Beq1 Subt A B --- --- ALUout-cond Fetch
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 69
Raj Kumar Goel Institute of Technology, Ghaziabad
Department of Computer Science & Engineering
Label ALU control SRC1 SRC2 Register control Memory PCWrite Sequencing
----- ------------- ------ -------- ------------------- -------- --------- ------------
Fetch Add PC 4 --- Read PC ALU Seq
--- Add PC Extshft Read ---------------------- Dispatch 1
Mem1 Add A Extend----------------------------------Dispatch 2
LW2 --- --- --- --- Read ALU --- Seq
--- --- --- --- Write MDR --- --- Fetch
SW2 --- --- --- --- Write ALU --- Fetch
Rformat1 Func code A B --- --- --- Seq
--- --- --- --- Write ALU --- --- Fetch
Beq1 Subt A B --- --- ALUout-cond Fetch
Jump1 --- --- --- --- --- Jump address Fetch
Here, we have added the SW2 microinstruction to illustrate the final step of the store instruction.
Observe that these ten instructions correspond directly to the ten states of the finite-state control
developed in Section 4.4. In more complex machines, Microprogram control can comprise tens or
Hundreds of thousands of microinstructions, with special-purpose registers used to store
intermediate data.
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 70
R Raj Kumar Goel Institute of Technology, Ghaziabad
EXPERIMENT 10
Theory:
HALF SUBTRACTOR
OUTPUTS
INPUT X INPUT Y
D B
0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 0
CIRCUIT DIAGRAM
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 71
R Raj Kumar Goel Institute of Technology, Ghaziabad
INPUTS OUTPUTS
A B BIN D BOUT
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
Procedure:
Identify the pins.
Connect the circuit as per circuit diagram.
Obtain outputs with various input combinations.
Verify it with the Boolean function using truth table
Result & Conclusion: All logical circuits have been implemented & verified through truth
table.
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 72
R Raj Kumar Goel Institute of Technology, Ghaziabad
Post-Experiment Question:
1. What are the applications of half subtractor?
2. What are the applications of full subtractor?
3. What does minuend and subtrahend denotes in a subtractor?
4. How can a full subtractor be implemented?
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 73
R Raj Kumar Goel Institute of Technology, Ghaziabad
APPENDIX
AKTU SYLLABUS
6. Design of an 8-bit Input/ Output system with four 8-bit Internal Registers.
8. Design the data path of a computer from its register transfer language description.
9. Design the control unit of a computer using either hardwiring or microprogramming based
on its register transfer language description.
10. Implement a simple instruction set computer with a control unit and a data path.
Computer Organization & Architecture Lab (BCS-352) Manual (CS, III SEM) Page 74