1 / 26

Arhitektura računara

Arhitektura računara. GLAVA 2 Jednoprocesorski računarski sistemi. Timarac Igor, 2006. 2.5 Arhitektura personalnog računara *. 2.5.1 Uvod. 2.5.2 ISA magistrala *. Standardizovana je 1987. godine Sastoji se od 98 linija podijeljenih u dva segmenta segment I

elsa
Télécharger la présentation

Arhitektura računara

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Arhitektura računara GLAVA 2 Jednoprocesorski računarski sistemi Timarac Igor, 2006

  2. 2.5 Arhitektura personalnog računara* 2.5.1 Uvod

  3. 2.5.2 ISA magistrala* • Standardizovana je 1987. godine • Sastoji se od 98 linija podijeljenih u dva segmenta • segment I • 62 linije (54 signalne i 8 za napajanje i uzemljenje) • karakteristično za XT računar • poznat kao PC magistrala (8 linija podataka i 20 adresnih linija) • segment II • 36 linija • dodano kod AT računara • magistrala podataka proširena za još 8 linija (ukupno 16) • adresna magistrala proširena za još 4 linije (ukupno 24) • Relativno jednostavna magistrala (linije su uglavnom baferovani signali mikroprocesora)

  4. 2.5.3 PCI magistrala* • Razvijena 1993. godine • Omogućava nezavisnost sistema od tipa i broja procesora • Omogućava prelazak na procesore novije generacije i korištenje multiprocesorskih arhitektura bez potrebe redefinisanja magistrale

  5. 2.5.3 PCI magistrala* • 32-bitna magistrala, s mogućnošću proširenja na 64-bitnu • Takt magistrale je 33 MHz, s mogućnošću udvostručenja takta na 6 MHz • Maksimalna brzina prenosa 528 MB/s • Konektor: • 124-pinski (32-bitna magistrala) • 188-pinski (64-bitna magistrala)

  6. 2.5.3 PCI magistrala* • PCI magistrala podržava automatizovano konfigurisanje PCI uređaja (Plug And Play - PnP) • Svaki PCI uređaj posjeduje konfiguracioni adresni prostor (256 bajtova) organizovan u 64 konfiguraciona četvorobajtna registra • Prvih 16 konfiguracionih registara je definisano standardom • Ostalih 48 registara stoji na raspolaganju i koristi se prema potrebama uređaja

  7. 2.5.4 Memorijski podsistem* • Intelovi (i kompatibilni) mikroprocesori omogućavaju nezavisno adresiranje (pristup) memorijskog i I/O prostora.

  8. 2.5.4 Memorijski podsistem* • Memorijske komponente • ROM (Read-Only Memory) • Kapaciteti od 64kB do 8MB • Vrijeme pristupa: 100ns - 200ns • Kod PC ROM se koristi na sistemskoj ploči za čuvanje BIOS programa i podataka • Sadržaj ROM-a obično se, zbog smanjenja vremena pristupa, kopira u RAM • ROM koriste i neke periferne kartice (video kartica, disk kontroler, ...), u njihovom ROM-u nalaze se dodatne rutine i podaci koji omogućavaju komunikaciju s periferalom, i ovaj ROM se mapira u RAM memoriju

  9. 2.5.4 Memorijski podsistem* • Memorijske komponente • RAM (Random-Access Memory) • Statički RAM (SRAM) • Skup registara (najčešće 8-bitni) sa zajedničkim ulazima i izlazima • Svaki bit memoriše se pomoću zasebnog flip-flopa • Izbor registra (u koji se upisuje ili iz kojeg se čita podatak) vrši se pomoću adresnog dekodera integrisanog u čipu zajedno sa registrima • Upis ili čitanje izvodi se dovođenjem odgovarajućeg upravljačkog signala (R/W*, OE*) • Upisani sadržaj ostaje memorisan sve dok se ne promijeni na isti način ili ne isključi napajanje, nije potrebno osvježavanje pa se zato zove statički • Služi za realizaciju eksterne keš memorije PC-a • Kapaciteti: od 256kB do 1MB • Vrijeme pristupa: od 10ns do 25ns

  10. 2.5.4 Memorijski podsistem* • Memorijske komponente • RAM (Random-Access Memory) • Dinamički RAM (DRAM) • Osnovna RAM memorija računara • Bit se memoriše pomoću jednog tranzistora i jednog kondenzatora • Manja potrošnja (2-4 puta) i manje dimenzije (2-10 puta) od SRAM-a • Potrebno osvježavanje (zbog pražnjenja kondenzatora) • PC vrši osvježavanje DRAM-a svakih 15 s • Memorijske lokacije DRAM-a su 9-bitne (9-i bit je bit parnosti) • DRAM se ugrađuje u obliku SIMM modula (Single-In-Line Memory Modules), postoje: • 30-pinski: 9-bitne komponente • 9 čipova paraleno vezanih (8+1 bit parnosti) • npr. 16 MB = 9 * 16 Mb • 72-pinski: • 36-bitne komponente = 32bita + 4bita parnosti • Vrijeme pristupa: n*10ns

  11. 2.5.4 Memorijski podsistem* FFFFFFFFh • Organizacija memorijskog prostora Proširena memorija 00100FF0h Visoka memorija 00100000h Sistemski ROM BIOS 000F0000h ROM BIOS na karticama Gornji memorijski blok Specifikacija proširene memorije 000C0000h Video RAM (kolor) 000B8000h Video RAM (monohromatski) 000B0000h Video RAM (grafički način rada) 000A0000h DOS i korisnički programi 000004FFh BIOS RAM 00000400h Vektori prekida 00000000h

  12. 2.5.5 I/O podsistem* • I/O podsistem personalnog računara može se grubo podijeliti na: • uređaje masovne memorije (hard diskovi, flopi diskovi, kompakt diskovi, strimeri, ...) • spoljašnji I/O uređaje (tastatura, miš, štampač, skener, zvučna kartica, ...) • interne I/O uređaje (tajmeri, brojači, razni kontroleri, ...)

  13. 2.5.5 I/O podsistem* • Organizacija I/O podsistema • I/O uređaji komuniciraju s procesorom preko odgovarajućih kola za spregu (interfejs) koja su spojena na sistemsku magistralu. • Zadaci interfejsa I/O uređaja: • usklađivanje prirode podataka i signala koje koristi I/O uređaj sa onima koje koristi računar, • usklađivanje brzine razmjene podataka između računara i I/O uređaja, • sinhronizacija rada I/O uređaja sa komandama koje stižu iz računara, • pojednostavljenje upravljanja radom uređaja.

  14. 2.5.5 I/O podsistem • Komunikacija procesora s periferalom može da se odvija putem: • Specijalnih registara (posebnih adresibilnih ćelija) koji se nalaze u svakom I/O interfejsu. • Tipično to su: • DATA IN (prihvata podatke sa magistrale) • DATA OUT (šalje podatke na magistralu) • CONTROL (omogućava upravljanje periferalom) • STATUS (sadrži statusnu informaciju o periferalu). • Pri tome se koriste posebne instrukcije za upis i očitavanje (IN i OUT). Tada govorimo o izolovanom I/O prenosu. • Adresnog prostora u rezervisanoj oblasti osnovne memorije (memorija se fizički nalazi na interfejsu uređaja, ali joj se pristupa kao da je riječ o RAM memoriji fizički smještenoj na matičnoj ploči). • Pri tome se koriste iste instrukcije i za pristup portu i za pristup memoriji, pa govorimo o memorijski mapiranom I/O prenosu. FFFFF FFFF I/O 00000 0000 FFFFF I/O 00000

  15. 2.5.5 I/O podsistem* • I/O memorijski prostor personalnog računara

  16. 2.5.5 I/O podsistem • Tehnike komunikacije s I/O uređajima • Postoje tri osnovne tehnike komunikacije s I/O uređajima: • programirani I/O prenos, • prekidna tehnika, • DMA prenos.

  17. PROGRAM SEGMENT 'CODE' ASSUME CS:PROGRAM ASSUME DS:PROGRAM POCETAK EQU 41h ; ‘A’ KRAJ EQU 5Bh ; ‘Z’+1 START: MOV AX,PROGRAM MOV DS,AX MOV DX,304h MOV AL,POCETAK PETLJA: OUT DX,AL INC AL CMP AL,KRAJ JNZ PETLJA MOV AH,4Ch INT 21h PROGRAM ENDS END START 2.5.5 I/O podsistem • Programirani I/O prenos • Jednostavna tehnika komunikacije između procesora i I/O uređaja. • Najjednostavniji oblik I/O prenosa je komunikacija bez sinhronizacije • procesor šalje I/O uređaju po unaprijed isprogramiranom redoslijedu i dinamici podatke, pri čemu se ne vodi računa da li je periferal ispravno prihvatio i obradio podatke • Primjer: Napisati asemblerski program koji na I/O port 304h šalje testnu ASCII sekvencu "ABCDE..VWXYZ" bez sinhronizacije (hendšejkinga)

  18. PODACI SEGMENT 'DATA' TABELA DB3Fh,06h,5Bh,4Fh,66h,6Dh,7Dh,27h,7Fh,6Fh PODACI ENDS PROGRAM SEGMENT 'CODE' ASSUME CS:PROGRAM,DS:PODACI START: MOV AX,PODACI MOV DS,AX MOV DX,304h MOV SI,0 MOV BX,OFFSET TABELA PETLJA: MOV AL,SI XLAT OUT DX,AL INC SI CMP SI,10 JNZ PETLJA MOV AH,4Ch INT 21h PROGRAM ENDS END START 2.5.5 I/O podsistem • Programirani I/O prenos • Primjer: Napisati asemblerski program koji na I/O port 304h šalje testnu sekvencu 0, 1, 2 ... 9 pripremljenu za ispis na sedmosegmentnom displeju (na port slati 7-segmentni kod) bez hendšejkinga.

  19. PODACI SEGMENT 'DATA' TABELA DB 3Fh, 06h, 5Bh, 4Fh, 66h, 6Dh, 7Dh, 27h, 7Fh, 6Fh PODACI ENDS PROGRAM SEGMENT 'CODE' ASSUME CS:PROGRAM,DS:PODACI START: MOV AX,PODACI MOV DS,AX MOV SI,0 MOV BX,OFFSET TABELA PETLJA: MOV AL,SI XLAT MOV DX,304h OUT DX,AL MOV DX,305h TEST: IN AX,DX CMP AX,2 JNZ TEST INC SI CMP SI,10 JNZ PETLJA MOV AH,4Ch INT 21h PROGRAM ENDS END START 2.5.5 I/O podsistem • Programirani I/O prenos • I/O prenos sa sinhronizacijom • Procesor vodi računa o stanju i mogućnostima I/O uređaja, tako da nijedan od podataka koji se prenosi ne smije biti "preskočen" • U ovom slučaju procesor se obraća I/O uređaju, zadaje mu komandu, šalje podatak i sl. i potom od periferala očekuje povratnu informaciju • Ovakva komunikacija gdje postoji sinhronizacija (dogovaranje) procesora i periferala naziva se hendšejking (engl. handshake - rukovati se). Tipično se može sresti kod komunikacije procesor - štampač • Primjer: Napisati asemblerski program koji na I/O port 304h šalje testnu sekvencu 0, 1, 2 ... 9 u sedmosegmentnom kodu, koristeći hendšejking - naredni podatak slati tek nakon što periferal potvrdi da je spreman (tada je na portu 305h podatak 0002h).

  20. 2.5.5 I/O podsistem • Prekidna tehnika I/O prenosa • Tehnika programiranog I/O prenosa nije efikasna, jer procesor troši vrijeme (vrteći se u petlji) neprestano ispitujući status periferala, pa se češće koristi prekidna tehnika • Periferal procesoru saopštava zahtjev za prekid. Sve dok nema zahtjeva, procesor može da obavlja neki drugi posao. • Tek kad primi zahtjev periferala, procesor prekida s poslom koji je obavljao i opslužuje (servisira) zahtjev periferala pokretanjem i izvršavanjem odgovarajuće prekidne procedure (rutine). • Tabela vektora prekida (256 četvorobajtnih vektora) zauzima prvih 1kB memorije. Svaki vektor sadrži adresu (segment i offset) pripadajuće prekidne procedure. Niža dva bajta sadrže offset, a viša dva bajta baznu adresu segmenta. • Sistem prekida kod personalnog računara čine: • Prekidi procesora • Sistemski prekidi (BIOS i DOS) • Hardverski prekidi i • Opšti korisnički prekidi

  21. 2.5.5 I/O podsistem • Procesorski prekidi • Prva 32 prekida (INT 00h do INT 1Fh) “rezervisana” su za procesorske prekide • Tip 0: Dijeljenje s nulom • Tip 1: Prekid korak-po-korak (debugger) • Tip 2: NMI (Non-Maskable Interrupt) • Tip 3: Breakpoint • Tip 4: Overflow (poziva se instrukcijom INTO)

  22. 2.5.5 I/O podsistem • Sistemski prekidi • Sistemski prekidi obuhvaćaju prekide koji pripadaju BIOS-u (Basic I/O System) i operativnom sistemu (npr. DOS). • Ove rutine pozivaju se sa INT instrukcijom, pri čemu se potrebni parametri nalaze u odgovarajućim registrima: MOV AH, 2 MOV DL, ‘A’ INT 21h • Po završetku procesiranja prekidne rutine rezultat se takođe vraća u odgovarajućem registru ili registrima.

  23. 2.5.5 I/O podsistem • Sistemski prekidi • Funkcije DOS prekida 21

  24. PODACI SEGMENT 'DATA' PORUKA DB 13,10, 'UNESITE STRING', 13,10,'$' JESTE DB 13,10, 'TO JE PALINDROM', 13,'$' NIJE DB 13,10, 'TO NIJE PALINDROM‘, 13,'$' STRING DB 100 DUP (?) PODACI ENDS STEK SEGMENT STACK DW 100 DUP (?) TOS DB ? STEK ENDS PROGRAM SEGMENT 'CODE' ASSUME CS:PROGRAM, DS:PODACI, SS:STEK START: MOV AX,PODACI MOV DS,AX MOV AX,STEK MOV SS,AX MOV SP, OFFSET TOS MOV AH,09h MOV DX,OFFSET PORUKA INT 21h MOV SI,OFFSET STRING MOV AH,01h CITAJ: INT 21h MOV [SI],AL CMP AL,13 JZ POREDI INC SI PUSH AX JMP CITAJ POREDI: MOV SI,OFFSET STRING NASTAVI: MOV AL,[SI] CMP AL,13 JZ JESTEP POP BX CMP AL,BL JNZ NIJEP INC SI JMP NASTAVI JESTEP: MOV DX,OFFSET JESTE JMP ISPIS NIJEP: MOV DX,OFFSET NIJE ISPIS: MOV AH,09h INT 21h MOV AH,4Ch INT 21h PROGRAM ENDS END START 2.5.5 I/O podsistem • Primjer: Napisati asemblerski program koji učitava string (niz znakova) sa tastature sve dok se ne pritisne ENTER, a zatim provjerava da li je učitani string palindrom (palindrom je riječ koja se isto čita i od početka prema kraju i od kraja prema početku, npr. ANA).

  25. 2.5.5 I/O podsistem • Hardverski prekidi • Intelovi mikroprocesori 80x86 (i njima kompatibilni) posjeduju dva ulaza za prekid: • INTR maskable • NMI non-maskable • Na ulaz INTR dolaze zahtjevi za prekid od priključenih periferala • Upravljanje prekidima vrši se programabilnim kontrolerom prekida (npr. 8059A XT ili 2 x 8259A kod AT i novijih) • Najviši prioritet ima nulta linija (Interrupt ReQuest) IRQ0, a najniži IRQ15 • Prekidi se mogu maskirati (onemogućiti) upisivanjem odgovarajućeg sadržaja u registar maskiranja prekida kontrolera. Ako su prekidi omogućeni procesor potvrđuje prijem zahtjeva za prekid pomoću linije INTA, a kontroler tada na magistralu podataka izbacuje kod zahtjeva za prekid kojim je definisan prekidni vektor

  26. 2.5.5 I/O podsistem • Hardverski prekidi • Tabela hardverskih prekida kod personalnog računara

More Related