Så fungerar en dator Mental bild av en dator Hårdvarumodell av en dator 1 (10)
Vad är en dator? En dator är en digital elektronisk mask, och består av tre huvudkomponenter: processor,, enheter för - och matng. Processorn, eller mikroprocessorn, kallas också Central Processg Unit, CPU. Det är processorn som för de struktioner som lagras i t. processor Mnet lagrar, förom struktioner, även data. Processorn strueras att manipulera datat. En samlg struktioner som struerar processorn kallas datorprogram. Ett operativsystem är en samlg av speciella program, som kontrollerar de olika delar en dator består av. enheter för - och matng 2 (10)
Vad gör en dator? Datorn manipulerar data med hjälp av struktioner på ett förbestämt sätt. Datat lagras bärt, i form av ettor och nollor. Då datorn startar laddas operativsystemet. Operativsystemet hjälper sedan till att ladda och köra applikationsprogram. Då ett applikationsprogram laddas, placeras struktionerna, som gör programmet, och data i t. processor Processorn för struktionerna i programmet i tur och ordng, i sekvens, och programmets data manipuleras på ett förbestämt sätt. 3 (10)
Mne mental modell Information kan vara vad som helst nummer, bokstav, ord, en rapport, bok, bild, musik, animation, en samlg av böcker, skrivs/ritas på papper kan te ändras! Information lagras i en låda, en splats, och Information på en bit papper! kan bara nehålla ett papper kan undersökas/kopieras beftligt pappret försvner om det ersätts det måste alltid vara ett papper i lådan 4 (10)
En cirkels area och omkrets För att bestämma en cirkels area och omkrets 1. Hälsa användaren välkommen. 2. Fråga användaren efter cirkelns radie. 3. Beräkna cirkelns area som PI radie radie. 4. Beräkna cirkelns omkrets som 2 PI radie. 5. Rapportera area, omkrets och radie. Information som flödar från ett steg till ett annat måste lagras och behöver plats i ett. Startvillkor för de olika stegen som måste uppfyllas: Steg 3 kräver cirkelns radie, som fås i steg 2. Omöjligt att föra steg 3 nan steg 2. Steg 5 kräver att steg 3 och 4 har förts, och måste därmed komma sist. Steg 3 och 4 kan göras i vilken ordng som helst. Måste känna till att PI:s värde är 3,1415. 5 (10)
Metafor över datorns Datorn har flera splatser För att enkelt kunna referera till en splats, numreras (eller namnges) den ge den en sadress. För att mska risk för fel, bestäm typ av formation splatserna kan nehålla. En sadress kan liknas vid en gatuadress, som hjälper brevbäraren att hitta rätt hus på en gata. Nummer används för "lågnivå", och mengsfulla namn för "högnivå". "Systemet" kontrollerar att det är rätt typ av formation som placeras i lådan. Görs försök att placera formation av fel typ i en låda meddelas ett fel.. radie (positivt heltal) lön (positivt decimaltal) namn (sträng) adress (sträng) bröllopsfoto (bild) ålder (heltal 0-150) ljushastigeht (heltal = 300) skattesats (decimaltal 0-27.5) Skulle även kunna ange om formation kan ändras eller te, d.v.s. är formationen konstant eller variabel. 6 (10)
Algoritm för beräkng av en cirkels area och omkrets i termer av en smodell. Vad behöver vi lagra? Den formation som behöver kommas ihåg från ett steg till ett annat startvillkor! Genom att titta på algoritmen kan vi identifiera splatser, lämpliga namn, typer och om de är konstanter eller variabler. OBS! Värdet 2 är en konstant som te namnges och kanske te ens använder en splats på detta sätt. radie (positivt heltal) area (positivt decimaltal) omkrets (positivt decimaltal) PI (konstant 3.1415) 2 (konstant 2.0) 7 (10)
Informationsflöde (dataflöde) Informationsflödet styrs av endast tre struktioner: formation (data) från yttre värld till formation (data) från till yttre värld tilldelng - från till tangentbord mus nätverk skärm skrivare nätverk Beräkngsenhet (Arithmetic and Logic Unit) 8 (10)
Flödeskontroll (modell 1 av 3) För att implementera en algoritm krävs en kontrollmekanism... som bestämmer hur formationsflödet ska gå det förbestämda sätt som datat ska bearbetas. Kontroll De första datorerna hade kontrollmekanismer som bestod av fast dragna ledngar, eller i bästa fall med kopplgssladdar, som t.ex. ENIAC. För att ändra maskens funktion var man tvungen att dra om ledngarna! 9 (10)
Så fungerar det bättre Omkastare bestämmer hur data ska flöda till och ur t. Omkastarnas positioner bestämmer funktionen. 1 4 1 2 3 4 1 2 3 4 5 6 7 8 9 10 11 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 2 3 5 6 7 8 9 1 1. Data kommer från och läggs i den översta splatsen. 2 2. Data kommer från och läggs i den mellersta splatsen. 3 3. Data kopieras från översta och mellersta splatsen och behandlas av beräkngsenheten. Resultatet kopieras till den nedersta splatsen. 4 4. Ut kopierar datat från den nedersta splatsen. 10 11 10 (10)
37+15=52 (1 av 4) Programräknare = 1 1 2 3 4 5 6 7 8 9 10 11 37 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1. Data kommer från och läggs i den översta splatsen. 2. Data kommer från och läggs i den mellersta splatsen. 3. Data kopieras från översta och mellersta splatsen och behandlas av beräkngsenheten. Resultatet kopieras till den nedersta splatsen. 4. Ut kopierar datat från den nedersta splatsen. 11 (10)
37+15=52 (2 av 4) Programräknare = 2 2 1 2 3 4 5 6 7 8 9 10 11 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 15 2 37 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1. Data kommer från och läggs i den översta splatsen. 2. Data kommer från och läggs i den mellersta splatsen. 3. Data kopieras från översta och mellersta splatsen och behandlas av beräkngsenheten. Resultatet kopieras till den nedersta splatsen. 4. Ut kopierar datat från den nedersta splatsen. 12 (10)
37+15=52 (3 av 4) Programräknare = 3 1 2 3 4 5 6 7 8 9 10 11 4 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 37 15 7 3 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 3 52 + 11 1. Data kommer från och läggs i den översta splatsen. 2. Data kommer från och läggs i den mellersta splatsen. 3. Data kopieras från översta och mellersta splatsen och behandlas av beräkngsenheten. Resultatet kopieras till den nedersta splatsen. 4. Ut kopierar datat från den nedersta splatsen. 13 (10)
37+15=52 (4 av 4) Programräknare = 4 1 2 3 4 5 6 7 8 9 10 11 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 37 15 4 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 8 52 1. Data kommer från och läggs i den översta splatsen. 2. Data kommer från och läggs i den mellersta splatsen. 3. Data kopieras från översta och mellersta splatsen och behandlas av beräkngsenheten. Resultatet kopieras till den nedersta splatsen. 4. Ut kopierar datat från den nedersta splatsen. 14 (10)
Kännetecken Flödeskontroll (modell 2 av 3) Behöver endast tre grundtyper av kontrollstruktioner (sekvens, val och repetition) Kontrolltruktionerna kan sparas i ett på samma sätt som data Tillåter att generella kontrollmekanismer kan skapas av de grundläggande kontrollstruktionerna. Kontroll Program Instruktioner och därmed maskens funktion kan snabbt och enkelt ändras. Begränsng: t för programmet kan ta sl, vi kan använda datat (eller tvärt om) 15 (10)
Flödeskontroll (3 av 3) Slligen se att program och data kan dela samma! Kontroll Instruktioner lagras i sekventiellt numrerade splatser (memory). Programräknare En programräknare (Program Counter) håller ordng på vilken struktion som ska föras. Mnet nehåller både program och data Hämta- Exekveracykeln Kontrollenheten (control) hämtar aktuell struktion och för den (genom att ändra omkastarna), stega fram programräknaren, hämtar nästa struktion, o.s.v. 16 (10)
Program och data program data Mnesplats Data 0 Programmet startar 1 Data läses och placeras på splats 5 (tal1) 2 Data läses och placeras på splats 6 (tal2) 3 Data på splats 4 och 5 adderas och summan placeras på splats 7 (summa) 4 Programmet sl 5 (tal1) 37 6 (tal2) 15 7 (summa) 52 summa = tal1 + tal2 programmerare Data 0000 1111 0000 0000 0000 0001 1000 0000 0000 0101 program 0010 1000 0000 0000 0110 0011 0100 0100 0000 0100 0100 1110 0000 0000 0000 0101 0000 0000 0010 0101 data 0110 0000 0000 0000 1111 0111 0000 0000 0011 0100 En dator förstår bara 1:or och 0:or - maskkod 17 (10)