Data Path Control
Data Path Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5-2 Chapter 5 - Datapath and Control
Chapter Contents
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5-3 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5-4 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5-5 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5-6 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5-7 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5-8 Chapter 5 - Datapath and Control
Always contains the
value 0,cannot be
changed
ARC
but only 38 register
Datapat
h
Program counter, which
keeps track of the next
instruction to be read
from the main memory Are used in interpreting
the ARC instruction set
and not visible to the
User has direct access to user.
%pc only through call
and jmpl instruction
Holds the current
instruction that is being
executed. Not visible to
the user.
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5-9 Chapter 5 - Datapath and Control
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5- Chapter 5 - Datapath and Control
10
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5- Microarchitecture of the Chapter 5 - Datapath and Control
11
ARC
Read only memory (2048-word x
41 bit) that contains values for all
of the lines that must be
controlled to implement each
user-level instruction.
Each 41-bit word is called a
microinstruction
When the microarchitecture begins operation ( at power on time, cth), a rest circuit (not shown)
places the microword at location 0 In the control store into the MIR and executes it. From that point
onward, a microword is selected for execution from either the next, the decode or the jump inputs to
the CS address MUX, according to the setting in the COND field of the MIR and the output of the CBL
logic. After each microword is placed in the MIR…datapath perform operations..
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5- Chapter 5 - Datapath and Control
12
Microword Format
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5- Chapter 5 - Datapath and Control
13
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5- Chapter 5 - Datapath and Control
14 Settings for the COND Field of the
Microword
000 – no jump taken
001, 010, 011, 100 or 101 – then a conditional jump is taken
to the control store location in the JUMP ADDR field
n, z, v,or c flag or bit 13 of %ir
IR[13] = bit 13 of the insruction register %ir
COND filed 110 the unconditional jump is taken
111 when an instruction is being decoded
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5- Chapter 5 - Datapath and Control
15
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5- Chapter 5 - Datapath and Control
16
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5- Chapter 5 - Datapath and Control
17
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5- Chapter 5 - Datapath and Control
18
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5- Chapter 5 - Datapath and Control
19
Partial
ARC
Micro-
program
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5- Chapter 5 - Datapath and Control
20
Partial ARC
Microprogra
m (cont’)
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
Example: Add the subcc
5- Chapter 5 - Datapath and Control
21
Instruction
• Consider adding instruction subcc (subtract) to the ARC
instruction set. subcc uses the Arithmetic format and op3 =
001100.
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5- Chapter 5 - Datapath and Control
22
Exercise
1. Assume that the Instruction Register (IR) now
contains the following 32-bit pattern:
10001110100000011000000000000101
Given the above machine code (in IR) :
a. Identify the equivalent ARC assembly language
instruction.
2. Write the binary form (microword) for the
microinstructions shown above in Figure 3. Use the
value 0 for any fields that are not needed. (Refer to
Appendix A for the microword format and related
Address Operation Statements
ALU and COND table)
1608: IF R [ IR[13] ] THEN GOTO 1610 ;
1609: R [rd] ← ORCC ( R [rs1], R [rs2] ) ;
GOTO 2047 ;
1610: R [temp0] ← SIMM13 ( R [ir] ) ;
1611: R [rd] ← ORCC ( R [rs1], R [temp0] ) ;
GOTO 2047 ;
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring
5- Chapter 5 - Datapath and Control
23
a. st %r3, [%r5+z]
b. st %r26, %r29, [array]
c. ld [%r4+%r7], %r2
d. ld [%r14+ b], %r2
e. and %r3, %r2, %r8
f. subcc %r9, 9 %r6
g. add %r3, 3, %r3
– Meaning
– Object code
Computer Architecture and Organization by M. Murdocca and V. Heuring © 2007 M. Murdocca and V.
Heuring