Hvorfor lære om maskinvare*?

Like dokumenter
Hvorfor lære om maskinvaren*?

Minnehåndtering i operativsystemer

Datamaskinens oppbygning

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

Internminnet. Håkon Tolsby Håkon Tolsby

hvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord.

Funksjonalitet og oppbygning av et OS (og litt mer om Linux)

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:

Forelesning 5. Diverse komponenter/større system

Dagems temaer. kapittel 4 i Computer Organisation and Architecture. av CPU: von Neuman-modellen. Transfer Language (RTL) om hurtigminne (RAM)

Internminnet. Håkon Tolsby Håkon Tolsby

Dagems temaer INF ! Fra kapittel 4 i Computer Organisation and Architecture. ! Kort om hurtigminne (RAM)

Innhold. 2 Kompilatorer. 3 Datamaskiner og tallsystemer. 4 Oppsummering. 1 Skjerm (monitor) 2 Hovedkort (motherboard) 3 Prosessor (CPU)

! Sentrale begreper er adresserbarhet og adresserom. ! Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon

INF1400 Kap4rest Kombinatorisk Logikk

Generelt om operativsystemer

Bits&Bytes Om datamaskinens oppbygging og virkemåte. TOS - IKT Tirsdag 4. desember 2012 Seksjon for digital kompetanse

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Scheduling og prosesshåndtering

Generelt om operativsystemer

Definisjon av prosess

Minnehåndtering i operativsystemer

Hovedkort, brikkesett og busser

Del 1 Setup - BIOS Oppgaver: 1. Hva slags CPU har maskinen? Beskriv de tekniske egenskapene ved CPU en.

INF2270. Input / Output (I/O)

Forelesning Instruksjonstyper Kap 5.5

INF2270. Datamaskin Arkitektur

Tildeling av minne til prosesser

INF2270. Input / Output (I/O)

Maskinvaredelen av INF 103: oversikt og innhold (1)

Innhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse

Singletasking OS. Device minne Skjerm minne. Brukerprogram. Brukerdata/heap. Stack. Basis for flerprosess-systemer.

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs. Torsdag 29. November 2007 Kl

Vi anbefaler at du setter deg litt inn i maskinen på forhånd. Det er en DELL Optiplex 620.

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and

INF2270. Datamaskin Arkitektur

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 AUGUST, 2008, 09:00 13:00

Prosessoren. Bakgrunnen Innhold LMC. Assemblerkode Oppsummering instruksjonene [Englander kap 6] Hva inneholder den? Hvordan utføres instruksjonene?

Dagens temaer. Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM ROM. Hukommelsesbusser

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

En mengde andre typer som DVD, CD, FPGA, Flash, (E)PROM etc. (Kommer. Hukommelse finnes i mange varianter avhengig av hva de skal brukes til:

Clock speed 3.20GHz Bus Speed 800MHz L2 Cache 4MB 2 Cores Ikke Hyperthreading 64 BIT

Håndtering av minne i et OS

Oppsummering av digitalteknikkdelen

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram.

Operativsystemer og grensesnitt

TDT4258 Eksamen vår 2013

Dagens temaer. Cache (repetisjon) Cache (repetisjon) Cache (repetisjon)

Input/Output. når tema pensum. 13/4 busser, sammenkobling av maskiner /4 PIO, DMA, avbrudd/polling

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Kapittel 9: Følge Instruksjoner Prinsipper for Datamaskinens Virkemåte

Dagens tema. Flere teknikker for å øke hastigheten

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs Løsningsforslag. Torsdag 29. November 2007 Kl

P1 P2 P3 P1 P2 P3 P1 P2. OS gjør Contex Switch fra P1 til P2

Dagens temaer. Dagens emner er hentet fra Englander kapittel 11 (side ) Repetisjon av viktige emner i CPU-design.

Tildeling av minne til prosesser

Forelesning 9. Registre, tellere og minne

Institiutt for informatikk og e-læring, NTNU CPUens deler og virkemåte Geir Ove Rosvold 4. januar 2016 Opphavsrett: Forfatter og Stiftelsen TISIP

Teoretisk minnemodell Flyktig minne - SRAM -DRAM Ikke-flyktig minne -ROM -EPROM - EEPROM Flash

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Datamaskinens oppbygning og virkemåte

TDT ITGK - Hardware. Kapittel 9: Følge Instruksjoner - Prinsipper for Datamaskinens Virkemåte. Terje Rydland - IDI/NTNU

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO

Innhold. Om denne boka 1. Kapittel 1 Operativsystemer og mellomvare 5

Bussar. Tilgong til buss (Three state buffer) Synkron / Asynkron Serielle bussar Parallelle bussar Arbitrering: Kven kontrollerar bussen

Overordnet maskinarkitektur. Maskinarkitektur zoomet inn. I CPU: Kontrollenheten (CU) IT1101 Informatikk basisfag, dobbeltime 11/9

Martin Olsen, Lars- Petter Ahlsen og Jon- Håkon Rabben

2. Hvor mye Internminne har den? Svar: 2GB

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Hukommelseshierarki. 16/3 cache /3 virtuell hukommelse in 147, våren 1999 hukommelseshierarki 1

Oppgave lab. 2. Hvor mye Internminne har den? - Maskinen har 2GB internminne.

Digital logic level: Oppsummering

Del 2. Bak skallet. Avsette minne til et spesifikt OS Teste harddisk under oppstart Sette opp system logger

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Setup programmet brukes til å endre konfigurasjonen av BIOS og til å vise resultatene fra

bruksområder og oppbygging om cache-hukommelse (kapittel 6.5 i Computer Organisation Dagens temaer and Architecture ) ROM RAM

TDT DESEMBER, 2008, 09:00 13:00

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Innhold. Innledning til Input/Output. Ulike typer Input/Output. Input/Output internt i datamaskinen. Input/Output mellom datamaskiner

Tildeling av minne til prosesser

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

TDT4160 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN

Introduksjon til kurset og dets innhold

Cache (repetisjon) Cache (repetisjon) Cache (repetisjon) Dagens temaer. CPU Cache RAM. om cache-hukommelse (kapittel 6.5 i Computer Organisation

Into da BIOS<3. Bak Skallet

Dagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache

Generelt om permanent lagring og filsystemer

1. Introduksjon til operativsystemer

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Del1: Setup: BIOS. 2. Hvor mye Internminne har den? 3GB DDR2

Dagens temaer. Sekvensiell logikk: Kretser med minne. D-flipflop: Forbedring av RS-latch

Oppgave 8.1 fra COD2e

IT1101 Informatikk basisfag, dobbeltime 18/9. Kommunikasjon med perifere enheter. Kontrollere. Kontrollere (2) I/O-instruksjoner

Kapittel 9: Følge Instruksjoner Prinsipper for Datamaskinens Virkemåte. Oversatt av Rune Sætre,

IN1020. Datamaskinarkitektur

Transkript:

Litt om maskinvare

Hvorfor lære om maskinvare*? Hovedoppgaven til et OS er å styre maskinvare Må ha grunnleggende kjennskap til maskinvare for å forstå hvordan OS fungerer Skal bare se på grunnleggende prinsipper: Fokuserer på det som er relevant i forhold til OS Går litt mer i dybden enn læreboken En del av dette er kjent stoff for de fleste * aka hardware, elektronikken, leamikk

Hovedkomponenter i en datamaskin* Mikroprosessor Central Processing Unit Minne Random Access Memory Read-Only Memory Input/Output enheter I/O-celler Busser * Foruten tastatur, skjerm, disk og andre nødvendigheter

Central Processing Unit (CPU) Hjernen som utfører det meste av beregningene som får maskinen til å fungere Inneholder ofte flere mikroprosessorer (kjerner/ cores) som kan utføre beregninger parallellt Er ofte koblet med en grafikkprosessor (GPU) Krever kjøling

Komponenter i en CPU (1) Maskinens instruksjonssett De grunnleggende operasjoner som kan utføres (ADD, SUB, MOV, JMP, JEQ...) Hardkodet i elektronikken Registre Svært raske minneceller som kan leses og skrives Lite, begrenset antall registre Brukes til regneoperasjoner og lagring av kontrolldata (f.eks. RAM-adressen til neste instruksjon)

Komponenter i en CPU (2) Arithmetic Logic Unit (ALU) Utfører alle regneoperasjoner og logiske tester Bruker registrene både som operander og for å lagre resultater Minnekontrollenhet og instruksjonsdekoder Henter inn neste instruksjon fra minnet Dekoder, setter opp og kjører instruksjonen i ALU Og en del mer...

CPU-ens virkemåte Utfører et (kompilert) program en og en maskininstruksjon om gangen: Neste instruksjon i RAM hentes over bussen(e) Instruksjonen dekodes og data legges i registrene ALU utfører selve instruksjonen Programutførelsen kan avbrytes midlertidig: Avbrudd / interrupts skjer svært ofte Utføres av OS Ved f.eks. behov for I/O eller feilsituasjoner

Minne Kalles også: RAM Random Access Memory Hukommelse Arbeidslager Hurtiglager Lagrer både programinstruksjoner og data Ikke permanent, data forsvinner når strømmen går

Minne: Adresserbare lagerceller Lagrer data i (tradisjonelt 8-bits) minneceller Hver celle har en (heltalls)adresse som kan brukes for å lese verdien eller lagre en verdi Lesing og skriving skjer ved å overføre data på databussen, mellom cellen og et register i CPU Cellene ligger oftest i banker med minnebrikker på hovedkortet

Cache-minne * Overføring av data mellom RAM og CPU over bussene tar lang tid Cache-minne er mindre samlinger av raske minneceller som enten ligger internt i CPU eller nærmere CPU enn vanlig RAM Cache er mye raskere å bruke enn RAM fordi vi slipper å sende data ut på bussene * cache: depot, forråd

Styring av cache Håndteres av egen cache-kontroller internt i CPU Er transparent for programkoden som utføres Hvis vi klarer å lagre de mest brukte dataene i cache, går programutførelsen mye raskere Caching-algoritmer er kompliserte, og krever mye bokholderi og testing for å sikre korrekthet og konsistens

Ulike typer cache Nivå 1 cache: Eget lite minneområde internt i en CPU-kjerne Nivå 2 cache: Større ekstern eller intern cache-brikke med egen rask buss Ofte én egen level 2 cache for hver CPU-kjerne Nivå 3 cache: Mater level 2 cache med data fra RAM Ofte level 3 cache som deles av alle kjernene (og av GPU)

Read-Only Memory (ROM) Permanent minne, innholdet er brent i elektronikken Lagrer BIOS (Basic Input Output System) BIOS inneholder instruksjonene som kjøres når maskinen startes (booting / bootstrapping) ROM er nødvendig for å kunne få systemet til å starte Se også: Firmware UEFI

I/O-celler: Spesialisert minne CPU kommuniserer bare gjennom å lese og skrive til/fra minnet Input/output-enheter har derfor et grensesnitt mot CPU som ser ut som minne: I/O-celler. I/O-celler brukes til kontroll og dataflyt fra/til disk, nettverk, tastatur, skjerm etc.

Bussene In computer architecture, a bus (from the Latin omnibus, meaning 'for all') is a communication system that transfers data between components inside a computer, or between computers. This expression covers all related hardware components (wire, optical fiber, etc.) and software, including communication protocols Wikipedia

Systembussen Systembussen er et sett av parallelle signalveier som forbinder CPU med RAM, andre interne komponenter og I/O-celler Er oftest satt sammen av tre ulike busser som har hver sine oppgaver: Databussen Adressebussen Kontrollbussen

Databussen Overfører data mellom CPU og minne Overføres binært som elektriske signaler (0 eller 1) over minst 8 (evt. 16, 32) parallelle ledere

Lesing og skriving på databussen CPU, minnet og I/O-celler er alle koblet til databussen Kun én enhet om gangen kan legge ut en dataverdi på bussen: Minnet legger ut verdi hvis CPU vil lese en minnecelle CPU legger ut en verdi hvis det skal skrives til minnet CPU styrer kommunikasjonen på databussen og adresseringen av minne, ved i tillegg å sende signaler på adressebussen

Adressebussen Bare CPU kan legge en verdi på adressebussen, alle andre bare lytter * Før hver overføring av verdi på databussen, legger CPU ut adressen som skal brukes på adressebussen Egne dekodingskretser leser denne adressen og sørger for at riktig minnebrikke kobles inn ( chip select ) For å angi om en verdi skal leses eller skrives og for å synkronisere, brukes enda en buss: Kontrollbussen * Dette er ikke helt sant, I/O til disk bruker også adressebussen

Kontrollbussen Styrer samarbeidet mellom CPU og maskinvaren, f.eks: Angir om verdi på databussen skal leses fra eller skrives til minneadressen på adressebussen ( write enable ) Synkronisering av CPU og minneceller, slik at vi sikrer korrekt overføring av verdier på bussene Overfører signaler fra I/O-enheter om at de har eller vil ha data, eller om at noe akutt har skjedd (interrupt) Synkronisering mellom flere CPU er på samme maskin Synkronisering av I/O til/fra disk

Buss-syklus En buss-syklus består (forenklet) av følgende operasjoner: CPU legger en adresse på adressebussen CPU legger styringsdata på kontrollbussen Verdi overføres mellom to enheter på databussen En buss-syklus kan kan typisk ta et hundremilliondels sekund, vi har da en 100-MHz systembuss

Buss- og CPU-hastighet Teoretisk ytelse for typisk systembuss: 100-MHz, med 32-bits busser 32 bits (4 bytes) med data kan sendes til/fra CPU 100 millioner ganger i sekundet CPU jobber mye raskere enn dette: Prosessorkjernene er typisk i GHz-området 1 GHz = 10⁹ = 1000 millioner instruksjoner per sekund Systembussen blir derfor en flaskehals i maskinen Kan forbedres bl.a. ved å bruke cacheminne

Multiprosessorer

Avbrudd / Interrupts I/O-enheter og komponenter kan sende avbruddsignaler over kontrollbussen til CPU for å varsle om en hendelse som må håndteres, f.eks.: Tastetrykk Museklikk/bevegelse Innkommende data over en nettverksport Hardwarefeil Avbrudd skjer også planlagt av timere, flere ganger i sekundet, for å kunne gjøre timesharing i operativsystemet

Håndtering av avbrudd Avbruddsignalene har en ID (et nummer) som forteller hva som har forårsaket avbruddet Når CPU mottar et avbruddsignal: CPU fullfører nåværende instruksjon Det startes deretter en avbruddsrutine som er et program som håndterer det angitte avbruddet Normal kjøring gjenopptas deretter Systemstatus må lagres før avbrudd håndteres

Direct Memory Access (DMA) Spesiell maskinvare DMA-brikke brukes for å flytte mye data raskere, typisk ved I/O mot disk Flytter data direkte mellom RAM og I/O-enhet, uten å gå innom CPU DMA-brikker legger adresser på adressebussen og slår av/på write enable i kontrollbussen Konflikter med CPU på bussene unngås ved: Burst-mode: DMA stopper CPU med et avbruddsignal Cycle stealing: DMA bruker bussen når CPU sier fra at den er ledig.

Linux og maskinvare Info. om maskinvare finnes i mange systemfiler, f.eks: Noen kommandoer for å se status for maskinvare: /proc/cpuinfo arch /proc/meminfo uname a /proc/version lscpu lspci free m lsblk df