close

Вход

Забыли?

вход по аккаунту

код для вставкиСкачать
The Micro Architecture Level
Mic-1 architecture on Tanenbaum’s book
Dept. of Computer Science
Virginia Commonwealth University
Mic-1 block diagram
CMSC 312 Computer Organization
2
Hongsik Choi
1. Why the C bus is represented as a bit map?
while B bus register is encoded in a 4 bit field
Only one register can
be loaded onto B bus,
yet more than one
register can be
selected to be loaded
from C bus
CMSC 312 Computer Organization
3
Hongsik Choi
2. Give a circuit diagram for “High bit”.
Simple answer?
F =(JAMZ AND Z) OR (JAMN AND N) OR NEXT_ADDRESS[8]
CMSC 312 Computer Organization
4
Hongsik Choi
Calculation of Next Address
JAMZ
JAMN
Addr8
Z
MPC8
N
JAMC
Addr7



MPC7
MBR7












Addr0
MPC0
MBR0
CMSC 312 Computer Organization
5
Hongsik Choi
Calculation of Next address
MPC points to the next
microinstruction.
it is computed from
Next_Address
JAM fields
the ALU
status N and Z,
the MBR
If JMPC MPC[0:7] = Addr[0:7]
Else Addr[0:7] OR MBR[0:7].
MPC[8] = Addr[8] or
(JAMZ and Z) or
(JAMN and Z)
CMSC 312 Computer Organization
6
Hongsik Choi
Calculation of Next Address
CMSC 312 Computer Organization
7
Hongsik Choi
3. Next address = 0x1FF and use JMPC?
Does it make sense? What if Next address is 0xFF?
111111111 (Next Address)
bbbbbbbb (MBR)
No, Meaningless
Next address is usually, 0x00 or 0x100
Why?
CMSC 312 Computer Organization
8
Hongsik Choi
4. What if add k=5 after IF?
K=5
BIPUSH 5
ISTORE k
CMSC 312 Computer Organization
9
Hongsik Choi
5 IJVM translation of i= k + n + 5
ILOAD k
ILOAD k
ILOAD n
ILOAD n
IADD
BIOUSH 5
BIOUSH 5
IADD
IADD
IADD
ISTORE i
ISTORE i
5
n
k
k
k
n
k
k+n
5
k+n
CMSC 312 Computer Organization
n+5
k
k+n+5
k+n+5
10
Hongsik Choi
6. Give the JAVA statement
ILOAD j
ILOAD n
ISUB
BIPUSH 7
i = j-n-7 + j-n-7
ISUB
DUP
IADD
ISTORE i
j
n
j
j-n
CMSC 312 Computer Organization
7
j-n
j-n-7
11
j-n-7
j-n-7
2(j-n-7)
Hongsik Choi
7. Is it possible?
If (Z) go to L1; else go to L2 // on page 259
0x75
0x40
0x140
Z : upper half or lower half
CMSC 312 Computer Organization
12
Hongsik Choi
8.Why not: if_cmpeq3 Z = TOS-MDR;rd
If_icmpeq1
MAR=Sp=Sp-1; rd
If_icmpeq2
MAR=SP=SP-1
If_icmpeq3
H=MDR; rd
If_icmpeq4
OPC = TOS
If_icmpeq5
TOS = MDR
If_icmpeq6
Z=OPC-H; if (Z) go to T; else go to F
The only possible subtrahend is H
CMSC 312 Computer Organization
13
Hongsik Choi
9. How long it will takes?
i = j+ k; w/ 2.tGHz Mic1
ILOAD(6)
Main
PC = PC +1; fetch; go to (MBR)
Main
PC = PC +1; fetch; go to (MBR)
Iload1 H=LV
Main
PC = H=LV
PC +1; fetch; go to (MBR)
ISTORE1
Iload2 MAR=MBRU+H; rd
IADD1 MAR=SP
= SP-1; rd;
ISTORE2
MAR=MBRU+H
Iload3 MAR=SP=SP+1
IADD2
ISTORE3 H=TOS
MDR=TOS; wr
Iload4 PC = PC +; fetch; wr
IADD3 MDR SP=MAR=SP-1;
= TOS+MDR-H;wr;
ISTORE4
wr goto main
Iload5 TOS = MDR; go to main
ISTORE5
PC = PC +1; fetch
ILOAD(6)
ISTORE6
ILOAD j
ILOAD k
IADD
ISTORE
TOS = MDRT; goto main
IADD(4)
ISTORE(7)
23microinstructions *0.4nsec = 9.2 nsec
2.5GHz means 1 cycle / (1 / 2.5* G)sec = 0.4nanosec
CMSC 312 Computer Organization
14
Hongsik Choi
Microinstruction
CMSC 312 Computer Organization
15
Hongsik Choi
Microinstruction
CMSC 312 Computer Organization
16
Hongsik Choi
Microinstruction: load k
ILOAD K
0x15 0x03
CMSC 312 Computer Organization
17
Hongsik Choi
Microinstruction: iadd
IADD
0x60
CMSC 312 Computer Organization
18
Hongsik Choi
Microinstruction: istore
ISTORE I
0x36 0x01
CMSC 312 Computer Organization
19
Hongsik Choi
Microinstruction: Homework
by Nov 28
CMSC 312 Computer Organization
20
Hongsik Choi
10 speed with Mic-2
Mic1 : 2 bus architecture
Mic2 : simplified decoding, 3 bus, IFU
Mic3 : 4 stage pipeline
Mic4 : 7 state pipeline
What is
IFU
common?
(Instruction Fetch Unit)
PC is passed
Independently
through theincrement
CPU and incremented
PC and fetch next byte
PC is used
(assemble
to fetch 8next
andbyte
16 bit operands)
Depends
Operands
on the
are opcode
read from
make
memory
available the next 8 or 16 bit
whether or not doing so makes sense.
Operand are written to memory
ALU does computation and results are stored back
CMSC 312 Computer Organization
21
Hongsik Choi
Mic-2
CMSC 312 Computer Organization
22
Hongsik Choi
How to design IFU?
Fetch 4 bytes and load into shifter
Feed into MBR1 and MBR2
Whenever PC is changed, IFU must be changed
CMSC 312 Computer Organization
23
Hongsik Choi
ILOAD(6)
ILOAD(6)
IADD(4)
ISTORE(7)
23microinstructions *0.4nsec = 9.2 nsec
Main
Iload1
Iload2
Iload3
Iload4
Iload5
PC = PC +1; fetch; go to (MBR)
H=LV
MAR=MBRU+H; rd
MAR=SP=SP+1
PC = PC +; fetch; wr
TOS = MDR; go to main
2.5GHz means 1 cycle / (1 / 2.5* G)sec = 0.4nanosec
ILOAD(3)
Iload1
MAR = LV + MBR1U;rd
Iload2
MAR=SP=SP+1
Iload3
TOS=MDR;wr;goto(MBR1)
ILOAD(3)
as in Fig. 4-30 pp282-283
IADD(3)
ISTORE(5)
14 instn*0.4 = 5.6 nanosec
23microinstructions *0.4nsec = 9.2 nsec
5.6/9.2 = x/100
2.5GHz means 1 cycle / (1 / 2.5* G)sec = 0.4nanosec
CMSC 312 Computer Organization
24
x = 60.87sec
Hongsik Choi
11 Write microcode for POPTWO
Pop1
MAR = SP -1; rd
Pop2
Pop3
TOS = MDR; goto Main
PopTwo1
SP=SP−1
PopTwo2
MAR=SP=SP−1; rd
PopTwo3
PopTwo4
TOS=MDR; gotoMain1
CMSC 312 Computer Organization
25
Hongsik Choi
12 loading locals 0- through 4
Special 1 byte opcodes for loading locals 0
to 3 onto the stack instead of ILOAD.
How should modify IJVM to make the best
use of it.
Local 0 is the link pointer, (rarely used)
Let LV point first local variables as an offset( -1)
CMSC 312 Computer Organization
26
Hongsik Choi
13 ISHR (Arithmetic Shit Right)
Use top two values, replacing with one value, Second word is operand to be
shifted. It should be shifted between o-31 depending on the value of first
Opcode for ISHR is 122 (0x7A)
a. What is the arithmetic operation equivalent to shit right with a
count of 2?
Extra: due Nov. 29th ?
b. Write microcode.
00000…1101
000000…110
0000000…11
00000000…1
13
3
CMSC 312 Computer Organization
Floor(fisrst)/2second
27
Hongsik Choi
14 ISHL
Fisrst*2second
CMSC 312 Computer Organization
28
Hongsik Choi
15 INVOKRVIRTUAL
It needs to know how many parameters. Why?
Compute the base address of the new local variable frame
by subtracting off the number of parameters from the stack
pointer and setting LV to point to OBJREF
CMSC 312 Computer Organization
29
Hongsik Choi
16 DLOAD in Mic-2
dload1
dload2
dload3
dload4
dload5
dlaod6
MAR = LV + MBR1U; rd
H = MAR + 1
MAR = SP = SP +1; wr
MAR = H; rd
MAR = SP = SP + 1; wr
TOS = MDR; goto (MBR)
CMSC 312 Computer Organization
30
Hongsik Choi
17 finite state machine
CMSC 312 Computer Organization
31
Hongsik Choi
18 equivalents?
CMSC 312 Computer Organization
32
Hongsik Choi
19 finite state machine
CMSC 312 Computer Organization
33
Hongsik Choi
20 IFU with a 5 byte shifter register
CMSC 312 Computer Organization
34
Hongsik Choi
21 larger shifter for IFU
CMSC 312 Computer Organization
35
Hongsik Choi
22 Mic 2 : go to
CMSC 312 Computer Organization
36
Hongsik Choi
23 speed with Mic-2
CMSC 312 Computer Organization
37
Hongsik Choi
24 Mic-4
CMSC 312 Computer Organization
38
Hongsik Choi
25 two level cache
CMSC 312 Computer Organization
39
Hongsik Choi
26 3 way cache?
CMSC 312 Computer Organization
40
Hongsik Choi
27 pipeline
CMSC 312 Computer Organization
41
Hongsik Choi
28 prefetch
CMSC 312 Computer Organization
42
Hongsik Choi
29 cycle 6
CMSC 312 Computer Organization
43
Hongsik Choi
30 dependency in pipeline
CMSC 312 Computer Organization
44
Hongsik Choi
31 Rewrite Mic-1 intepreter
CMSC 312 Computer Organization
45
Hongsik Choi
32 write simulator
CMSC 312 Computer Organization
46
Hongsik Choi
1/--страниц
Пожаловаться на содержимое документа