310 likes | 438 Views
Sběrnice a přerušení. Typy přerušení. programové (výsledek vykonání instrukce) přetečení v ALU, dělení nulou … pokus vykonat nepovolenou instrukci pokus o přístup na nepovolenou adresu v paměti generované časovačem (na procesoru) pro vykonávání „cyklických“ činností OS
E N D
Typy přerušení • programové (výsledek vykonání instrukce) • přetečení v ALU, dělení nulou … • pokus vykonat nepovolenou instrukci • pokus o přístup na nepovolenou adresu v paměti • generované časovačem (na procesoru) • pro vykonávání „cyklických“ činností OS • generované I/O zařízením • normální dokončení I/O operace • signalizace různých typů chyb • porucha HW
Průběh přerušení • vznik, vyslání žádosti • rozhodnutí o přijetí/nepřijetí (+maskování) • identifikace zdroje • určení adresy obslužného programu • úschova aktuálního stavu CPU • provedení obslužného programu • obnova stavu CPU • návrat do přerušeného programu
Přijetí přerušení • programové přerušení – ihned (vždy jde o chybu, rozdělanou instrukci netřeba nebo nelze dokončit) • ostatní přerušení – jen mezi instrukcemi (nutno zachovat definovaný stav CPU)
Výběr mezi žadateli o přerušení • sekvenční obsluha přerušení • při obsluze přerušení jsou všechna ostatní přerušení maskována (nepovolena) • ̶ neumožňuje různé priority, málo pružné • + jednoduchost obslužných rutin • obsluha podle priorit • přerušení s vyšší prioritou může přerušit provádění obsluhy přerušení s nižší prioritou • ̶ složitější obslužné rutiny • + je to daleko pružnější
Identifikace zdroje • čistě programová • jediný obslužný program, zjistí si sám(pružné, ale pomalé; např. Motorola 6800) • s pomocí technických prostředků • žadatel poskytne vektor přerušení, podle něj se rozhodne o obslužném programu: • adresa obslužného programu • index do tabulky adres • strojová instrukce
Sběrnice • struktura propojující • procesor (CPU) • paměť • I/O zařízení • je to sdílená struktura • všechna zařízení na sběrnici mohou číst všechny signály po ní posílané • každé připojené zařízení po ní může signály posílat – nutnost sběrnici přidělovat (arbitrace) • jiné typy (nesdílených) propojovacích struktur se už v podstatě nepoužívají
Struktura sběrnice • datové linky • adresové linky • řídící linky
Sběrnicovésystémy • Výhody: • přidávání dalších zařízení • nízká cena • lehké zvládnutí složitosti systému • Nevýhody: • potenciální bottleneck • rychlost obvykle omezena délkou a počtem zařízení • potřeba spojit různorodá zařízení
Přidělování sběrnice • centrální (řízené arbitrem) • náhodné • dle pořadí vzniku • prioritní • distribuované • kolizní (CSMA/CD) • token bus • prioritní linka (daisy chain)
Synchronní vs. asynchronní přenos • synchronní přenos vznik událostí je dán hodinovým signálem • asynchronní přenos vznik události je určen (a následuje po) předcházející události
Data Data Žádost o Data platná data b) Řízení příjemcem a) Řízení zdrojem Asynchronní přenos
Přenos dat po sběrnici • za účasti procesoru: zdroj CPU cíl„programmed I/O“ • bez účasti procesoru – proces není řízen instrukcemi, ale řadičem sběrnice: • dávkový režim • kradení cyklů • transparentní režim
Dávkový režim • Procesor Řadič: [odkud, co, kolik, kam] • ŘP: HOLD (mám připraveno) • PŘ: HLDA (OK, udělej, sběrnici nechci) • přenos • Ř P: HOLD (hotovo) • PŘ: HLDA (beru na vědomí a sběrnici)
Kradení cyklů • Řadič „uspí“ procesor • provede vlastní přenos • probudí procesor – nelze uspat na dlouho – technicky náročnější
Transparentní režim • Řadič rozezná, kdy procesor sběrnici nepoužívá a tehdy provede přenos + nijak nezdržuje procesor, je pro procesor neviditelné – větší přenosy obvykle nelze najednou
Historický vývojsběrnic v osobních počítačích • PC Bus • pro PC/XT (8088) • 8bit datová, 20bit adresová sběrnice, 8MHz • ISA – Industry Standard Architecture • pro PC/AT • 16bit datová, 24bit adresová sběrnice, 8MHz
MCA – MicroChannel • pro IBM PS/2 • 10MHz, nekompatibilní s ISA, odolnější proti šumu • 16/32/64bit data, 24/32bit adresy • EISA – Extended Industry Standard Architecture • odpověď na MCA • 32bit data, 32bit adresy • 8MHz (kompatibilita!) • programové nastavení desek • VL Bus – VESALocal Bus (Video Electronic Standards Association) • 32bit data, 32bit adresy • až 50MHz, při plném osazení 33MHz • přímo zapojená na systémovou sběrnici
DMA • standard, regular, „third-party“ DMA – zvláštní jednotka, která provádí vlastní přenos • výkonem dostačovalo pro ISA (EISA, VLB):Single word Mode 0 … 2.1MB/s • „first-party” DMA – zařízení si řídí přenos samo, tzv. „bus mastering“ (MCA, PCI) • Ultra DMA Mode 0 (ATA/ATAPI-4) 16.7MB/sUltra DMA Mode 5 100MB/s
ATA/ATAPIAT Attachment /with Packet Interface • 16bit, UltraDMA • Vývoj: PIO 02,1MB/s-416,7MB/s, MultiwordDMA 04,2MB/s-216,7MB/s, UltraDMA016,7MB/s-5100MB/s • Serial-ATA • od 1,5 Gb/s • pro SW transparentní • pouze asynchronní
UltraDMA • double transition clocking • ATA/ATAPI-4 Mode0-2 (16.7, 25, 33.3MB/s) • ATA/ATAPI-5 Mode3-4 (44.4, 66.7MB/s) • ATA/ATAPI-6 Mode5 (100MB/s =>„Ultra ATA/100“)
SCSISmall Computer System Interface • paralelní interface, od r.1986 ANSI standard • inteligentní zařízení • 8/16 bit data (narrow/wide) • až 160 MB/s (SCSI Fast-80 Wide) • zřetězení až 15 zařízení (hard disky, scannery, páskové jednotky)
PCI, PCI-XPeripheral Component Interconnect Bus • připojení k systémové sběrnici přes můstek (PCI nezávislá na taktu procesoru) • 64bit data, 64bit adresy • 1992 v1.0: 33MHz, 1995 v2.1: 66MHz • multiplex dat a adres • synchronní • PCI-X v1.0: 66 a 133 MTS, v2.0: 266 a 533 MTS + další vylepšení (např. ECC), zpětná kompatibilita HW i SW
AGPAdvanced Graphics Port • „point-to-point“ • 4x frekvence PCI, tj. 133MHz • využita náběžná i sestupná hrana hodin • pipelining (paralelismus)
PCI Express (PCIe) • Seriová, paketový protokol • 256 MB/s (PCIe x1) – 8 GB/s (PCIe x16 duplex)
Motivace pro nový typ sběrnice • Uživatel nemusí otevřít počítač, aby připojil novou periferii • Jediný kabel na připojování všech typů zařízení • Zařízení napájena z tohoto kabelu • Připojení velkého počtu zařízení • Podpora real-time zařízení (zvuk, video) • Instalace zařízení za chodu • Bez nutnosti rebootu při instalaci zařízení • Levné na výrobu
USB – Universal Serial Bus • 1,5/12/480 Mb/s • stromová struktura – koncová zařízení / hub • plug–and–play • FireWire (IEEE 1394) • synchronní i asynchronní • 100/200/400 Mb/s • pakety