90 likes | 102 Views
Important Announcements. Midterm 3 is on Wednesday, April 20 from 7pm to 8:30pm Practice Midterm 1 released tonight Please email me ASAP in case you need a conflict Final Exam (cumulative) is on Monday, May 9 from 1:30pm to 4:30pm Please email me ASAP in case you need a conflict. 0 1. Add.
E N D
Important Announcements • Midterm 3 is on Wednesday, April 20 from 7pm to 8:30pm • Practice Midterm 1 released tonight • Please email me ASAP in case you need a conflict • Final Exam (cumulative) is on Monday, May 9 from 1:30pm to 4:30pm • Please email me ASAP in case you need a conflict
0 1 Add Add Shift left 2 Pipelined datapath 1 0 PCSrc 4 IF/ID ID/EX EX/MEM MEM/WB P C RegWrite Read register 1 Read data 1 MemWrite ALU Read address Instruction [31-0] Zero Read register 2 Read data 2 0 1 Result Address Write register Data cache Instruction cache MemToReg Registers ALUOp Write data ALUSrc Write data Read data 1 0 Instr [15 - 0] Sign extend RegDst MemRead Instr [20 - 16] Instr [15 - 11]
Add PC register stores virtual address • The PC registers stores PCv = virtual address of the next instruction 1 0 PCSrc 4 P Cv Read address Instruction [31-0] Instruction cache
Add PC register stores both virtual and physical address • The PC registers stores both PCv and PCp 1 0 PCSrc 4 P Cp P Cv Read address Instruction [31-0] Instruction cache
virtual page number (VPN) page offset virtual address TLB physical address page offset page table block offset index tag disk cache data memory Virtual Memory system PPN
Hard drives • The textbook shows the ugly guts of a hard disk • Data is stored on double-sided magnetic disks called platters • Each platter is arranged like a record, with many concentric tracks • Tracks are further divided into individual sectors, which are the basic unit of data transfer • Each surface has a read/write head like the arm on a record player, but all the heads are connected and move together • A 75GB IBM Deskstar has roughly: • 5 platters (10 surfaces), • 27,000 tracks per surface, • 512 bytes per sector, • ~512 sectors per track… …but this number increases going from the center to the rim
I/O Performance • There are two fundamental performance metrics for I/O systems: • Latency Time to initiate data-transfer (units = sec) • Bandwidth Rate of initiated data-transfer (units = bytes/sec) Time = latency + transfer_size / bandwidth secbytes / (bytes/sec) Dominant term for small transfers Dominant term for large transfers
Accessing data on a hard disk • Factors affecting latency: • Seek time measures the delay for the disk head to reach the track • A rotational delay accounts for the time to get to the right sector • Factors affecting bandwidth: • Usually the disk can read/write as fast as it can spin • Bandwidth is determined by the rotational speed, which also determines the rotational delay • We can compute average seek time/rotational delay/etc. but careful placement of data on the disk can speed things up considerably: • head is already on or near the desired track • data in contiguous sectors • in other words, locality! • Even so, loading a page from the hard-disk can take tens of milliseconds
Parallel I/O • Many hardware systems use parallelism for increased speed • A redundant array of inexpensive disks or RAID system allows access to several hard drives at once, for increased bandwidth • similar to interleaved memories from last week