Så fungerar en dator

Relevanta dokument
HF0010. Introduktionskurs i datateknik 1,5 hp

Introduktion till programmering

Inledande programmering med C# (1DV402) Introduktion till programmering

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

Grundläggande datavetenskap, 4p

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Talföljer och cirklar: Algoritmer, geometri och mönster 2 av 4

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:

Programmering för alla!

En kort text om programmering i C.

Tentamen i Informationsteknologi 5p Fredagen den 13 augusti 2004

kl Tentaupplägg

Programmering för alla!

Extramaterial till Matematik Y

Programmering. Den första datorn hette ENIAC.

KURSMÅL WINDOWS STARTA KURSEN

Sphero SPRK+ Appen som används är Sphero Edu. När appen öppnas kommer man till denna bild.

Klassdeklaration. Metoddeklaration. Parameteröverföring

Lokala mål i matematik

Tentamen den 18 mars svar Datorteknik, EIT070

Föreläsning 3.1: Datastrukturer, en översikt

Föreläsning 1: Intro till kursen och programmering

Operativsystem DVG A06. Definition. Varför operativsystem? - Vad är ett operativsystem?

Föreläsning 1: Intro till kursen och programmering

IT-GUIDE Version 1.0 Författare: Juha Söderqvist

Extramaterial till Matematik Y

Föreläsning 2. Operativsystem och programmering

Dela, koda och korrigera! Undervisningsmaterial inom digital kompetens

CPU. Carry/Borrow IX. Programräknare

Talsystem Teori. Vad är talsystem? Av Johan Johansson

Föreläsning 1 & 2 INTRODUKTION

Digital- och datorteknik

0.1. INTRODUKTION Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.

Föreläsning 5: Introduktion av pekare

Välkommen till Kängurun Matematikens hopp 2008 Benjamin

HI1024 Programmering, grundkurs TEN

Objektorienterad programmering i Java

IT för personligt arbete F5

Motivation. Programmeringsuppgift: En första ansats: Lagra info om anställda Håll reda på varje anställds närmaste chef. som också är en anställd!

EXTRA UPPGIFTER I C++ PROGRAMMERING-A

Vad kan jag göra på biblioteket?

Objektorienterad Programmering (TDDC77)

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

Digitalt lärande och programmering i klassrummet

8-1 Formler och uttryck. Namn:.

Läsminne Read Only Memory ROM

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder

Enkla datatyper minne

Introduktion till programmering och Python Grundkurs i programmering med Python

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

*Pekarvärden *Pekarvariabler & *

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

Vad är programmering Jonas Lindemann

Aktiviteter Del 4. h succesivt anta mindre värden, som till exempel π. , och låta programmet summera sekanternas längder från x = a till x = b.

TDDC77 Objektorienterad Programmering

Programmering, dans och loopar

Kursupplägg. Examination. Föreläsning 1: Intro till kursen och. Kursmaterial. programmering. Kursboken: Programmera med a multimedia approach

Grundläggande datakunskap

Systemenhet. Delarna i en dator

Hur fungerar en dator?

Grundkurs i programmering - intro

Datorlära 6. Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv

HI1024 Programmering, grundkurs TEN

Trepoängsproblem. Kängurutävlingen 2011 Cadet. 1 Vilket av följande uttryck har störst värde? 1 A: B: C: D: E: 2011

Uppgift 1 ( Betyg 3 uppgift )

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

F8: Undantagshantering

Föreläsning 1 & 2 INTRODUKTION

6 cm. 106 Beräkna a) 3 ( 4) b) ( 2) 5 c) 4 ( 2,5) d) ( 8) 1,5. T.ex. print(3 * -4) 13 Beräkna cirkelns a) diameter b) omkrets

Avdelning 1, trepoängsproblem

Digital Aritmetik Unsigned Integers Signed Integers"

Algoritmer och interaktiv Python

Inledande programmering med C# (1DV402) Summera med while"-satsen

Fö 5+6 TSEA81. Real-time kernel + Real-time OS

Programmeringsolympiaden 2010 Kvalificering

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem?

Program & programmering

Hur fungerar en robot? (lektion 3 av 3)

Kängurutävlingen Matematikens hopp 2010 Cadet för elever i åk 8 och 9

Kojo med Inga Ingenjör. Lär dig programmera Nybörjaruppdrag

Programmering, dans och loopar

Johan Karlsson Datavetenskap för teknisk kemi, 10p, moment 1 Datavetenskap Umeå Universitet. Tentamen

fredag den 11 april 2014 POOL BYGGE

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.

Välkommen till. Kängurutävlingen Matematikens hopp 2009 Student för elever på kurs D och E. Kängurutävlingen 2009 Student.

Grundläggande datorkunskap

Objektorienterad Programmering (TDDC77)

Moment Viktiga exempel Övningsuppgifter I

Programmering. Analogt och med smårobotar. Nina Bergin

Att använda pekare i. C-kod

Transkript:

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)