INF2270. Input / Output (I/O)

Like dokumenter
INF2270. Input / Output (I/O)

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

INF2270 I/O. Omid Mirmotahari Omid Mirmotahari 1

hukommelse (kapittel 9.9 i læreboken) Dagens temaer Input-Output INF 1070

Dagens tema. Mer om cache-hukommelse Kapittel 6.5 i Computer Organisation and Architecture ) RAM. Typer, bruksområder og oppbygging 2008 ROM

Scheduling og prosesshåndtering

En prosess kan sees på som et stykke arbeid som skal utføres på datamaskinen. Ofte vil det være flere prosesser/tråder på datamaskinen samtidig.

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)

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Forelesning Instruksjonstyper Kap 5.5

IN1020. Datamaskinarkitektur

1. Introduksjon til operativsystemer

Oppgave 8.1 fra COD2e

TDT4258 Eksamen vår 2013

Introduksjon til kurset og dets innhold

Intel Core i7. Omid Mirmotahari 4

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

Intel Core i7. Omid Mirmotahari 4

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

Hvorfor lære om maskinvare*?

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

INF2270. Datamaskin Arkitektur

Concurrency. Lars Vidar Magnusson. September 20, Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17

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

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

STE6221 Sanntidssystemer Løsningsforslag

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

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

INF2270. Datamaskin Arkitektur

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

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

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

Kjenn din PC (Windows 7)

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

INF1400 Kap4rest Kombinatorisk Logikk

6105 Windows Server og datanett Jon Kvisli, HSN Skriveradministrasjon - 1. Utskrift i nettverk

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

Obligatorisk oppgave 6 i INF1010: Dekryptering

UNIVERSITETET I OSLO

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

6105 Windows Server og datanett

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

oppgavesett 4 INF1060 H16 Hans Petter Taugbøl Kragset Øystein Dale Christian Resell 27. september 2016 Institutt for informatikk, UiO

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

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

- analyse og implementasjon

Forelesning 5. Diverse komponenter/større system

Datamaskinens oppbygning

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

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

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

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

TDT4110 IT Grunnkurs Høst 2014

GetMutex(lock) { while(testandset(lock)) {} } En context switch kan ikke ødelegge siden testen og endringen av lock skjer i samme instruksjon.

Tildeling av minne til prosesser

Generelt om operativsystemer

Oppgave 2: Gå til roten (/) av systemet. Finn minst tre forskjellige måter å gå tilbake til hjemmekatalogen din på.

BIPAC-711C2 / 710C2. ADSL Modem / Router. Hurtigstartguide

Definisjon av prosess

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

Patrick Fallang (Dataingeniør) Lab Oppgave: Kjenn Din Egen PC (XP)

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

UNIVERSITETET I OSLO

Kjenn din PC (Windows7)

INSTALLASJONSVEILEDNING FOR KALK2010 KALKULASJONSPROGRAM

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

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

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

Dagens tema. Flere teknikker for å øke hastigheten

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

INF1400. Sekvensiell logikk del 1

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

Det matematisk-naturvitenskapelige fakultet

Opus Systemer AS 2013

Samtidige prosesser. Prosessor modus. Hvordan kan OS effektivt kontrollere brukerprosesser? Hvordan kan OS. kontrollere brukerprosesser?

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

Her velger dere først System and Security og deretter System.

Kjenn din pc (Windows Vista)

INF1400. Sekvensiell logikk del 1

Notater: INF2270. Veronika Heimsbakk 10. juni 2014

Linglyder 2.0 Brukerveiledning

Kjenn din PC(windows7)

ITF20205 Datakommunikasjon - høsten 2011

IN1020. Minnehierarki

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

For kunder som bruker Windows for nettverkstilkobling

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

IN1020. Sekvensiell Logikk

Plan. Oppgaver og repetisjon Eksempler med fikspunkt og induksjon: 1. sortering 2. divisjon 3. Heis? IN 315: Foilsett 9: Unity: Arkitekturer

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Transkript:

INF2270 Input / Output (I/O)

Hovedpunkter Innledning til Input / Output Ulike typer I/O I/O internt i datamaskinen I/O eksternt Omid Mirmotahari 3

Input / Output En datamaskin kommuniserer med omverdenen gjennom mange ulike enheter: Kan dele kommunikasjon mellom to typer: Kommunikasjon mellom enheter internt i maskinen og mellom en datamaskin og direkte koble utstyr. Kommunikasjon mellom ulike datamaskiner knytte sammen i nettverk Omid Mirmotahari 4

Ytelsen til I/O-systemer avhenger av flere faktorer:....... To vanlige målestokker for ytelse til I/O er: Throughput: Responstid: En maskin har som regel flere uavhengige busser som er spesialiserte. Omid Mirmotahari 5

En bus knytter sammen mange ulike enheter Bussen er ofte en flaskehals i systemet, fordi mange enheter konkurrerer om å få bruke den Siden de ulike enhetene deler samme fysiske buss, trengs regler for hvilke enhet som kan bruke bussen til hvilket tidspunkt. En protokoll spesifiserer kjørereglene som gjelder for bruk av bus en Det finnes mange ulike protokoller for ulike busstyper: ISA PCI TCP/IP ATM +++++ Omid Mirmotahari 6

Intern kommunikasjon Omid Mirmotahari 7

En bus består av datalinjer og kontrollinjer Kontrollinjene regulerer bruken av bus en, spesifiserer hva bussen inneholder, synkroniserer overføring osv Datalinjene inneholder de data som sendes over bussen, både adresser og faktiske data. Omid Mirmotahari 8

Omid Mirmotahari 9

Bus er er enten synkrone eller asynkrone Synkron: Endringer på bus en skjer etter en fast protokoll, relativt til et klokkesignal i kontrollinjene».».». Asynkrone: Ingen klokkesignal blant kontrollinjene. Overføring av data skjer etter regler avtalt mellom enhetene ( handshaking )».».». Omid Mirmotahari 10

Asynkrone bus er og handshaking Handshaking brukes for å koordinere transmisjon av data mellom sender og mottager Gitt et enkelt system med tre kontrollinjer: 1) ReadReq: 2) DataRdy: 3) Ack: De tre kontrollinjene brukes for å utveksle informasjon om hvor langt de to enhetene har kommet. Omid Mirmotahari 11

Lesing fra minne til prosessor Omid Mirmotahari 12

(0) Prosessoren setter ReadReq = 1, og legger adressen ut på datalinjen. 1 2 3 4 5 6 7 Minne ser ReadReq = 1, leser adressen og setter Ack = 1 for å indikere at adressen er lest Prosessoren ser Ack = 1 og setter ReadReq = 0 og frigir datalinjen Minne ser ReadReq = 0 og setter Ack = 0 for å bekrefte at ReadReq-signalet er mottatt Når minet har data klart for overføring, plasseres data på datalinjen, minne setter DataRdy = 1 for å indikere at det er gyldige data på bus en Prosessoren ser at DataRdy = 1, leser data fra bus en og indikerer at den har lest ferdig ved å sette Ack = 1 Minne ser at Ack = 1, setter DataRdy = 0 og frigir datalinjene Prosessoren ser at DataRdy = 0 og setter Ack = 0 for å indikere at transmisjone er ferdig. Omid Mirmotahari 13

Omid Mirmotahari 14

Ekstern kommunikasjon Datamaskiner er ofte knyttet sammen med andre maskiner i nettverk av ulik størrelse:» LAN (Local Area Network): Innenfor begrenset område, feks innenfor en bygning» WAN (Wide Area Network): Innenfor større geografisk område, feks, hele blindern» Internet: Hele verden Slike sammenkoblinger skiller seg fra den interne sammenkoblingen i datamaskiner på flere måter: Knytter sammen utstyr fra ulike produsenter med ulike egenskaper Store forskjeller i hastighet Må tåle feil ved utstyr som er tilkoblet Må være skalerbart, dvs lett å koblie til flere enheter. Omid Mirmotahari 15

Eksterne hendelser I noen tilfeller krever en ekstern hendelse eller begivenhet at prosessoren foretar seg noe bestemt (dvs. eksekverer en bestemt subrutine eller funksjon). For at prosessoren skal finne ut at noe har skjedd kreves det signalering mellom den ytre enheten og prosessoren. 2009 Omid Mirmotahari 16

Eksterne hendelser Prosessoren kan lese innholdet av rad- og kolonnergisteret for å finne ut hvilken tast som er trykket ned. Problem: Hvordan finne ut når en tast er trykket ned? Dette kan løses på to måter: 2009 Omid Mirmotahari 17

Polling Prosessoren kan med jevne mellomrom lese av innholdet av Rad- og Kolonneregistrene (f.eks hvert 10. millisekund) og sjekke om det er en endring fra forrige gang. Fordel: 2009 Ulempe: Omid Mirmotahari 18

Avbrudd I stedet for å sjekke jevnlig, kan tastaturet selv si fra at en tast er trykket ned. Prosessoren finner ut hvilken tast ved å sammenligne gammelt og nytt innhold i Rad- og Kolonneregistrene Fordel: Ulempe: Avbrudd er en generell mekanisme som finnes i alle maskiner og brukes til bl.a. Signalisere at en ekstern hendelse har skjedd Markere avslutningen på en operasjon Allokere CPU-tid (context switching) Signalisere at en uventet eller ulovlig situasjon har oppstått (exception) Omid Mirmotahari 19

Avbrudd Hva skjer? Prosessoren avslutter den instruksjonen den holder på med å eksekvere Alle registre som er i bruk må lagres unna Avhengig av hvilken kilde som genererte avbruddet vil det bli startet opp en avbruddsrutine som prosesserer avbruddet. Når avbruddsrutinen er ferdig, gjenopprettes registrene som ble lagret unna, og prosessoren fortsetter å eksekvere det programmet den kjørte før avbruddet skjedde. 2009 Omid Mirmotahari 20

Avbrudd Hva skjer? Fordi hendelser og begivenheter kan ha varierende betydning og viktighet, tilbyr prosessorer flere avbruddsnivåer med ulik prioritet. Et avbrudd med høy prioritet kan avbryte behandlingen av (dvs. avbruddsrutinen til) et avbrudd av lavere prioritet. Hvis avbrudd fra to ulike kilder har samme prioritet behandles de ferdig i den rekkefølge de kom, og informasjon om andre avbrudd (med samme eller lavere prioritet) blir lagt i en kø 2009 2 1

Avbrudd i Windows Interrupt Request (IRQ) på Windows XP. Lavere tall = høyere prioritet 2009 2 2

Bruk av avbrudd Signalisering av ekstern hendelse I kontrollsystemer overvåker og styrer datamaskiner temperatur, trykk, strålingsnivå etc. Avbrudd kan brukes til å signalisere at et kritisk nivå eller en grense er nådd som krever spesiell handling, f.eks iverksetting av alarm Prosessering av tastetrykk er også eksempel på slike hendelser som krever spesiell prosessering (f.eks Ctrl-C som betyr at et program skal avsluttes) 2009 Synkroniserings-/avslutningssignal Avbrudd kan brukes av f.eks printere for å be en prosessor om å få sendt over mer data hvis et internt buffer er tomt. Avbrudd kan generelt brukes til flytkontroll for å signalisere start/stopp av transaksjoner, overføringer osv. ( send mer data, stopp å sende data ) Omid Mirmotahari 23

Bruk av avbrudd Signalisering av unormal hendelse Dette er en viktig mekanisme og brukes både av hardware og software for å signalisere at en gitt unormal hendelse har inntruffet. Hvis avbruddet genereres av software kalles det execption (unntak) og brukes enten for å gi beskjed om en ulovlig operasjon som (f.eks divisjon med null), eller for å angi at en instruksjon må behandles av en ekstern hardware-enhet (f.eks egen flyttalls-prosessor) 2009 Tidsdeling i operativsystemer Operativsystemer simulerer parallellitet ved å dele prosessor-tiden opp i små tidsintervall, og lar hver prosess får bruke prosessoren i minst ett tidsintervall. Omid Mirmotahari 24

Implementasjon av tidsdeling Kan implementeres slik: Med faste intervaller genereres et avbrudd som signaliserer at operativsystemet skal suspendere prosessen som kjører i øyeblikket. Registre, peker til stakkområdet og statusregistre som prosessen brukte blir lagret Operativsystemet tar over kontrollen og plukker ut hvilken prosess som skal få kjøre (skedulering). 2009 Registre, stakkområde osv. til prosessen som skal startes, lastes inn i CPU en av operativsystemet. Operativsystemet gir kontrollen til neste prosess som kan fortsette å eksekveres På samme måte som avbrudd fra ulike kilder kan ha ulik prioritet, vil også prosesserh a ulik prioitet. Typisk vil operativsystemet ha høyere prioritet og få tilgang til CPU en før et brukerprogram Omid Mirmotahari 25

OSI - modellen Omid Mirmotahari 26

Data grupperes sammen i enheter som kalles pakker eller rammer. Hver pakke består av header og data. Header en inneholder informasjon om pakken og innholdet som trengs for å behandle den riktig Kommunikasjon skjer gjennom protokollstakkene på hver maskin Logisk sett kommuniserer lag X på maskin A med lag X på maskin B. Fysisk sett kommuniserer lag X på maskin A med lag X-1 og lag X+1 på maskin A og tilsvarende på maskin B. Data sendes ovenfra og nedover til det fysiske laget og så motsatt vei på mottager-maskinen. Omid Mirmotahari 27

Omid Mirmotahari 28