SEHH2264 L3 Computer Instruction and Interconnection Cont
SEHH2264 L3 Computer Instruction and Interconnection Cont
Lecture 3
Interconnections (continued)
and Input/Output
+
Textbook: William Stallings
Computer Organization and Architecture
10th Edition
Chapter 12
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
2
+
Agenda
◼Memory
◼Transfer of Control
The data setup time, ts, is the time for which the data must be available at the input to
system B for it to be recognized. The data hold, th, time is the time for which the data must
remain stable at system B’s input after it has been captured.
The time taken for a data transfer, tT, is, therefore, tT = td + tp + ts + th.
Inserting typical values for these parameters yields 4 + 1.5 + 2 + 0 = 7.5 ns, corresponding
to a data transfer rate of 1/(7.5 ns) = 109/7.5 = 133.3 MHz.
In practice, a data transfer requires time to initiate it, called the latency, tL.
Taking latency into account gives a maximum data rate of 1/(tT + tL).
Higher data rates can be achieved with pipelining, by transmitting the next data element
before system B has completed reading the previous element.
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
+ 12
The Address Bus
◼ Some systems have an explicit address bus that operates in
parallel with the data bus. When the processor writes data to
memory, an address is transmitted to the memory system at the
same time the data is transmitted.
write
◼ Performance parameters:
◼ Clock speed
◼ Type and number of instructions available
◼ Average time required to execute an instruction
◼ Memory access time
◼ Power dissipation in the system
◼ Number of I/O devices and types of I/O devices connected
◼ The data transfer capacity of the bus
+ Timing
Data N–1
External
Address M Ports Data
Internal
Data Interrupt
Signals
External
Data
Instructions Address
Control
Data CPU Signals
Interrupt Data
Signals
Control lines
Data lines
200
201
202 SUB X, Y
203 BRZ 211
Unconditional
branch Conditional
branch
210 BR 202
211
Conditional
branch
235
Main
4100 CALL Proc1
4101 Program
4500
RETURN
4800
Procedure
Proc2
RETURN
4601 4651
4101 4101 4101 4101 4101
(a) Initial stack (b) After (c) Initial (d) After (e) After (f) After (g) After
contents CALL Proc1 CALL Proc2 RETURN CALL Proc2 RETURN RETURN
y2 Stack
Pointer
y1
x1 x1
◼ The intent was to provide tools for the compiler writer to produce
optimized machine language translation of high-level language
programs
11011100
+11000000
110011100
Z = 0, N = 1
C = 1, V = 0
CISC processors, like the Intel IA32 update status flags after each operation.
RISC processors, like the ARM, require the programmer update the status
flags.
The ARM does it appending an S to the instruction; for example SUBS or
ADDS.
36
+
Status bits (flags)
◼ Overflow (V):
◼ The signed result is too big or too small to fit in the destination
◼ Is ignored when doing unsigned operations
◼ Carry (C):
◼ Unsigned result is too big to fit in the destination.
◼ Is ignored when doing 2’s complement operations
◼ Zero (Z):
◼ The output value is zero
◼ Negative (N):
◼ The result is a negative value