Скачать презентацию Les 6 Input en output It always takes Скачать презентацию Les 6 Input en output It always takes

de0372067014116960dfa841a6dc3190.ppt

  • Количество слайдов: 75

Les 6: Input en output 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 • 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 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 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: selectie van een master M M ca 6 -5

Busarbitrage: daisy chain Bus grant busarbiter Bus request M M Daisy chain ca 6 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 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 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 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. 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 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 -12

ca 6 -13 ca 6 -13

ca 1 -14 ca 1 -14

Afkortingen • • PCI: Peripheral Component Interconnect ISA: Industry Standard Architecture SCSI: Small Computer 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 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 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 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 -19

Handshaking protocol data controle toestand ca 6 -20 Handshaking protocol data controle toestand ca 6 -20

Printerpoorten op PC Printer data 7 0 Printer controle be ro d st fee 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 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 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 “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 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 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 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 Onderbrekingen ready CVE 8259 intr Interrupt controller IOcontroller bus nr geheugen ca 6 -28

Onderbrekingsregelaars in cascade S CVE M ca 6 -29 Onderbrekingsregelaars in cascade S CVE M ca 6 -29

Onderbrekingen programma Testen van toestand nu in hardware! doe overdracht interrupt service routine “programma” 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 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 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 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 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 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 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: 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 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 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 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 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 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 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 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 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 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 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 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 • 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 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 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 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 Secundair geheugen • Magnetische Schijven • Magnetische banden (tapes) • Optische schijven ca 6 -53

Magnetische schijven ca 6 -54 Magnetische schijven ca 6 -54

Magnetische schijven Sturing + buffering van de harde schijf ca 6 -55 Magnetische schijven Sturing + buffering van de harde schijf ca 6 -55

Magnetische schijven 3 platen (platters) 6 oppervlakken ca 6 -56 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 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 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 Magnetische schijven spoor sector ca 6 -59

Tijden • Zoektijd: verplaatsen van de kop naar de juiste cilinder • Latentie: wachten 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 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 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 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 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 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) 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 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 CD-ROM Origineel 783 MB muziek (74 min) 650 MB data (meer foutcorrectie) ca 6 -68

CD-ROM ca 6 -69 CD-ROM ca 6 -69

CD-ROM • Eerste CD-ROM lezers: 300 TPM of 150 k. B/s • Later: x 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 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 DVD-ROM Blu-ray: 25 GB/per laag – tot 2 lagen ca 6 -72

Inhoud • Bussen • Communicatie en synchronisatie • Secundair geheugen • Verbinding met de 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 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 Pauze ca 6 -75