de0372067014116960dfa841a6dc3190.ppt
- Количество слайдов: 75
Les 6: Input en output "It always takes longer than you expect, even when you take into account Hofstadter's Law. " Hofstadter’s law ca 6 -1
Doelstelling Uniforme interface van de CVE met zijn omgeving • Snelheden variëren sterk • Randapparaten niet synchroon met CVE • Gegevens kunnen fouten bevatten • Randapparaten kunnen falen ca 6 -2
Inhoud • Bussen • Communicatie en synchronisatie • Secundair geheugen • Verbinding met de buitenwereld ca 6 -3
BUS Von Neumann-machine Fysiek zicht adres CVE data controle AL voeding U Controle controle klok cache registers Geheugen: bau-cellen RAM Invoer/Uitvoer ca 6 -4
Busarbitrage: selectie van een master M M ca 6 -5
Busarbitrage: daisy chain Bus grant busarbiter Bus request M M Daisy chain ca 6 -6
Busarbitrage: centraal Bus grant busarbiter Bus request M M ca 6 -7
Bus: synchroon Synchrone bus Bus klok: bv. 100 MHz T 1 T 2 T 3 geldig adres data mreq rd wait ca 6 -8
Bus: asynchroon Asynchrone bus geldig adres mreq rd msyn data ssyn ca 6 -9
PC-bussen PCIe x 16 Graphics CVE 10. 6 GB/s North Bridge Graphics RAM 10. 6 GB/s PCIe x 16 PCI express 2. 0 5 GHz seriële verbinding 4 Gb/s = 500 MB/s 2 GB/s DMI (Direct Media Interface) South Bridge ca 6 -10
South bridge 2 GB/s DMI (Direct Media Interface) South Bridge PCI 2. 0 LAN 500 MB/s Gb/s USB 2. 0 Serial ATA 480 Mb/s 3 Gb/s Oude standaarden ca 6 -11
ca 6 -12
ca 6 -13
ca 1 -14
Afkortingen • • PCI: Peripheral Component Interconnect ISA: Industry Standard Architecture SCSI: Small Computer Systems Interface USB: Universal Serial Bus AGP: Advance Graphics Port IDE: Integrated Drive Electronics SATA: Serial ATA (Parallel Ata = IDE) SAS: Serially Attached SCSI ca 6 -15
Inhoud • Bussen • Communicatie en synchronisatie • Secundair geheugen • Verbinding met de buitenwereld ca 6 -16
controle CVE toestand data randapparaaat Invoer / uitvoer-registers IO-registers ca 6 -17
IO-registers Geheugen mov Memorymapped Portmapped IO-adresruimte in out ca 6 -18
Handshaking protocol data controle toestand ca 6 -19
Handshaking protocol data controle toestand ca 6 -20
Printerpoorten op PC Printer data 7 0 Printer controle be ro d st fee to au it in in ct e le bl se ena Q IR Printertoestand r ro er ct le se PE k ac y ad re ca 6 -21
Communicatie en synchronisatie • Geprogrammeerde overdracht – Actieve synchronisatie – Onderbrekingen • Directe geheugentoegang (Direct Memory Access, DMA) ca 6 -22
Geprogrammeerde overdracht CVE IO-kaart bus geheugen ca 6 -23
Actieve synchronisatie “polling” lees toestand neen klaar? ja doe overdracht “programma’s” ca 6 -24
Actieve synchronisatie ; I/O adressen dr equ 378 h ; dataregister tr equ 379 h ; toestandsregister cr equ 37 Ah ; controleregister ; controlebits selectin equ 08 h ; bit 3 van het cr init equ 04 h ; bit 2 van het cr strobe equ 01 h ; bit 0 van het cr ; toestandsbits ready equ 80 h ; bit 7 van het tr select equ 10 h ; bit 4 van het tr ca 6 -25
Actieve synchronisatie ; print teken in al (overschrijft ah en dx) mov dx, tr mov ah, al 11010000 lus: in al, dx 10010000 and al, ready | select 10010000 cmp al, ready | select ? =10010000 jne lus mov dx, dr mov al, ah out dx, al mov dx, cr mov al, selectin | init | strobe out dx, al mov al, selectin | init out dx, al ca 6 -26
Onderbrekingsregelaar Onderbreking: regelaar CVE ready IOcontroller bus geheugen ca 6 -27
Onderbrekingen ready CVE 8259 intr Interrupt controller IOcontroller bus nr geheugen ca 6 -28
Onderbrekingsregelaars in cascade S CVE M ca 6 -29
Onderbrekingen programma Testen van toestand nu in hardware! doe overdracht interrupt service routine “programma” ca 6 -30
Onderbrekingen voor de IA 32 nummer omschrijving IA 32 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 divide by 0 single step non maskable interrupt (parity error) breakpoint overflow bound range exceeded invalid opcode device not available (no math co-cpu) double fault co-cpu segment overrun invalid TSS segment not present stack-segment fault general protection page fault … 31 reserved ca 6 -31
Onderbrekingen voor onderbrekingsregelaar nummer omschrijving 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 IRQ hardware timer IRQ keypress IRQ tweede onderbrekingsregelaar IRQ com 1 IRQ com 2 IRQ hard disk IRQ floppy disk IRQ parallel printer 1 IRQ real-time clock IRQ redirect cascade IRQ reserved IRQ mouse IRQ coprocessor exception IRQ fixed disk IRQ reserved ca 6 -32
Soorten onderbrekingen Onderbrekingen Excepties Aborts Faults Softwareonderbrekingen Traps Hardwareonderbrekingen Maskeerbaar Niet. Maskeerbaar Hardware Nuldeling Breakpoint fout Paginafout Overflow ca 6 -33
Gesegmenteerd geheugen 0 8 16 24 gdtr cs 8 ds 16 ss 24 ca 6 -34
Segment Descriptor Table Basis Limiet gdtr cs Desc 0 ds Desc 1 ss Desc 2 es fs Descriptor gs Basis<31: 24> + extra bits + Lim<19: 16> + Basis<23: 16> Desc 3 Desc 4 Basis<15: 0> Lim<15: 0> ca 6 -35
Interrupt Descriptor Table Basis Limiet idtr Desc 0 Desc 1 Desc 2 Desc 3 Desc 4 Descriptor EIP<31: 16> extra bits CS<15: 0> EIP<15: 0> ca 6 -36
Onderbrekingen 0 1 2 int 2 stapel iret esp esp eip cs eflags Onderbreking: vlag ca 6 -37
Onderbrekingen 0 1 2 int 2 stapel esp iret eip cs eflags esp ca 6 -38
Printerdriver ; definitie van constanten printer equ 378 h dr equ printer tr equ printer+1 cr equ printer+2 ready select equ 80 h 10 h irq selectin init strobe equ equ 10 h 08 h 04 h 01 h ca 6 -39
Veranderlijken ; definitie van veranderlijken bezig db 0 volgende dd 0 datastring db "dag allemaal", 10, 13, 12, 0 ca 6 -40
Print 1 byte printbyte: push mov out pop ret edx dx, dr dx, al dx, cr al, init | selectin | irq | strobe dx, al al, init | selectin | irq dx, al edx ca 6 -41
Onderbrekingen ready CVE 10111100 int Interrupt controller Parallelle Poort (printer) bus geheugen ca 6 -42
Aanmaak van een masker Printeronderbreking: IRQ 7 van de onderbrekingsregelaar. Onderbrekingsmasker 10111100 7 fh 01111111 Nieuw Onderbrekingsmasker 00111100 ca 6 -43
printstring: cmp jnz cli in and out sti mov cmp jnz ret byteklaar: mov inc mov call ret byte ptr [bezig], 0 printstring Printstring al, 21 h al, 7 fh 21 h, al al, [esi] al, 0 byteklaar byte ptr [bezig], 1 esi [volgende], esi printbyte ca 6 -44
Onderbrekingen ready CVE 8259 int Interrupt controller IOcontroller bus geheugen ca 6 -45
Hoofdprogramma main mov eax, 39 mov ebx, drijver call installeer_handler mov esi, datastring call printstring ; ; . . . voer hier het hoofdprogramma uit. . . ; wacht: cmp byte ptr [bezig], 0 jnz wacht cli in al, 21 h or al, 80 h out 21 h, al sti ca 6 -46
drijver: meer: exit: push eax mov al, 20 h out 20 h, al sti push esi mov esi, [volgende] mov al, [esi] inc esi mov [volgende], esi cmp al, 0 jnz meer mov byte ptr [bezig], 0 jmp exit call printbyte pop esi pop eax iret De drijver ca 6 -47
Onderbrekingsregelaar ready CVE 00111100 int Interrupt controller IOcontroller bus geheugen Onderbreking: regelaar ca 6 -48
Besluit • Actieve synchronisatie – Zeer snel – Mogelijke monopolisering van de CVE • Onderbrekingen – Minder snel – Betere benutting van de CVE ca 6 -49
DMA-regelaar start ready BRQ DMA-Cont CVE BGR adres lengte IOcontroller bus geheugen ca 6 -50
Directe geheugentoegang • Geen programma-uitvoering meer • Er wordt enkel één geheugencyclus “gestolen” per overdracht (cycle stealing) ca 6 -51
Inhoud • Bussen • Communicatie en synchronisatie • Secundair geheugen • Verbinding met de buitenwereld ca 6 -52
Secundair geheugen • Magnetische Schijven • Magnetische banden (tapes) • Optische schijven ca 6 -53
Magnetische schijven ca 6 -54
Magnetische schijven Sturing + buffering van de harde schijf ca 6 -55
Magnetische schijven 3 platen (platters) 6 oppervlakken ca 6 -56
Magnetische schijven Glazen of aluminium oppervlak met magnetiseerbare laag, gepolijst. ca 6 -57
Magnetische schijven 6 koppen (zweven 5 m boven oppervlak) Per positie kunnen 6 sporen (op 6 oppervlakken) gelezen worden (cilinder) ca 6 -58
Magnetische schijven spoor sector ca 6 -59
Tijden • Zoektijd: verplaatsen van de kop naar de juiste cilinder • Latentie: wachten totdat de juiste sector onder de kop komt • Transfertijd: tijd nodig om gegevens te lezen of te schrijven http: //www. youtube. com/watch? v=9 e. MWG 3 fwi. EU ca 6 -60
Voorbeeld HD Parameter Capaciteit Aantal sectoren Waarde 150 GB 293 046 768 Rotatiesnelheid Latentie Zoektijd Spoor-naar-spoor zoektijd Opstarttijd MTBF Waarborg Foutkans 10 000 rpm 2. 99 ms 4. 6 -5. 2 ms gemiddeld 0. 4 ms 7 -10 s 1 200 000 uur (137 jaar) 5 jaar < 1 op 1015 bits ca 6 -61
Voorbeeld HD Parameter Waarde Start-stop cycli Buffer naar computer Buffer naar schijf > 20 000 16 Mi. B 1. 5 Gb/s (SATA) 84 MB/s Temperatuur Vochtigheid Hoogte 5 -55 C 5 -95% -305 -12200 m Vermogen Sleep 10 W 2. 5 W ca 6 -62
Voorbeeld SSD Model Number Interface Capacity Guaranteed logical blocks Programming page size Sustained data transfer rate Average latency Random read seek time Random write seek time I/O data transfer rate Unrecoverable read errors ST 800 FM 0012 6 -Gb/s SAS 800 GB 1, 562, 824, 368 8192 B 370 MB/s 0. 273 ms 0. 293 ms 0. 137 ms 600 MB/s 1 in 1016 http: //www. youtube. com/watch? v=viac 3 j 6 Me. II&feature=related ca 6 -63
Voorbeeld SSD MTBF Annual Failure Rate Average idle power Average operating power Operating temperature Nonoperating temperature Operating Shock (max) Nonoperating Shock (max) 2, 000 hours 0. 44% 4. 38 W 5. 93 W 5°– 60°C -40°– 70°C 1000 Gs for 0. 5 ms ca 6 -64
Master Control Block Eerste sector die door het besturingssysteem geladen wordt na het opstarten van de CVE. Meestal sector 0 van spoor 0 van oppervlak 0 Ook master boot record genaamd ca 6 -65
Floppy disk • • Zelfde principe als de hard-disk Veel kleiner (1, 44 MB) Draait niet indien niet gebruikt Rotatiesnelheid: 300 TPM Aantal sporen: 80 Sectors per spoor: 18 Bandbreedte: 500 kb/s (64, 5 k. B/s) ZIP (100, 250, 750 MB), en Jaz (2 GB), floptical (tot 2 GB) ca 6 -66
Tapes LTO-1 LTO-2 LTO-3 LTO-4 LTO-5 LTO-6 LTO-7 LTO-8 LTO-9 Introductiejaar 2000 2003 2005 2007 2010 2012 2015 Capaciteit (GB) 100 200 400 800 1500 2500 6000 Bandbreedte (MB/s) 20 40 80 120 140 160 300 Tapelengte (m) 609 680 820 846 960 Densideit (bits/mm) Sporen 4880 384 7398 512 9638 704 15143 2176 3584 13250 15142 896 1280 TBA 12800 26000 427 708 LTO: Linear Tape-Open ca 6 -67
CD-ROM Origineel 783 MB muziek (74 min) 650 MB data (meer foutcorrectie) ca 6 -68
CD-ROM ca 6 -69
CD-ROM • Eerste CD-ROM lezers: 300 TPM of 150 k. B/s • Later: x 40, x 56 originele snelheid • Snelheid varieert afhankelijk van de plaats: constant linear velocity: stroom bits per seconde is constant (bij hard disk: constant angular velocity: snelheid disk is constant) ca 6 -70
CD-schrijver • Eenmaal: CD-R (recordable) • Meermaals: CD-RW (rewritable) • Schrijven is trager dan lezen ca 6 -71
DVD-ROM Blu-ray: 25 GB/per laag – tot 2 lagen ca 6 -72
Inhoud • Bussen • Communicatie en synchronisatie • Secundair geheugen • Verbinding met de buitenwereld ca 6 -73
Verbindingen • • • Infrarood (Ir. DA) USB 2. 0 poort USB 3. 0 poort Thunderbolt Ethernet-poort SCSI poort SATA 600 SAS Fibre channel Infiniband 0. 000075 Gb/s 0. 48 Gb/s 4. 8 Gb/s 10 Gb/s 5. 1 Gb/s 6 Gb/s 5. 1 Gb/s 14 -312 Gb/s ca 6 -74
Pauze ca 6 -75


