Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Computer Organization Lecture 22 Project 6 Hard disk drive Bus arbitration
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Project 6 Due: Friday, December 1 Microprogram the instruction set Complete MDP16 design Execute a simple program Extra credit for additional instructions
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering MDP16 execution Program stores 0x25, 0x35, and 0x45 at 0x100, 0x101, 0x102 and reads the numbers back
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering MicroROM contents
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Example trace $0 = 0x100 for address of sw
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Example trace, continued. Mem[100] = 0x25, Mem[101] = 0x35, Mem[102] = 0x45
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Example trace, continued. Now load 0x100, 0x101, 0x102 into $1
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Computer components Input: receives information from external world Output: transmits information to external world Memory: holds programs and data Data path: physical route that carries info Control: coordinates overall flow of info
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering System Bus The bus interconnects system agents
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering System view of a computer One Agent at-a-time owns the bus ··· Signal 0 Signal n Agent 0 Agent n ··· Bus Signal 1
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Agents Goal: perform some function (memory, I/O, etc.) Types –Master: can own the bus, assert signals –Slave: only responds when requested by master Operations –Memory or I/O space –Read or write –Interrupt
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering What type of agent? AgentMasterSlave CPUYN Memory Disk Display Keyboard Printer
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Moving-head disk Disk buses include EIDA, SATA, SCSI Performance = seek time + latency time + transfer time NOTE: Unique location denoted CHS cylinder, head, sector
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Disk features Platter: magnetically coated disk Side: one of two platter surfaces Arm: lever arm that swings across platter Head: sensor that reads/writes data on platter Track: circular region on platter Cylinder: collection of tracks with same radius Sector: region of a track, basic unit of data (B)
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Disk performance Seek: time to move arm Latency (rotational): time for platter to rotate to requested sector Transfer: time to move data across bus
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering High-end disk example Buffer = disk cache Host = PC disk controller
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Find disk bandwidth, transfer time? CLK = 100 ns, 32-bit data bus, 5 clocks/bus cycle, 512B sector
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Find the disk average latency? Twelve 5 cm platters, 7200 rpm, 120 GB
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering System view of a computer One Agent at-a-time owns the bus ··· Signal 0 Signal n Agent 0 Agent n ··· Bus Signal 1
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Example bus control signals?
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Bus cycle (phases) 1.Arbitration: owner defined 2.Address: ID of memory or I/O provided 3.Data: information transferred 4.Response: indicates completion of cycle Bus phases similar to instruction steps
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Bus timing Clk Breq Bgnt Ack Data Bus Driven ARB ADRDATARESP Address Bus Driven
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Bus timing example Shared signals driven by different agents Disk Mem Disk Disk-Adr Mem-data Mem Bus Cycle A little more complex
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Bus arbitration Serial: priority in-out, Request-Grant, sent from agent-to-agent (daisy-chain) Parallel: each agent asserts unique request (centralized), one grant asserted Distributed –Self-selection: agent codes combined to identify owner –Collision detection: request repeated after a delay
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Serial arbiter Each priority circuit ripples to next in line
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Design the priority circuit? ReqPinGntPout Gnt = Pout =
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Centralized arbitration More & fast logic, flexible algorithm Device 1Device 2Device n Central Arbiter Req 1 Gnt 1 Req 2 Gnt 2 Req n Gnt n Fixed, round-robin, multi-level, etc.
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Fixed centralize arbiter
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Simple RR arbiter Req2 Req1 Req3 Req0 Gntn = Staten Reqn
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering What type of agent? AgentMasterSlave CPUYN MemoryNY DiskYY DisplayYY KeyboardNY PrinterNY High-performance agents are often Masters
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Find disk bandwidth, transfer time? CLK = 100 ns, 32-bit data bus, 5 clocks/bus cycle, 512B sector
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Find the disk average latency? Twelve 5 cm platters, 7200 rpm, 120 GB
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Example bus control signals Bus request, bus grant Read, write Memory space, I/O space Address valid, data valid Wait Interrupt request, interrupt acknowledge
Fall EE 333 Lillevik 333f06-l22 University of Portland School of Engineering Design the priority circuit? ReqPinGntPout Gnt = Req · Pin Pout = Req · Pin