




Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Material Type: Notes; Class: Des Microproc Syst; Subject: Electrical Engineering And Computer Science; University: University of Michigan - Ann Arbor; Term: Winter 2010;
Typology: Study notes
1 / 8
This page cannot be seen from the preview
Don't miss anything!





(adopted Steven and Marios’s slides)
-^
then
sets REQ# to low. (why do we need a delay?
How much of a delay?)
then
sets ACK# to low.
the transaction
ADS[7:0]CMD Data[7:0] REQ# ACK#
0x
0x
ADS[0]ADS[1]ADS[2]ADS[3]ADS[4]ADS[5]ADS[6]ADS[7]REQ#
Button (0 or 1) 0
Data[0]^ .. .. .. .. .. Data[7]
Delay
What aboutCMD?
ADS[0]ADS[1] ADS[2]ADS[3]ADS[4]ADS[5]ADS[6]ADS[7]REQ#
Flip-flopwhichcontrols LED
clock D
DATA[0]DATA[1] DATA[2]DATA[3]DATA[4]DATA[5]DATA[6]DATA[7]
Delay
The basic function of the MPC823 bus is similar, though slightlymore complicated. (Chapter 13 of “White Book”)• Timing is controlled by a global clock; all signals are in referenceto the rising edge of this clock.• 32-bit data bus D[0:31]• 26-bit address bus A[6:31]
clock cycle of transaction
MPC823 Write
write @ A
write @ A
#Burst
Many More…
Of course, things aren’t that simple
Example of complexity:
The Burst Mechanism (13.4.4)
Burst transfers are used to move 16 bytes at a time
-^
#BURST must be asserted by master
-^
#BI must
not
be asserted by slave
Must be a 16-byte aligned access
-^
Supports critical word first.
Arbitration
(page 13-28)
Requesting device
Arbiter
Request the bus •Assert #BR ACK bus mastership •Wait for #BB to be deasserted•Assert #BB•Negate #BR
Perform data transfer Release bus mastership •Negate #BB
Grant bus arbitration Assert #BG^ Terminate Arbitration^ Negate #BG
Transfer Alignment
0x
MPC823 external bus supports natural address alignment
Dealing with Smaller Accesses: Reads
0x
Assume that the word value 0x12345678 is stored at 0x1000 andthat r4 contains 0x1000. What happens on the following transfers?
0x
0x100_
Consider two adjacent 32-bit memory locations and assume thatr4 = 0x1000. What happens when the CPU executes thefollowing instructions?
r3 , 2 (r4)
r3 , 1 (r4)
What are some problems with unaligned accesses?
What are the basic wires for specifying the transaction andmoving the data–
What are the types of transactions? How are they specified?– How is length of data transfer specified?
-^
Who can delay (insert wait states?)
-^
How is arbitration done?
-^
Out-of-order transfers allowed?–
Any restrictions?
-^
Error reporting?
-^
Weirdness?–
Alignment for example.
-^
-^
-^
class (take EECS 570!) but basics are pretty easy tograsp
write I=1write J=
-^
If both programs are executed in order, is there anysetting of J and I which is impossible?