Hvorfor lære om maskinvaren*?

Like dokumenter
Hvorfor lære om maskinvare*?

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

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

Minnehåndtering i operativsystemer

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

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

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

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

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

Generelt om operativsystemer

Datamaskinens oppbygning

Forelesning 5. Diverse komponenter/større system

Tildeling av minne til prosesser

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Internminnet. Håkon Tolsby Håkon Tolsby

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

Hovedkort, brikkesett og busser

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

INF1400 Kap4rest Kombinatorisk Logikk

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

Internminnet. Håkon Tolsby Håkon Tolsby

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

Dagens tema. Flere teknikker for å øke hastigheten

Forelesning Instruksjonstyper Kap 5.5

Maskinvaredelen av INF 103: oversikt og innhold (1)

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

Håndtering av minne i et OS

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

INF2270. Input / Output (I/O)

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

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

Tildeling av minne til prosesser

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Oppsummering av digitalteknikkdelen

Generelt om operativsystemer

INF2270. Input / Output (I/O)

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

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

Scheduling og prosesshåndtering

Definisjon av prosess

Minnehåndtering i operativsystemer

Digital logic level: Oppsummering

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 AUGUST, 2008, 09:00 13:00

Datamaskinens oppbygning og virkemåte

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

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

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

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

INF2270. Datamaskin Arkitektur

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

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

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

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

TDT4258 Eksamen vår 2013

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

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

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

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

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

IN1020. Minnehierarki

TDT DESEMBER, 2008, 09:00 13:00

Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

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

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

Forelesning 9. Registre, tellere og minne

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:

INF2270. Datamaskin Arkitektur

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

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

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Dagens temaer. Praktisk anvendelse: Satellittkommunikasjon. eksempler på bruk av assembler/c/arkitektur teknikker for å øke hastigheten

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

Læringsmål og pensum. Oversikt. Systemprogramvare Operativsystemer Drivere og hjelpeprogrammer. To hovedtyper programvare

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Dagens temaer. Intern hukommelse (1) Maskinvaredelen av INF 103: oversikt og innhold (2) Maskinvaredelen av INF 103: oversikt og innhold (1)

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

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

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

IN1020. Datamaskinarkitektur

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

Innhold. Virtuelt minne. Paging i mer detalj. Felles rammeverk for hukommelseshierarki Hukommelseshierarki-2 1

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

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

Laboppgave. Sondre Gulichsen, Li Lisan Linder. 1. Hva slags CPU har maskinen? Beskriv de tekniske egenskapene ved CPU en.

Generell informasjon

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Oppbygningen av en datamaskin Det viktigste i en moderne datamaskin er hovedkortet («motherboard»):

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

Tildeling av minne til prosesser

1. Introduksjon til operativsystemer

Transkript:

Litt om maskinvare

Hvorfor lære om maskinvaren*? Hovedoppgaven til et OS er å styre maskinvare Vi må ha grunnleggende kjennskap til maskinvarens oppbygging for å forstå hvordan OS fungerer Skal bare se på grunnleggende prinsipper: Fokuserer på det som er relevant i forhold til OS Forenkler noe i forhold til læreboken (legger i stedet mer vekt på bruk av Linux litt senere i kurset) En del av dette er kjent stoff for de fleste (repetisjon fra Grunnleggende IT og andre emner) * aka hardware, elektronikken, leamikk

Hovedkomponenter* Central Processing Unit (CPU): Hjernen som utfører det meste av beregningene som får maskinen til å fungere. Krever kjøling. Er ofte koblet med en GPU (grafikkprosessor). Random-Access Memory (RAM): Minne/hukommelse/ arbeidslager/hurtiglager. Lagrer koden og dataene som brukes aktivt av CPU. Ikke permanent. Read-Only Memory** (ROM): Permanent minne som lagrer BIOS (Basic Input Output System), som kjøres når maskinen startes (booting/ bootstrapping). I/O-kretser (porter) som kommuniserer med eksterne komponenter som f.eks. lydkort og grafikkenheter. Busser: Parallelle signalveier som forbinder CPU både med andre interne komponenter og med eksterne I/O-kretser. * Foruten tastatur, skjerm, disk og andre nødvendigheter ** Se også firmware og UEFI

Hva inneholder (bl.a.) en CPU? Maskinens instruksjonssett: De grunnleggende operasjonene som kan utføres (ADD, SUB, MOV, JMP, JEQ...), hardkodet binært i CPU Registre Et lite antall minneceller som kan leses og skrives For regneoperasjoner og kontrolldata (f.eks. RAM-adressen til neste programinstruksjon) Arithmetic Logic Unit (ALU): Utfører alle regneoperasjoner og logiske tester Bruker oftest registrene som både operander og for å lagre resultater Kontrollenhet/instruksjonsdekoder: Henter inn neste instruksjon fra memory Dekoder, setter opp og kjører instruksjonen i ALU

CPU-ens virkemåte Utfører et (ferdig kompilert) program en og en maskininstruksjon om gangen: Neste instruksjon i RAM hentes ved overføringer på adresse- og databussen Instruksjonen dekodes og data legges i registrene hvis nødvendig ALU utfører selve instruksjonen (regneoperasjon, testing av en verdi, hopp til annen instruksjon...) Programutførelsen kan avbrytes midlertidig ved behov for å håndtere akutte behov (interrupts)

Effektivisering av CPU: Pipelining Benytter at kontroll-/dekoderenhet og ALU er separate enheter som kan jobbe parallelt. Neste instruksjon(er) hentes inn samtidig som som nåværende instruksjon utføres: Ingen stopp/ventetid for å hente instruksjoner Neste instruksjon ligger alltid klar for utførelse Virker ikke hvis det utføres et hopp i rekkefølgen av instruksjoner, pipelining må da avbrytes. Branch prediction: Gjetter hvilken instruksjon som er den neste Kan effektivisere løkkestrukturer

Minne: Adresserbare lagerceller Lagrer alminnelige programdata (oftest) i 8-bits celler Ikke permanent lagring 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

Level 2 cache: Ekstern cachebrikke med egen buss *cache: depot, forråd Cache* minne Overføring av data mellom vanlig RAM og registrene i en CPU er (relativt) tidkrevende Level 1 cache: Eget minneområde i CPU der det lagres kopier av de mest brukte RAM-cellene Er mye raskere enn RAM, slipper å sende data ut på buss(ene). Krever mye bokholderi og testing for å sikre korrekthet og konsistens, caching-algoritmer er kompliserte. Håndteres av en egen cache-kontroller internt i CPU'en cache memory er transparent for programkoden,.

I/O-celler: Spesialisert minne CPU kommuniserer bare gjennom å lese og skrive minne Maskinvare for input/output har derfor et grensesnitt mot CPU som ser ut som minne: I/Oceller. I/O-celler brukes til kontroll og dataflyt fra/til disk, nettverk, tastatur, skjerm etc. Operativsystemet skal kjenne til (og skjule) detaljene for I/O-kretser og -enheter, og tilby et enklere I/O-grensesnitt til brukere/programmerere

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

Databussen Overfører data mellom CPU og memory (RAM, ROM eller I/O-celler) Dataene overføres binært som elektriske signaler (0 eller 1) over minst 8 (evt. 16, 32) ledere.

Lesing og skriving av data CPU, minnebrikkene og I/O-enheter er alle koblet til og lytter på databussen. Det er kun én enhet om gangen som kan legge ut en verdi (elektrisk spenning) på databussen: Minnebrikken legger ut verdi hvis CPU vil lese innholdet av en minnecelle CPU legger ut en verdi på databussen hvis det skal skrives til en minnecelle CPU'en styrer kommunikasjonen på databussen og adresseringen av minne, ved i tillegg å sende signaler på adressebussen.

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

Kontrollbussen En toveis buss som hjelper til å styre samarbeidet mellom CPU og annen maskinvare: Angivelse av om verdien på databussen skal leses fra eller skrives til adressen på adressebussen ( write enable ). Synkronisering av CPU og minneceller eller I/O, slik at vi sikrer korrekt overføring av verdier på bussene Signaler fra I/O-enheter om at de har eller vil ha data, eller at noe akutt har skjedd (interrupt) Synkronisering mellom flere CPU'er Synkronisering av I/O til/fra disk

Busshastighet En buss-syklus (legge adresse på adresse-bussen, overføre verdi på databussen ved hjelp av kontrollbussen) kan typisk ta et hundre-milliondels sekund 100-MHz systembuss. F.eks. en 100-MHz 32-bits systembuss kan teoretisk klare å sende 32 bits/4 bytes med data til/fra CPU 100 millioner ganger i sekundet. CPU'er kan jobbe mye raskere enn dette, I Ghzområdet, bussen blir en flaskehals i maskinen. Kan forbedres ved: Asynkrone/synkrone busser (se læreboken for detaljer) Cacheminne som ikke krever overføring på systembussen

Multiprosessorer

Avbrudd / Interrupts I/O-kretser kan sende avbruddsignaler over kontrollbussen til CPU for å varsle om en asynkron hendelse som må håndteres, f.eks.: Tastetrykk Museklikk/bevegelse Innkommende data over en nettverksport Hardwarefeil CPU fullfører nåværende instruksjon og starter deretter en avbruddsrutine, før normal kjøring gjenopptas krever at systemstatus lagres før avbrudd håndteres. Avbrudd skjer også planlagt av timere, flere ganger i sekundet, for å kunne gjøre tidsstyring i OS'et.

Direct Memory Access (DMA) Spesiell maskinvare DMA-brikke for å flytte mye data raskere, typisk I/O mot disk. Data flyttes direkte mellom RAM og I/O-enhet uten å gå innom CPU. DMA-brikken legger, i likhet med CPU, adresser på adressebussen og slår av/på write enable i kontrollbussen. Konflikter med CPU på bussen 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.