ITPE/DATS 2400: Datamaskinarkitektur og Nettverk Forelesning Knut Nygaard / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art and Design Oslo and Akershus University College of Applied Sciences 09. februar 2015
Oversikt Litt repetisjon Datapath - to varianter Kontrollenhet Om å boote (starte) en datamaskinmaskin
Hent-kjør løkke 1. Hent neste instruksjon fra minne. 2. Dekod operasjonskoden (opcode). 3. Les operander fra minne eller registere. 4. Utfør instruksjonen. 5. Lagre resultater (writeback). 6. Gå til punkt 1, og start på nytt.
CPU-modell
Noe å tenke på Addresser: Hvor data er. Data: Hva som er på addresser. Hvis vi har n bits til adresser, 2 n datalokaliteter. 2 n muligheter for å organisere 0 og 1. Maskinen må vite hvor, (hvilke data) vi skal lese, eller hvor vi skal lagre. Addresser: I C/C++: pekere
ARC-modellen
Enklere modell 1 RW (1) D DA (3) 8 x 32 register fil AA (3) Konstant inn A B BA (3) 1 0 MUX B MB (1) 01 01 01 01 A B Data inn Adresse MW (1) Cnt (4) ALU Data minne FS (4) F Data ut MD (1) 0 1 MUX D
Enklere modell 2 Funksjon Binær kode (FS) F = A 0000 F = A + B 0001 F = A + 1 0010 F = A + B + 1 0011 F = A + B 0100 F = A + B + 1 0101 F = A 1 0110 F = A 0111 F = sr B 1000 F = sl B 1001 F = A B 1010 F = A B 1011 F = A B 1100 F = A 1101 F = B 1110
En nklere modell 3 Et kontrollord for datapathen kan organiseres som følger: DA (3) AA (3) BA (3) MB (1) FS (4) MD (1) RW (1) Her er DA adressen til registeret hvor data på D-bussen skal lagres, AA registeraddressen til A-bussen, BA registeraddressen til B-bussen, MB styringbit for B-MUX, FS fuksjonskode for ALU, MD styringbit for D-MUX og RW styringsbit om det skal skrives til et register fra D-bussen, altså totalt 16 bit.
To måter Microprogrammert (seksjon 5.3 i boka). Hardwired - altså i hardware (seksjon 5.4 i boka).
Microprogrammert
Hardwired
På whiteboard Følgende gjennomgått på whiteboard: Om registere Om Barrel shifter Om HDL (Hardware Description Language), se figur 5-20
Litt generelle ting Boot (oppstart) av en datamaskin gjøres i tre steg. Første steg er det som skjer før noe OS har er oppe. Dette er avhengig av produsent av maskin. Andre steg er å starte opp en boot-loader, altså det programmet som starter OS. Tredje steg er å laste OS. Maskinen er etter dette klar for bruk. Vi skal se litt i detalj på dette, med et eksempel.
POST - BIOS 1 POST - power-on self-test, sekvensen er vanligvis som følger: Prossessor testes. ROM (Read Only Memory) testes. DMA (Direct Memory Access) kontroller testes. Interupt kontroller testes.
POST - BIOS 2 Klokke chipen (timer) testes. Videokort (grafisk kort) testes. Andre porter for kort testes. RAM (Random Access Memory) testes. Andre ting testes (tastatur, mus, etc). Hvis noen av testene feiler, kan man risikere at maskinen ikke starter.
MBR Boot-sekvens kan settes i BIOS. Eksempel: CD-ROM, nett (PXE [Preboot Execution Environment]), hard-disk. MBR (Master Boot Record). Sektor på disk. Peker til hvor binærfil for boot-loader er lokalisert. MBR er lokalisert på første sektor på disk. Hvis der er noe galt her: problemer.
Boot-loader Boot-loader kan være flere typer programmer. Windows: NTLDR Linux: Grub, LILO Multi-boot, det kan være flere OS installert på maskin. Ofte meny for valg av OS eller kjerneversjon.
GRUB 1 Støtter multiboot. Standard på Linux nå. Må ikke reinstalleres ved konfigurasjonsforandringer. Konfigurasjonsfiler i /boot/grub/. Problemer hvis MBR er korrupt, kan løses med boot fra DVD, og MBR kan repareres.
GRUB 2 Ved multiboot (laptop/pc): Installer Windows først. Linux aksepterer et annet OS. Partisjoner, filsystemer. /boot/grub/menu.lstxs Editere partisjoner: parted
The End Spørsmål? Neste forelesning fredag 13. februar kl 12.30 PS35-PH322