ca6-1 Les 6: Input en output "It always takes longer than you expect, even when you take into account Hofstadter's Law." Hofstadter’s law
ca6-2 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
ca6-3 Inhoud Bussen Communicatie en synchronisatie Secundair geheugen Invoerapparaten Uitvoerapparaten Verbinding met de buitenwereld
ca6-4 Von Neumann-machine Fysiek zicht Invoer/Uitvoer adres controle data BUS voeding Geheugen:bau-cellen RAM controle klok registers ALU Controle klok registers Geheugen CVE ALU cache
ca6-5 Busarbitrage: selectie van een master M M M M M M M M
ca6-6 Busarbitrage: daisy chain M M M M M M M M bus- arbiter bus- arbiter Bus request Bus grant Daisy chain
ca6-7 Busarbitrage: centraal M M M M M M M M bus- arbiter bus- arbiter Bus request Bus grant
ca6-8 Synchrone bus Bus klok: bv. 100 MHz T1T1 T2T2 T3T3 geldig adres data mreq rd wait Bus: synchroon
ca6-9 Asynchrone bus geldig adres mreq rd msyn ssyn data Bus: asynchroon
PC-bussen North Bridge Graphics RAM 10.6 GB/s 2 GB/s DMI ( Direct Media Interface ) CVE PCIe x 16 Graphics PCIe x 16 PCI express GHz seriële verbinding 4 Gb/s = 500 MB/s South Bridge ca6-10
South bridge PCI 2.0 LAN USB Mb/s South Bridge 500 MB/s Gb/s Oude standaarden 2 GB/s DMI (Direct Media Interface) Serial ATA 3 Gb/s ca6-11
ca6-12
ca6-13
ca6-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
bca9-15 Laptops ExpressCard Vroeger PCMCIA : Personal Computer Memory Card Industry Association (People Cannot Memorize Computer Industry Acronyms)
ca6-16 Inhoud Bussen Communicatie en synchronisatie Secundair geheugen Invoerapparaten Uitvoerapparaten Verbinding met de buitenwereld
ca6-17 Invoer / uitvoer-registers CVE randapparaaat controle toestand data IO-registers
ca6-18 IO-registers IO-adresruimte Geheugen Memory- mapped Port- mapped in out in out mov
ca6-19 Handshaking protocol data controle toestand
ca6-20 Handshaking protocol data controle toestand
ca6-21 Printerpoorten op PC Printer data Printer controle Printertoestand 07 strobe autofeed init selectin IRQ enable error select PE ack ready
ca6-22 Communicatie en synchronisatie Geprogrammeerde overdracht –Actieve synchronisatie –Onderbrekingen Directe geheugentoegang (Direct Memory Access, DMA )
ca6-23 Geprogrammeerde overdracht CVE bus geheugen IO-kaart
ca6-24 Actieve synchronisatie “polling” lees toestand klaar? doe overdracht neen ja “programma’s”
ca6-25 ; I/O adressen dr equ 378h; dataregister tr equ 379h; toestandsregister cr equ 37Ah; controleregister ; toestandsbits ready equ 80h ; bit 7 van het tr select equ 10h ; bit 4 van het tr ; controlebits selectin equ 08h ; bit 3 van het cr init equ 04h ; bit 2 van het cr strobe equ 01h ; bit 0 van het cr Actieve synchronisatie
ca6-26 ; print teken in al (overschrijft ah en dx) mov dx, tr mov ah, al lus: in al, dx and al, ready | select cmp al, ready | select jne lus movdx, 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 Actieve synchronisatie ?=
ca6-27 Onderbrekingsregelaar CVE bus geheugen IO- controller IO- controller ready Onderbreking: regelaar
ca6-28 Onderbrekingen CVE bus geheugen 8259 Interrupt controller 8259 Interrupt controller IO- controller IO- controller intr ready nr
ca6-29 Onderbrekingsregelaars in cascade M M S S CVE
ca6-30 Onderbrekingen doe overdracht programma interrupt service routine “programma” Testen van toestand nu in hardware!
ca6-31 nummer omschrijving IA32 0 divide by 0 1 single step 2 non maskable interrupt (parity error) 3 breakpoint 4 overflow 5 bound range exceeded 6 invalid opcode 7 device not available (no math co-cpu) 8 double fault 9 co-cpu segment overrun 10 invalid TSS 11 segment not present 12 stack-segment fault 13 general protection 14 page fault 15 … 31 reserved Onderbrekingen voor de IA32
ca6-32 nummer omschrijving 0IRQ hardware timer 1 IRQ keypress 2 IRQ tweede onderbrekingsregelaar 3 IRQ com1 4 IRQ com2 5 IRQ hard disk 6 IRQ floppy disk 7 IRQ parallel printer 1 8 IRQ real-time clock 9 IRQ redirect cascade 10 IRQ reserved 11 IRQ reserved 12 IRQ mouse 13 IRQ coprocessor exception 14 IRQ fixed disk 15 IRQ reserved Onderbrekingen voor onderbrekingsregelaar
ca6-33 Soorten onderbrekingen Onderbrekingen Excepties Software- onderbrekingen Hardware- onderbrekingen Maskeer- baar Niet- Maskeer- baar AbortsFaultsTraps Nuldeling Paginafout Breakpoint Overflow Hardware fout
ca6-34 Gesegmenteerd geheugen gdtr cs ds ss
ca6-35 Segment Descriptor Table gdtr Desc 0 Desc 1 Desc 2 Desc 3 Desc 4 Basis Limiet Descriptor Lim Basis + extra bits + Lim + Basis Basis cs ds ss es fs gs cs ds ss es fs gs
ca6-36 Interrupt Descriptor Table idtr Desc 0 Desc 1 Desc 2 Desc 3 Desc 4 Basis Limiet Descriptor EIP CS extra bits
ca6-37 Onderbrekingen stapel iret int 2 esp eflags esp cs esp eip esp Onderbreking: vlag
ca6-38 Onderbrekingen stapel iret int 2 eflags cs eip esp
ca6-39 Printerdriver ; definitie van constanten printer equ 378h dr equ printer tr equ printer+1 cr equ printer+2 ready equ 80h select equ 10h irq equ 10h selectin equ 08h init equ 04h strobeequ 01h
ca6-40 Veranderlijken ; definitie van veranderlijken bezig db 0 volgende dd 0 datastring db "dag allemaal",10,13,12,0
ca6-41 Print 1 byte printbyte: push edx mov dx,dr out dx,al mov dx,cr mov al,init | selectin | irq | strobe out dx,al mov al,init | selectin | irq out dx,al pop edx ret
ca6-42 Onderbrekingen CVE bus geheugen Interrupt controller Interrupt controller Parallelle Poort (printer) Parallelle Poort (printer) int ready
ca6-43 Printeronderbreking : IRQ7 van de onderbrekingsregelaar Onderbrekingsmasker 7fh Nieuw Onderbrekingsmasker Aanmaak van een masker
ca6-44 Printstring printstring: cmp byte ptr [bezig],0 jnz printstring cli in al,21h and al,7fh out 21h,al sti mov al,[esi] cmp al,0 jnz byteklaar ret byteklaar: mov byte ptr [bezig],1 inc esi mov [volgende],esi call printbyte ret
ca6-45 Onderbrekingen CVE bus geheugen 8259 Interrupt controller 8259 Interrupt controller IO- controller IO- controller int ready
ca6-46 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,21h or al,80h out 21h,al sti
ca6-47 De drijver drijver: push eax mov al,20h out 20h,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 meer: call printbyte exit: pop esi pop eax iret
ca6-48 Onderbrekingsregelaar CVE bus geheugen Interrupt controller Interrupt controller IO- controller IO- controller int ready Onderbreking: regelaar
ca6-49 Actieve synchronisatie –Zeer snel –Mogelijke monopolisering van de CVE Onderbrekingen –Minder snel –Betere benutting van de CVE Besluit
ca6-50 DMA-regelaar CVE bus geheugen DMA-Cont IO- controller IO- controller BRQ ready BGR start adres lengte
ca6-51 Directe geheugentoegang Geen programma-uitvoering meer Er wordt enkel één geheugencyclus “gestolen” per overdracht (cycle stealing)
ca6-52 Inhoud Bussen Communicatie en synchronisatie Secundair geheugen Invoerapparaten Uitvoerapparaten Verbinding met de buitenwereld
ca6-53 Secundair geheugen Magnetische Schijven Magnetische banden (tapes) Optische schijven
ca6-54 Magnetische schijven
ca6-55 Magnetische schijven Sturing + buffering van de harde schijf
ca6-56 Magnetische schijven 3 platen (platters) 6 oppervlakken
ca6-57 Magnetische schijven Glazen of aluminium oppervlak met magnetiseerbare laag, gepolijst.
ca6-58 Magnetische schijven 6 koppen (zweven 5 m boven oppervlak) Per positie kunnen 6 sporen (op 6 oppervlakken) gelezen worden (cilinder)
ca6-59 Magnetische schijven spoor sector
ca6-60 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 Tijden
ca6-61 Voorbeeld HD ParameterWaarde Capaciteit150 GB Aantal sectoren Rotatiesnelheid rpm Latentie2.99 ms Zoektijd ms gemiddeld Spoor-naar-spoor zoektijd0.4 ms Opstarttijd7-10 s MTBF uur (137 jaar) Waarborg5 jaar Foutkans< 1 op bits
ca6-62 Voorbeeld HD ParameterWaarde Start-stop cycli> Buffer16 MiB Buffer naar computer1.5 Gb/s (SATA) Buffer naar schijf84 MB/s Temperatuur5-55C Vochtigheid5-95% Hoogte m Vermogen Sleep 10W 2.5 W
Voorbeeld SSD ca6-63 Model NumberST800FM0012 Interface6-Gb/s SAS Capacity800GB Guaranteed logical blocks1,562,824,368 Programming page size8192B Sustained data transfer rate370MB/s Average latency0.273ms Random read seek time0.293ms Random write seek time0.137ms I/O data transfer rate600MB/s Unrecoverable read errors1 in
Voorbeeld SSD ca6-64 MTBF2,000,000 hours Annual Failure Rate0.44% Average idle power4.38W Average operating power5.93W Operating temperature5°–60°C Nonoperating temperature-40°–70°C Operating Shock (max)1000 Gs for 0.5ms Nonoperating Shock (max)1000 Gs for 0.5ms
ca6-65 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
ca6-66 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 kB/s) Nu: ZIP (100,250,750 MB), en Jaz (2 GB), floptical (tot 2 GB) Duur
ca6-67 Tapes Vooral voor backup Goedkoop medium Voornamelijk –DDS: Digital Data Storage (Digital Audio Tape) –DLT: Digital Linear Tape Capaciteit GB
ca6-68 CD-ROM Origineel 783 MB muziek (74 min) 650 MB data (meer foutcorrectie)
ca6-69 CD-ROM
ca6-70 CD-ROM Eerste CD-ROM lezers: 300 TPM of 150 kB/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)
ca6-71 CD-schrijver Eenmaal: CD-R (recordable) Meermaals: CD-RW (rewritable) Schrijven is trager dan lezen
ca6-72 DVD-ROM Nu Blu-ray: 25 GB/per laag – tot 2 lagen
ca6-73 Inhoud Bussen Communicatie en synchronisatie Secundair geheugen Invoerapparaten Uitvoerapparaten Verbinding met de buitenwereld
ca6-74 Invoerapparaten Toetsenbord Muizen & trackballs, joysticks Lichtpennen en aanwijsschermen Digitiseertablet
ca6-75 Toetsenbord 101 toetsen (enhanced keyboard) 104 toetsen (windows keyboard) Layout: qwerty, azerty, qwertz, dvorak
ca6-76 Toetsenbordmatrix Bij toetsaanslag: sluiten van de schakelaar Omzetting scancode (x,y) naar letterteken Interne buffering (16 bytes)
ca6-77 Toetsenborden Bounce: bij een toetsaanslag soms schakeldender slechts 1 teken Bij ingeduwd houden: typematics. Na een zeker tijdsinterval b.v. 30 x het teken per seconde. Op laptops: vaak speciale (compacte) toetsenborden en afzonderlijke numerieke toetsenborden
ca6-78 Muis: bovenaanzicht encoder chip roterende bal
ca6-79 Muis: onderaanzicht roterende bal
ca6-80 Muis “rollers” 90º: X- en Y-richting
ca6-81 Muis infrarode pulsgenerator
ca6-82 Optische muis led camera
ca6-83 Andere muistypes Trackball: omgekeerde muis –B.v. bij laptops, of bij draagbare muizen Touchpad: bij laptops (wrijven en tikken) “Pointing stick” tussen toetsen Joystick: xy-positie + rotatie Muizen kunnen ook optisch zijn (lichtbron + reflecterende muismat + sensor)
ca6-84 Lichtpennen en aanraakschermen Lichtpen: detecteert de elektronenstraal per refresh. Enkel bruikbaar indien het pixel niet zwart is. Aanraakscherm –Optisch (met leds, of met camera) –Elektrisch (verandering weerstand)
ca6-85 Digitiseertablet Soort muis + muismat met absolute coördinaten Vooral voor professionele toepassingen: grafisch, virtuele realiteit, CAD, GIS, enz.
ca6-86 Inhoud Bussen Communicatie en synchronisatie Secundair geheugen Invoerapparaten Uitvoerapparaten Verbinding met de buitenwereld
ca6-87 Uitvoerapparaten Laserprinters Ink jet printers Video display
ca6-88 Laserprinter
ca6-89 Inkjetprinters Goedkoop Voldoende snel (8-16 ppm, ZW) Goede resolutie: 300 dpi tot 1200 dpi (dots per inch)
ca6-90 Spuitgaten Gaten van 50 m diameter Gaten van 25 m diameter
ca6-91 Ink jet methoden Thermisch (dampvorming) Piezo-elektrisch (mechanisch) (epson)
ca6-92 Videodisplay Technologie: –CRT: Kathodestraalbuis (Cathode Ray Tube) –LCD: Liquid Cristal Display Schermafmeting, aspect ratio & oriëntatie Maximale resolutie & kleurendiepte Dot pitch (grootte van een pixel) Refresh rate
ca6-93 Kathodestraalbuis
ca6-94 Afmeting, aspect-ratio & oriëntatie Grootte: 12, 14, 15, 17, 19, 21 duim Aspect-ratio: 4:3 (zoals TV) of 16:9 (film) Oriëntatie: landschap of portret Opmerking: zichtbare grootte < opgegeven grootte
ca6-95 Kleurendiepte, resolutie, dot pitch True color: 8 bits per kleurcomponent (rood, groen, blauw) per pixel: 16,8 miljoen combinaties (SVGA-standaard) Resolutie –XGA: 800x600 pixels & true color –UXGA: 1600x1200 pixels & true color Resolutie & kleurendiepte bepalen de hoeveelheid videoram in de videokaart Dot pitch: grootte van een pixel
ca6-96 Dot pitch 0,31 mm 0,28 mm (courant) 0,27 mm 0,26 mm 0,25 mm 0,51 mm (TV) 0,31 mm 0,28 mm (courant) 0,27 mm 0,26 mm 0,25 mm 0,51 mm (TV)
ca6-97 Refreshrate Aantal keer dat het scherm per seconde herschreven wordt Om flikkering te vermijden 72 Hz, best 85 Hz Non-interlaced: per periode wordt het volledige scherm herschreven, en niet 50% van de lijnen (even/oneven) zoals bij een TV.
ca6-98 Analoog vs. digitaal VGA (Video graphics array): zet het binaire beeld om in een analoog signaal dat naar de (analoge) monitor gestuurd wordt DVI (Digital Video Interface): stuurt de digitale informatie rechtstreeks naar een digitale monitor
ca6-99 LCD-scherm LCD: Liquid Cristal Display Twee types: –Passieve matrix LCD –Actieve matrix LCD (gebaseerd op een dunne film transistor TFT) Lichtbron: –Ingebouwd achter het LCD (backlit) –Omgevingslicht (reflectief via spiegel)
ca6-100 Inhoud Bussen Communicatie en synchronisatie Secundair geheugen Invoerapparaten Uitvoerapparaten Verbinding met de buitenwereld
ca6-101 Verbindingen Infrarood (IrDA) Gb/s USB 2.0 poort0.48 Gb/s USB 3.0 poort4.8 Gb/s Thunderbolt10 Gb/s Ethernet-poort10 Gb/s SCSI poort5.1 Gb/s SATA6006 Gb/s SAS6 Gb/s Fibre channel5.1 Gb/s Infiniband Gb/s
ca6-102 Pauze