Computer2 2

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

LAB ASSIGNMENT (CSE-S205)

COMPUTER ORGANISATION AND


ARCHITECTURE
BATCH-2K22

SUBMITTED BY: SUBMITTED TO:


➢ Aditya Rai (005) Dr. ALOK KUMAR
➢ Harshit Jauhari (015) (Assistant Professor ,
➢ Priyanshu Chandra (031) Computer Science)
➢ Priyanshu Gupta (055)
ABOUT COMPUTER 2

Computer 2 is a basic Microprogrammed control computer. The


control signals associated with operations are stored in special
memory units inaccessible by the programmer as Control Words.
Control signals are generated by a program similar to machine
language programs. Micro-programmed control unit is slower in
speed because of the time it takes to fetch microinstructions from
the control memory.
A microprogrammed computer consists of two memory units:
• A main memory for storing instructions and data
• A control memory for storing the microprogram.
Four registers are associated with the processor unit –
I. PC (Program Counter)
II. AR (Address Register)
III. DR (Data Register)
IV. AC (Accumulator)
Two registers are associated with control unit –
I. CAR (Control Address Register)
II. SBR (Subroutine Register)
Also, there are multiplexers instead of a common bus (as in
computer 1) for transfer of information among the registers.

REGISTERS:
A register is a very fast computer memory which is used to
execute programs and operations efficiently. This is done by
giving access to commonly used values. For this purpose, there
are various classes of CPU registers which work in coordination
with the memory to run operations efficiently. The sole purpose
of registers is fast retrieval of data for processing by CPU. Various
Registers in computer 2 are as follows:
➢ PC-It stands for Program Counter. It holds address of instruction
and contains 12 bits.
➢ DR-It stands for Data Register. It holds memory operand and
contains 16 bits.
➢ AR-It stands for Address Register. It holds address for memory
and contains 12 bits.
➢ AC-It stands for Accumulator. It is Processor register and contains
16 bits.
➢ CAR- It stands for Control Address Register. It specifies the address
of microinstruction.
➢ SBR- It stands for Subroutine Register.
CONTROL MEMORY:
Each computer instruction initiates series of microinstructions in control
memory. The binary microprogram specifies the word content of the
control memory. When a ROM is used for the control memory, the
microprogram binary list provides the truth table for fabricating the
unit. This fabrication is a hardware process and consists of creating a
mask for the ROM. It produces the l's and 0's for each word. The bits of
ROM are fixed once the internal links are fused during the hardware
production. To modify the instruction set of the computer, it is
necessary to generate a new microprogram and mask a new ROM.
The old one can be removed and the new one inserted in its place. The
control function that specifies a microoperation is called a control
variable. When control variable is in 1 binary state then
microoperation is executed otherwise the state is not changed.
Control word- The control variable at any given time can be
represented by a string of 1’s and 0’s called control word which can be
programmed to perform various operations on the component of the
system.
Microprogram control unit- A control unit whose binary control
variables are stored in memory is called a microprogram control unit.
The control memory is ROM so all control information is permanently
stored.

Address Sequencing
A routine is specified by the microinstruction stored in groups in control
memory. Each computer has its own microprogram routine and it’s
important that the hardware that controls address sequencing of
control memory must be capable of sequencing the microinstructions
within a routine and be able to branch from one routine to another.
The microinstructions in control memory contains a set of bits to initiate
microoperations in computer registers and other bits to specify the
method by which the next address is obtained. The four different paths
from which the CAR receives address are:
• The incrementor increments the context of the control address
register (CAR) receives the address.
• Branching is achieved by specifying the branch address in one of
obtained by using part of the microinstruction to select a specific
status bit in order to determine its condition.
• An external address is transferred into control memory via a
mapping logic circuit.
• The return address for a subroutine is stored in a special register,
that value is used when the microprogram wishes to return from
the subroutine.

Conditional Branching
It is obtained by using part of the microinstruction to select a specific
status bit in order to determine its condition. The status conditions are
special bits in the system that provide parameter information such as
the carry out of an adder, the sign bit of a number, the mode bits of
an instruction, and i/o status conditions. The status bits, together with
the field in the microinstruction that specifies a branch address, control
the branch logic which further tests the condition.
For unconditional branching, fix the value of one status bit to be one
load the branch address from control memory into CAR.
INSTRUCTION SET OF COMPUTER 2

The user of a computer can control the process by means of a


program. A program is a set of instructions that specify the operations,
operands, and the sequence of processing.

A computer instruction is a binary code that specifies a sequence of


micro-operations for the computer.
The microinstructions generate the microoperations to:
• Fetch the instruction from main memory
• Evaluate the effective address
• Execute the operation
• Return control to the fetch phase for the next instruction

MAPPING OF INSTRUCTIONS:
A special type of branch exists when a microinstruction specifies a
branch to the first word in control memory where a microprogram
routine is located. The status bits for this type of branch are the bits in
opcode.
The 20 bits of the microinstruction are divided into four functional
parts. The three fields F1, F2, and F3 specify microoperations for the
computer. The CD field elects status bit conditions. The BR field
specifies the type of branch to be used. The AD field contains a branch
address.

FIGURE SHOWING THE MICRO -CODE INSTRUCTION


FORMAT (20 BITS)
SUBROUTINES:
Subroutines are programs that are used by other routines to
accomplish a particular task and can be called from any point within
the main body of the microprogram.

FORMAT:

FOUR COMPUTER INSTRUCTIOS:

SYMBOL OPCODE DESCRIPTION


ADD 0000 AC <- AC + M[EA]
BRANCH 0001 If (AC<0) then (PC<-EA)
STORE 0010 M[EA]<-AC
EXCHANGE 0011 AC<-M[EA], M[EA]<-AC

Microoperations - The microoperations are subdivided into three


fields of three bits each. The three bits in each field are encoded to
specify seven distinct microoperations are following

F1 Microoperation Symbol
001 None NOP
001 AC<-AC + DR ADD
010 AC <- 0 CLRAC
011 AC<-AC + I INCAC
100 AC <-DR DRTAC
101 AR <-DR (0-10) DRTAR
110 AR <- PC PCTAR
111 M[AR] <- DR WRITE

F2 Microoperation Symbol
000 None NOP
001 AC <-AC – DR SUB
010 AC <-AC V DR OR
011 AC<-AC /\ DR AND
100 DR <-M[AR] READ
101 DR <-AC ACTOR
110 DR <-DR + I IN CDR
111 DR (0-10) <- PC PCTDR

F3 Microoperation Symbol
000 None NOP
001 AC <-AC (+) DR XOR
010 AC <-AC COM
100 AC <-shl AC SHL
101 AC <- shr AC SHR
101 PC <- PC + I INCPC
110 PC <-AR ARTPC
111 Reserved

Condition field - The CD (condition) field consists of two bits which are
encoded to specify four status bit conditions as listed following

CD Condition Symbol Comments


00 Always = I U Unconditional branch
01 DR(I5) I Indirect address bit
10 AC(I5) S Sign bit of AC
11 AC = O Z Zero value in AC

Branch field - The BR (branch) field consists of two bits. It is used, in


conjunction with the address field AD, to choose the address of the next
microinstruction
BR Symbol FUCTION
00 JMP CAR <-A D if condition = 1
CAR <-CAR + I if condition = 0
01 CALL CAR <-AD, SBR <- CAR + I if condition = I
CAR <-CAR + I if condition = 0
10 RET CAR <-SBR (Return from subroutine)
11 MAP CAR (2-5) <- DR (11-14), CAR (0,1,6) <-0

FETCH ROUTINE:
The control memory has 128 locations, each one of 20 bits. The first 64
locations are occupied by the routines for the 16 instructions, addresses
0-63. So, the fetch routine can start at address 64.
The microinstructions for the fetch routine are:
• AR<-PC
• DR<-M[AR], PC<-PC+1
• AR<-DR (0-10), CAR (2-5) <-DR (11-14), CAR (0,1,6) <-0
BINARY MICROPROGRAM FOR CONTROL MEMORY
IMPLEMENTATION OF CONTROL UNIT
The control unit is a component of a computer's central processing unit
that directs the operation of the processor. It tells the computer's
memory, arithmetic logic unit and input and output devices how to
respond to the instructions that have been sent to the processor.

Control Unit is the part of the computer’s central processing unit


(CPU), which directs the operation of the processor. It is the
responsibility of the Control Unit to tell the computer’s memory,
arithmetic/logic unit and input and output devices how to respond to
the instructions that have been sent to the processor. It fetches internal
instructions of the programs from the main memory to the processor
instruction register, and based on this register contents, the control unit
generates a control signal that supervises the execution of these
instructions.
A control unit works by receiving input information to which it
converts into control signals, which are then sent to the central
processor. The computer’s processor then tells the attached hardware
what operations to perform. The functions that a control unit performs
are dependent on the type of CPU.
The control memory out of each subfield must be decoded to provide
the distinct microoperations. The outputs of the decoders are
connected to the appropriate inputs in the processor unit.
The bits of the microinstruction are usually divided into fields, with
each field defining a distinct, separate function. The number of control
bits that initiate microoperations can be reduced by grouping
mutually exclusive variables into fields and encoding the k bits in each
field to provide 2k microoperations.
The three fields of the microinstruction in the output of control
memory are decoded with 3x8 decoder. Each of the output must be
connected to proper circuit to initiate the corresponding
microoperation as specified. The multiplexers select the information
from DR when output 5 is active and from PC when it is inactive. The
transfer into AR occurs with a clock transition only when the output 5
or 6 is active. For the arithmetic logic shift unit, the control signals are
instead of coming from the logic gates, now these inputs will now come
from the outputs of AND, ADD and DRTAC respectively.

DECODING OF MICROOPERATION FIELDS


MICROPROGRAM SEQUENCER
The basic components of a microprogrammed control unit are the
control memory and the circuits that select the next address.
The address selection part is called a microprogram sequencer.
The purpose of a microprogram sequencer is to present an address to
the control memory so that a microinstruction may be read and
executed. The next-address logic of the sequencer determines the
specific address source to be loaded into the control address register.
The block diagram of the microprogram sequencer is shown in below
figure. The control memory is included in the diagram to show the
interaction between the sequencer and the memory attached to it.
There are two multiplexers in the circuit.
• The first multiplexer selects an address from one of four sources
and routes it into control address register CAR.
• The second multiplexer tests the value of a selected status bit
and the result of the test is applied to an input logic circuit.
The output from CAR provides the address for the control memory.
The content of CAR is incremented and applied to one of the
multiplexer inputs and to the subroutine register SBR. The other three
inputs to multiplexer come:
• From the address field of the present microinstruction
• From the out of SBR
• From an external source that maps the instruction
The CD (condition) field of the microinstruction selects one of the
status bits in the second multiplexer. If the bit selected is equal to 1, the
T variable is equal to 1; otherwise, it is equal to 0. The T value together
with two bits from the BR (branch) field goes to an input logic circuit.
The input logic in a particular sequencer will determine the type of
operations that are available in the unit. The input logic circuit in
above figure has three inputs I0, I1, and T, and three outputs, S0, S1, and
L.
Variables S0 and S1 select one of the source addresses for CAR. Variable
L enables the load input in SBR. The binary values of the selection
variables determine the path in the multiplexer. For example, with S1,
S0 = 10, multiplexer input number 2 is selected and establishes transfer
path from SBR to CAR.
The truth table for the input logic circuit is shown in Table below

Inputs I1 and I0 are identical to the bit values in the BR field. The bit
values for S 1 and S 0 are determined from the stated function and the
path in the multiplexer that establishes the required transfer. The
subroutine register is loaded with the incremented value of CAR
during a call microinstruction (BR = 01) provided that the status bit
condition is satisfied (T = 1).
The truth table can be used to obtain the simplified Boolean
functions for the input logic circuit:
S1 =I1
S0= I1 I0+ I1’T
L = I1 ’I0 T
The circuit can be constructed with 3 AND gates, an OR gate and an
inverter.
MICROPROGRAM SEQUENCER FOR A CONTROL MEMORY
CIRCUIT OF COMPUTER2

You might also like