Von Neumanns bidrag till datavetenskapen

Storlek: px
Starta visningen från sidan:

Download "Von Neumanns bidrag till datavetenskapen"

Transkript

1 Mälardalens högskola Institutionen för datateknik (IDt) Västerås Von Neumanns bidrag till datavetenskapen John von Neumann. Källa: Vetenskapsmetodik för teknikområdet, CT3620, Västerås, Författare: Johan Åkerberg Examinator: Gordana Dodig-Crnkovic 1

2 SAMMANFATTNING Att John von Neumann spelade en avgörande roll inom den moderna datorvetenskapen och programmeringstekniken är det inget tvivel om. Han var en briljant matematiker som definierade begrepp som maskinkod, där maskinkoden hämtas från ett minne. Datorerna kan tolka och utföra maskinkoden som finns lagrad i minnet, s.k. von Neumann-arkitektur. Denna till synes enkla lösning på problemet att de tidigaste datorerna programmerades med hjälp av sladdar och strömbrytare, möjliggjorde att datorerna kunde användas mer effektivt och bli användbara för andra ändamål än rena beräkningsverktyg. Han introducerade även nya typer av minnen som lade grunden för dagens moderna DRAM (Dynamic Random Access Memory). Von Neumann lade även grunden till den moderna programmeringstekniken med introduktionen av subrutinsbibliotek, där lösningar på vanligt förekommande problem kan återanvändas, vilket blev möjligt med hjälp av adresseringsoperatorn. Von Neumann programmerade även den första sorteringsalgoritmen, där en godtycklig mängd data kan sorteras i alfabetisk ordning. När von Neumann återvände till logiken under 1940-talet undersökte han möjligheterna till självreproducering. Arbetet resulterade i cellautomater, där en maskin som har en ritning över sig själv kan reproducera sig så att även ritningen reproduceras till kopian, så att även kopian kan reproducera sig. DNA skulle senare visa sig ha just dessa egenskaper. Von Neumanns arbete med cellautomater lade grunden för över 50 års forskning inom självreproducerande och självläkande maskiner för att utforska rymden och andra svårtillgängliga miljöer. 2

3 INNEHÅLLSFÖRTECKNING SAMMANFATTNING... 2 INLEDNING... 4 VON NEUMANNS BIDRAG TILL DATAVETENSKAPEN... 5 Vem var John von Neumann?... 5 Von Neumann-arkitektur... 5 Subrutinsbibliotek... 7 Dynamiska minnen... 7 Sorteringsalgoritm... 7 Artificiellt liv... 8 SLUTSATSER... 9 REFERENSER

4 INLEDNING John von Neumann ( ) var en briljant matematiker och fysiker. Han lade grunden för sina bidrag till datorvetenskapen redan på 1920-talet, då han började arbeta med matematisk logik och mängdlära. Han och andra logiker trodde att man kunde konstruera ett formellt system av logik, mängdlära och grundläggande matematik. Förhoppningen var att konstruera ett formellt system sådant att systemet består av grundläggande teorem och att allting kan bevisas inom systemet publicerade von Neumann sin första artikel i matematisk logik och han var den som var närmast att konstruera detta formella system. Men 1931 bevisade Kurt Gödel att något liknande system inte kan existera. En del av beviset i detta teorem skulle von Neumann senare använda för att utveckla konceptet med adresseringsoperatorn vilken är grunden i modern programmering [Burks02]. Den elektroniska datorrevolutionen började på tidigt 1940-tal, då datorerna inte var konstruerade för att lösa ett begränsat antal uppgifter, utan kunde programmeras för att klara i stort sett vilka uppgifter som helst om datorns resurser räckte till. Programmeringen av datorerna var manuell och gjordes genom att ansluta sladdar och ställa in strömbrytare, data som skulle bearbetas lagrades på hålkort och programmeringen tog alltifrån en halvtimme till en hel dag. Den första datorn av denna typ var ENIAC (Electronic Numerical Integrator and Calculator), byggd av J. Presper Eckert och John Mauchly mellan 1943 och ENIAC byggdes för att beräkna ballistiktabeller för artilleriet [Hennesy03]. Denna typ av dator var både stor och dyr och eftersom datorn var tvungen att programmeras om mellan varje körning av olika program blev den inte tillräckligt kostnadseffektiv för den breda massan blev John von Neumann intresserad av ENIAC, då han letade efter snabba beräkningsverktyg för beräkningar av den första atombomben [Aspray90], vilket han givetvis inte kunde avslöja. Med von Neumanns bakgrund var det kanske inte så konstigt att han fokuserade på realtidsberäkningar istället för på tidigare beräknade tabeller som användes för uppslag. Efter att von Neumann fått en introduktion i ENIAC s arkitektur och programmering av Eckert och Mauchly, såg von Neumann förbryllad ut och ifrågasatte varför ENIAC är konstruerad som den är. Eckert och Mauchly frågade då hur det skulle se ut men von Neumann svarade efter ett tag att han inte visste [Burks02]. Detta var början till hur von Neumann senare skulle presentera en datorarkitektur som nästan alla moderna datorer baseras på än i dag. 4

5 VON NEUMANNS BIDRAG TILL DATAVETENSKAPEN Vem var John von Neumann? John von Neumann föddes i Budapest, Ungern, 1903 och dog 1957 i Washington DC. Innan von Neumann var färdig med gymnasiet behandlade matematiker honom som en kollega. Vid 20 års ålder fick han sin doktorstitel och vid 30 års ålder blev han den yngsta professorn vid Institute for Advanced Study vid Princeton University. I Amerika fick von Neumann ett rykte att han gärna delade med sig av sina kunskaper. Von Neumann brydde sig inte om vem som fick äran, nöjet var på hans sida eftersom han fick använda sina kunskaper. Folk gav von Neumann gärna problem som han löste i huvudet på ett par minuter, som andra hade löst i bästa fall på ett par timmar. Von Neumann kämpade för att hans genombrott inom datavetenskapen skulle komma den breda massan till användning, inte att det skulle patenteras. Detta för att inte hämma utvecklingen och undvika att endast ett fåtal skulle få ta del av den nya tekniken [Parshall98]. Von Neumann-arkitektur Stored program concept, att lagra program i minnet, är ett av de viktigaste bidragen i datorns historia. Att just lagra program i minnet, kallas för von Neumann-arkitektur efter John von Neumann. Den stora fördelen är att datorn enkelt kan byta program genom att ladda in ett nytt program och exekvera det, vilket var en stor fördel jämfört med tidigare datorer där programmen bestod av att ansluta sladdar och ställa in strömbrytare. Nästan alla datorer som har producerats de senaste 50 åren har varit konstruerade med von Neumann-arkitektur [Aspray90]. Von Neumann hade tidigare arbetat med matematisk logik och mängdlära och för honom föll det sig naturligt att representera programmen med siffror, s.k. maskinkod. Maskinkoden, som först definierades av von Neumann [Burks02], är uppbyggd av en instruktion och ingen eller flera operander, likt matematiska funktioner [Godfrey93]. Flödet i en klassisk von Neumann-arkitektur: 1. Läs in instruktionen som programräknaren (Program Counter, PC) pekar på. 2. Utför (exekvera) instruktionen 3. Ändra PC så att det pekar på nästa instruktion. 4. Läs in instruktionen som PC pekar på. 5. O.s.v. I ovanstående instruktionsbearbetningsmaskin kan maskinkod bearbetas för att lösa uppgiften programmeraren har givit åt datorn. Denna maskin kallas för kontrollenhet (Control Unit, CU), och styr övriga komponenter i processorn (Central Processing Unit, CPU). Processorn består dessutom av en ALU (Arithmetic and Logic Unit) som utför alla beräkningar [Aspray90]. 5

6 De fem beståndsdelarna i en von Neumann arkitektur. Källa: [Aspray90], bearbetad 2004 I denna enkla och begränsade beskrivning av von Neumann-arkitekturen missas lätt en viktig detalj, adresseringsoperatorn som var viktig för att arkitekturen skulle fungera i praktiken. Med hjälp av adresseringsoperatorn kan man spara en adress i minnet för att senare läsa in det som finns lagrat på denna adress och referera till adressen som finns lagrad där, det vi idag kallar för pekarhantering. Adresseringsoperatorn som von Neumann uppfann var något som föddes från delar av beviset i Gödels ofullständighetsteorem [Burks02]. För att tydliggöra hur kontrollenheten styr flödet när instruktioner betas av delas flödet upp i fem olika steg som förklaras närmare. Instruktionshämtning Här läses instruktionen som PC pekar på in i ett register, där snabbtillgänglig data lagras, instruktionsregistret. PC ändras så det pekar på nästa instruktion. Instruktionsavkodning Data i instruktionsregistret tolkas, vilken är instruktionen, var finns operanderna och var ska resultatet av instruktionen lagras? Exekvering Med hjälp av informationen från instruktionsavkodningsfasen kan kontrollenheten programmera upp ALU för att beräkna resultatet av instruktionen. Minnesaccess Resultatet av instruktionen skrivs tillbaka till minnet. Registerskrivning Resultatet av instruktionen skrivs tillbaka till internregister och PC ändras vid hoppinstruktioner. Ovanstående uppdelning är inte på något sätt associerad till von Neumann-arkitekturen utan har presenterats för att beskriva flödet mer detaljerat. Ovanstående uppdelning finns däremot i mer avancerad processordesign med pipelining [Hennesy03]. Det bör noteras att inte alla instruktioner passerar alla fem faserna, utan endast de faser som krävs för den aktuella instruktionen, t.ex. har en hoppinstruktion ingen minnesaccess. I von Neumann-arkitekturen hämtas instruktionerna och exekveras i sekventiell ordning och eftersom programmen ligger lagrade i minnet så kan man skriva program som förändrar sin egen programkod, men knappast någon utnyttjar den möjligheten. Men denna princip använder sig moderna datorer sig av dagligen, nämligen genom att ett program kan skapa ett annat program och lagra det i minnet. Viktigt att notera är att den interna representationen av maskinkoden är unik för varje processortyp och måste studeras av programmeraren eller den som skriver kompilatorn. 6

7 Subrutinsbibliotek Adresseringsoperatorn möjliggjorde att von Neumann kunde introducera ett nytt begrepp, subrutinsbibliotek [Burks02]. Biblioteken skapades genom att skriva samlingar av de mest använda datorprogrammen och behandla de olika startadresserna som variabler för att sedan skriva ett kombineringsprogram, d.v.s. att anropa de olika subrutinerna. Detta var ett stort genombrott för datortekniken då man enkelt kunde återanvända vanligt förkommande program för att lösa större uppgifter. Betänk att tidigare programmerades datorerna med hjälp av sladdar och strömbrytare, det gick helt enkelt inte att återanvända program på ett bra sätt. Tidigare datorarkitekturer kunde endast hantera ett begränsat antal programnivåer, medan von Neumann-arkitekturen inte har några begränsningar i anropsdjup eller programuppbyggnad. Von Neumann lade alltså grunden för dagens moderna programmeringsteknik. Dynamiska minnen Von Neumann föreslog en ny sorts minne; ett elektronrör med de kombinerade egenskaperna från rören som omvandlar ljus till elektriska laddningar och rören som omvandlar elektriska laddningar till ljus. Dessa elektronrör kräver kontinuerlig återskrivning för att inte tappa minnet och von Neumanns nästa uppfinning inom datorarkitekturen var konceptet att använda 40 sådana rör, där varje rör representerar en bit av ett 40 bitars ord. Detta är principen för det moderna DRAM (Dynamic Random Access Memory) [Burks02]. Sorteringsalgoritm I det sista mötet von Neumann hade med Goldstine, Eckert, Mauchly, Waren och Burks beskrev von Neumann en procedur för att sortera slumpvis ordnade listor i alfabetisk ordning. Von Neumann förutsatte att det behövdes fyra tillförlitliga bandstationer till EDVAC (Electronic Discrete Variable Automatic Computer), efterföljaren till ENIAC. Han beskrev att problemet startades med filerna sparade på bandstation 1 och 2. Sedan läses en fil från band 1 och 2 vardera och det sorterade resultatet sparas på band 3 och 4 varannan gång. Sedan iterera detta steg så att alla sorterade par fanns lagrade på band 3 och 4. Processen skulle sedan reverseras så att alla sorterade grupper om fyra var lagrade på band 1 och 2. Efter 2 n steg finns hela listan sorterad. Von Neumann skrev senare ner denna algoritm och skickade den till Goldstine, som mycket senare visade algoritmen för Donald Knuth. Knuth publicerade algoritmen tillsammans med sina kommentarer. [Burks02]. 7

8 Artificiellt liv På 1940-talet undersökte von Neumann teoretiska möjligheter till självreproducering. Han påstod att en självreproducerande maskin behöver en beskrivning av sig själv för att reproducera sig. När reproduceringen sker reproduceras även ritningen till kopian så att även kopian kan reproducera sig. DNA skulle senare visa sig ha just dessa egenskaper. Von Neumann gjorde ett antagande över livets mekanism som biologerna senare skulle upptäcka. Sanningen visar sig dock vara mer komplicerad än så [Brooks04]. Forskning kring självreproducerande strukturer eller maskiner har pågått i snart ett halvt århundrade. Syftet med denna forskning har varit att förstå principerna och algoritmerna för självreproducering, oberoende av dess implementation. Visionerna är att i framtiden kunna konstruera självläkande och självreproducerande maskiner för att utforska rymden och andra svårtillgängliga miljöer eller rentav för nanoteknologi [Sipper98]. Resultatet av möjligheterna till självreproducering blev von Neumanns cellautomater (Cellular Automata, CA). Cellautomater är diskreta i både rummet och tiden och består av en flerdimensionell vektor av celler. Varje cell kan endast inta ett tillstånd av ett begränsat antal tillstånd och uppdateras synkront i diskreta tidsintervall enligt givna interaktionsregler [Sipper98] publicerade Burks, som var en nära vän och kollega till von Neumann, ett kompendium om cellautomater i von Neumanns namn. Burks hade färdigställt von Neumanns arbete om cellautomater [Sipper98]. Von Neumann lade grunden för dagens forskning inom självläkande/reproducerande maskiner, redan innan DNA var upptäckt. För en överblick om forskningen inom området se [Sipper98]. Exempel på verkligheten och bilder skapade med hjälp av cellautomater. Källa: 8

9 SLUTSATSER John von Neumann spelade en avgörande roll i den elektroniska datorrevolutionen och datavetenskapen. Von Neumann lade grunden till den moderna datorarkitekturen och till den moderna programmeringstekniken och mjukvarudesignen. Trots detta var han den första som försökte komma ifrån von Neumann-arkitekturen, vilken han insåg hade en begränsning, den arbetar sekventiellt. Von Neumann insåg att det fanns många fördelar med ett parallellt beteende och komma ifrån den s.k. von Neumann flaskhalsen. Trots att von Neumann redan strax efter att han presenterat von Neumann-arkitekturen började leta efter lösningar med parallellt beteende så använder dagens datorarkitekturer fortfarande von Neumann-arkitektur, men med lösningar så som pipelining, hyperthreading och parallella processorer. Se [Hennesy03] för mer information. Von Neumanns bidrag kan kännas futtiga och rentav löjliga idag, eftersom begrepp som maskinkod, pekare, mjukvarubibliotek och att lagra program i minnet är grunden inom datorvetenskapen idag, saker som vi tar för givet. Enkla lösningar är oftast de bästa, är de dessutom generiska så de kan appliceras i över 50 år på olika teknologiska plattformar, är de genialiska. Tänk att behöva koppla kablar och ställa in strömbrytare i veckor bara för att använda en ordbehandlare. Sedan koppla om allting för att redigera en bild som ska finnas med i rapporten Datortekniken skulle inte ha varit så utbredd och så välanvänd om inte von Neumann-arkitekturen, eller någonting liknande, hade uppfunnits. Att söka generiska och enkla lösningar ligger i en matematikers natur, vilket von Neumann verkligen lyckades med, fast inom ett helt annat område än det han var van vid. Att von Neumann-arkitekturen är enkel att förstå och kräver lite resurser kan exemplifieras i att författaren har konstruerat en processor med pipelining och inbyggt cache-minne från början till slut och kunnat exekvera godtyckliga program på den inom ramen för en 5 poängs kurs. Att von Neumann även har bidragit till grunderna i artificiellt liv, vilket är ett hett forskningsområde, kunde han knappast ana när har började arbeta med cellautomater. Tyvärr hann von Neumann inte slutföra arbetet med cellautomater, men hans vän och kollega Burks slutförde arbetet och publicerade det i hans namn. 9

10 REFERENSER [Aspray90] William Aspray, The stored program concept, IEEE Spectrum, page 51, 1990 [Burks02] A.W. Burks, The invention of the universal electronic computer how the Electronic Computer Revolution began, Future Generation Computer Systems 18, pages , 2002 [Brooks04] Rodney Brooks, The Cell Hijackers, Technology Review, page 31, June 2004 [Godfrey93] M.D. Godfrey & D.F. Hendry, The Computer as von Neumann Planned It, IEEE Annals of the History of Computing, Vol 15, No. 1, pages 11-21, 1993 [Hennesy03] John L. Hennessy & David A. Pattersson, Computer Architecture A Quantitative Approach, Third edition, Morgan Kaufmann Publishers, ISBN , 2003 [Parshall98] Gerald Parshall, A calculating man, U.S. News & World Report, Vol. 125 Issue 7, page 69-71, 1998 [Sipper98] Moshe Sipper, Fifty years of Research on Self-Replication: An overview, Artificial Life volume 4, number 4, pages ,

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

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018 . Vad är en dator? Introduktion till datorer och nätverk Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018 Översikt 2/23 Datorns historia von Neumann-arkitekturen Operativsystem Datornät

Läs mer

Grundläggande datavetenskap, 4p

Grundläggande datavetenskap, 4p Grundläggande datavetenskap, 4p Kapitel 2 Datamanipulation, Processorns arbete Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-09 IT och Medier 1 Innehåll CPU ALU Kontrollenhet Register

Läs mer

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion Moment 2 Digital elektronik Föreläsning Inbyggda system, introduktion Jan Thim 1 Inbyggda system, introduktion Innehåll: Historia Introduktion Arkitekturer Mikrokontrollerns delar 2 1 Varför lär vi oss

Läs mer

HF0010. Introduktionskurs i datateknik 1,5 hp

HF0010. Introduktionskurs i datateknik 1,5 hp HF0010 Introduktionskurs i datateknik 1,5 hp Välkommna - till KTH, Haninge, Datateknik, kursen och till första steget mot att bli programmerare! Er lärare och kursansvarig: Nicklas Brandefelt, bfelt@kth.se

Läs mer

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

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär: Lösningsförslag för 725G45-tentan 3/11-10 1. Vad menas med Von Neumann-arkitektur? (2p) En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär: Data och instruktioner lagras i samma

Läs mer

IT för personligt arbete F5

IT för personligt arbete F5 IT för personligt arbete F5 Datalogi del 1 DSV Peter Mozelius 1 En dators beståndsdelar 1) Minne 2) Processor 3) Inmatningsenheter 1) tangentbord 2) scanner 3) mus 4) Utmatningsenheter 1) bildskärm 2)

Läs mer

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

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen 68000 Arkitektur F2: Motorola 68000 I/O signaler Processor arkitektur Programmeringsmodell Assembler vs. Maskinkod Exekvering av instruktioner i 68000 Instruktionsformat MOVE instruktionen Adresseringsmoder

Läs mer

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

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet Datorarkitektur - en inledning Organisation av datorsystem: olika abstraktionsnivåer System S den mest abstrakta synen på systemet A B C Ett högnivåperspektiv på systemet a1 b1 c1 a2 b3 b2 c2 c3 En mera

Läs mer

Hantering av hazards i pipelines

Hantering av hazards i pipelines Datorarkitektur med operativsystem Hantering av hazards i pipelines Lisa Arvidsson IDA2 Inlämningsdatum: 2018-12-05 Abstract En processor som använder pipelining kan exekvera ett flertal instruktioner

Läs mer

Datorhistorik. Föreläsning 3 Datorns hårdvara EDSAC. Eniac. I think there is a world market for maybe five computers. Thomas Watson, IBM, 1943

Datorhistorik. Föreläsning 3 Datorns hårdvara EDSAC. Eniac. I think there is a world market for maybe five computers. Thomas Watson, IBM, 1943 Datorhistorik Föreläsning 3 Datorhistorik Datorns uppbyggnad, komponenter Processor, primärminne, sekundärminne Minneshierarkier Inbyggda system, stora datorer I think there is a world market for maybe

Läs mer

Tentamen den 18 mars svar Datorteknik, EIT070

Tentamen den 18 mars svar Datorteknik, EIT070 Lunds Universitet LTH Tentamen den 18 mars 2015 - svar Datorteknik, EIT070 Skrivtid: 14.00-19.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng För betyg 4 krävs 30

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #14 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Vad vi har åstadkommit hittills: Med hjälp av kombinatoriska

Läs mer

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum: Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60 Superscalar vs VLIW Cornelia Kloth IDA2 Inlämningsdatum: 2018-12-05 Abstract Rapporten handlar om två tekniker inom multiple issue processorer

Läs mer

Emil Kristiansson Kurs: EDT621 Delmoment: Rapport. En introduktion till Smart cache

Emil Kristiansson Kurs: EDT621 Delmoment: Rapport. En introduktion till Smart cache En introduktion till Smart cache 1 Sammanfattning Syftet med den här rapporten är att ge en introduktion till tekniken smart cache för läsaren. Smart cache är en teknik som låter de olika cacheminnena

Läs mer

Parallellism i CDC 7600, pipelinens ursprung

Parallellism i CDC 7600, pipelinens ursprung Lunds universitet Parallellism i CDC 7600, pipelinens ursprung Henrik Norrman EITF60 Datorarkitekturer med operativsystem Kursansvarig: Erik Larsson 4 december 2017 INNEHÅLL Parallellism i CDC 7600 Innehåll

Läs mer

CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA

CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA CDC6600 - en jämförelse mellan superskalära processorer av: Marcus Karlsson Sammanfattning I denna rapport visas konkret information om hur den första superskalära processorn såg ut och hur den använde

Läs mer

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3 Informationsteknologi sommarkurs 5p, 2004 Mattias Wiggberg Dept. of Information Technology Box 337 SE751 05 Uppsala +46 18471 31 76 Collaboration Jakob Carlström Datorarkitektur Slideset 3 Agenda Datorns

Läs mer

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden Datormodell Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden Intel 4004 från 1971 Maximum clock speed is 740 khz Separate program and data

Läs mer

Pipelining i Intel Pentium II

Pipelining i Intel Pentium II Pipelining i Intel Pentium II John Abdulnoor Lund Universitet 04/12/2017 Abstract För att en processor ska fungera måste alla komponenter inuti den samarbeta för att nå en acceptabel nivå av prestanda.

Läs mer

Föreläsning 2. Operativsystem och programmering

Föreläsning 2. Operativsystem och programmering Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data

Läs mer

Introduktion till programmering

Introduktion till programmering Introduktion till programmering Vad är programmering? Vad gör en dator? Vad är ett datorprogram? 1 (9) Vad är programmering? För att bestämma en cirkels area måste du: 1. Dividera diametern 5 med 2. 2.

Läs mer

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621 Lunds Universitet LTH Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621 Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng

Läs mer

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)

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) Datorsystem 2 CPU Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur CPU Visning av Akka (för de som är intresserade) En dators arkitektur På en lägre nivå kan vi ha lite olika

Läs mer

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

0.1. INTRODUKTION 1. 2. Instruktionens opcode decodas till en språknivå som är förstålig för ALUn. 0.1. INTRODUKTION 1 0.1 Introduktion Datorns klockfrekvens mäts i cykler per sekund, eller hertz. En miljon klockcykler är en megahertz, MHz. L1 cache (level 1) är den snabbaste formen av cache och sitter

Läs mer

Parallellism i NVIDIAs Fermi GPU

Parallellism i NVIDIAs Fermi GPU Parallellism i NVIDIAs Fermi GPU Thien Lai Phu IDA2 Abstract This report investigates what kind of computer architecture, based on Flynn s taxonomy, is used on NVIDIAs Fermi-based GPU to achieve parallellism

Läs mer

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Rahim Rahmani (rahim@dsv.su.se) Division of ACT Department of Computer and Systems Sciences Stockholm University SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Tentamensdatum: 2013-03-21 Tentamen består av totalt

Läs mer

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod

Läs mer

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621 Lunds Universitet LTH Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621 Skrivtid: 8.00-13.00 Inga tillåtna hjälpmedel Uppgifterna i tentamen ger maximalt 60 poäng. Uppgifterna är

Läs mer

SIMD i Intel s P5- baserade Pentium MMX

SIMD i Intel s P5- baserade Pentium MMX SIMD i Intel s P5- baserade Pentium MMX Maurits Gabriel Johansson - IDA2 Datorarkitekturer med operativsystem - 4 december 2016 SIMD I INTEL S P5-BASERADE PENTIUM MMX 1 Abstrakt Moderna CPU s (Central

Läs mer

Multi-ported cache En rapport om några lösningar till att få flera minnesaccesser simultant.

Multi-ported cache En rapport om några lösningar till att få flera minnesaccesser simultant. Multi-ported cache En rapport om några lösningar till att få flera minnesaccesser simultant. Sammanfattning När processorns klockhastighet ökar medför det en ökning av instruktioner vilket såklart ökar

Läs mer

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON Datorarkitekturer med operativsystem ERIK LARSSON Semantic gap Alltmer avancerade programmeringsspråk tas fram för att göra programvaruutveckling mer kraftfull Dessa programmeringsspråk (Ada, C++, Java)

Läs mer

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer LUNDS UNIVERSITET Parallell exekvering av Float32 och INT32 operationer Samuel Molin Kursansvarig: Erik Larsson Datum 2018-12-05 Referat Grafikkort utför många liknande instruktioner parallellt då typiska

Läs mer

Digitala System: Datorteknik ERIK LARSSON

Digitala System: Datorteknik ERIK LARSSON Digitala System: Datorteknik ERIK LARSSON Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction Programexekvering (1)

Läs mer

Du kan även lyssna på sidorna i läroboken: Teknik direkt s Lyssna gör du på inläsningstjänst.

Du kan även lyssna på sidorna i läroboken: Teknik direkt s Lyssna gör du på inläsningstjänst. Datorn När du har läst det här avsnittet skall du: känna till datorns historia kunna vilka tekniker man använder för att ta kontakt idag kunna reflektera kring fördelar och nackdelar med modern kommunikationsteknik

Läs mer

Mälardalens högskola

Mälardalens högskola Teknisk rapportskrivning - en kortfattad handledning (Version 1.2) Mälardalens högskola Institutionen för datateknik (IDt) Thomas Larsson 10 september 1998 Västerås Sammanfattning En mycket viktig del

Läs mer

Närliggande allokering Datorteknik

Närliggande allokering Datorteknik Närliggande allokering Datorteknik ERIK LARSSON TID Problem: Minnet blir fragmenterat Paging Demand paging Sida (S) Dela upp primärminnet i ramar (frames) och program i sidor (pages) Program 0 RD.0 1 RD.1

Läs mer

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

Kursupplägg. Examination. Föreläsning 1: Intro till kursen och. Kursmaterial. programmering. Kursboken: Programmera med a multimedia approach Föreläsning 1: Intro till kursen och Kursens hemsida http://www.it.uu.se/edu/course/homepage/prog1/esvt10 Studentportalen http://www.studentportalen.uu.se Kursmaterial Kursbok Kursprogramvara Tips: Installera

Läs mer

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Halmstad University School of Information Science, Computer and Electrical Engineering Tomas Nordström, CC-lab TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Datum: 2012-05- 23 Tid och plats: 9:00 13:00 i

Läs mer

Utvecklingen från en 8 bitars till en 16 bitars mikroprocessor

Utvecklingen från en 8 bitars till en 16 bitars mikroprocessor Utvecklingen från en 8 bitars till en 16 bitars mikroprocessor Sammanfattning: Utvecklingen från processor till processor är inte lätt. Det finns många beslut som måste tas när det gäller kompatibilitet,

Läs mer

Tentamen den 17 mars 2016 Datorteknik, EIT070

Tentamen den 17 mars 2016 Datorteknik, EIT070 Lunds Universitet LTH Tentamen den 17 mars 2016 Datorteknik, EIT070 Skrivtid: 14.00-19.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng För betyg 4 krävs 30 poäng

Läs mer

Datorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga

Datorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga Datorarkitektur I Tentamen Lördag 10 April 2010 Ekonomikum, B:154, klockan 09:00 14:00 Examinator: Karl Marklund 0704 73 32 17 karl.marklund@it.uu.se Tillåtna hjälpmedel: Penna Radergummi Linjal Följande

Läs mer

Så fungerar en dator

Så fungerar en dator 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

Läs mer

Rapport (1,5 HP) Lunds Universitet HT15

Rapport (1,5 HP) Lunds Universitet HT15 Rapport (1,5 HP) Lunds Universitet HT15 Cache-koherens protokoll i Intel Core i7 En rapport om cache-koherens och protokollet som används i Intel Core i7 processorer för att hålla minnet koherent Författare:

Läs mer

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

Föreläsning 1: Intro till kursen och programmering Föreläsning 1: Intro till kursen och programmering λ Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/mafykht11/ λ Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga

Läs mer

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON Datorarkitekturer med operativsystem ERIK LARSSON Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction Programexekvering

Läs mer

Grundläggande programmeringsteknik Datorsystem

Grundläggande programmeringsteknik Datorsystem Datorsystem Från abakus till Z3 Datorsystem Från kursplanen Moment 3, Datorsystem 3hp I detta moment ges en introduktion till datorsystem och dess uppbyggnad. Minneshantering, vad en CPU är och gör samt

Läs mer

Pipelining i Intel 80486

Pipelining i Intel 80486 Lunds Universitet Pipelining i Intel 80486 EITF60 Datorarkitekturer med operativsystem Martin Wiezell 2017-12-04 Abstract This paper gives a brief description of the instruction pipeline of the Intel 80486

Läs mer

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

Föreläsning 1: Intro till kursen och programmering Föreläsning 1: Intro till kursen och programmering Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/vt11 Studentportalen http://www.studentportalen.uu.se Lärare: Tom Smedsaas, Tom.Smedsaas@it.uu.se

Läs mer

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya Random Access Memory Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya Introduktion Historia Vad är RAM? Hur fungerar RAM? Dataöverföring, tidsklocka och termer Vilka är de olika typerna av RAM? Vad

Läs mer

Datorsystemteknik DVGA03 Föreläsning 8

Datorsystemteknik DVGA03 Föreläsning 8 Datorsystemteknik DVGA03 Föreläsning 8 Processorns uppbyggnad Pipelining Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Innehåll Repetition av instruktionsformat

Läs mer

Berättelsen om den första datorn ENIAC. Figur 1: ENIAC vid BRL i Aberdeen Proving Ground

Berättelsen om den första datorn ENIAC. Figur 1: ENIAC vid BRL i Aberdeen Proving Ground Berättelsen om den första datorn ENIAC Figur 1: ENIAC vid BRL i Aberdeen Proving Ground Marcus Tönnäng, msn00001@student.mdh.se Peter Westling, pwg99002@student.mdh.se Vetenskapsmetodik för teknikområdet

Läs mer

Läsminne Read Only Memory ROM

Läsminne Read Only Memory ROM Läsminne Read Only Memory ROM Ett läsminne har addressingångar och datautgångar Med m addresslinjer kan man accessa 2 m olika minnesadresser På varje address finns det ett dataord på n bitar Oftast har

Läs mer

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

Inledande programmering med C# (1DV402) Introduktion till programmering Introduktion till programmering Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt

Läs mer

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1 Algoritmer Lars Larsson VT 2007 Lars Larsson Algoritmer 1 1 2 3 4 5 Lars Larsson Algoritmer 2 Ni som går denna kurs är framtidens projektledare inom mjukvaruutveckling. Som ledare måste ni göra svåra beslut

Läs mer

32 Bitar Blir 64 Sammanfattning

32 Bitar Blir 64 Sammanfattning 32 Bitar Blir 64 Sammanfattning Syftet med rapporten är att ge en insyn i det tillvägagångssätt och problem som uppstod i utvecklingen från 32 bitars CPUs till 64 bitars CPUs samt inblick i skillnaden

Läs mer

Föreläsning 5. Deduktion

Föreläsning 5. Deduktion Föreläsning 5 Deduktion Hur ett deduktivt system fungerar Komponenter - Vokabulär Ett deduktivt system använder ett visst slags språk som kan kallas för systemets vokabulär. I mindre formella fall är kanske

Läs mer

Cacheminne i en AMD Opteron Processor

Cacheminne i en AMD Opteron Processor Handledare: Erik Larsson Lunds Tekniska Högskola HT15 Cacheminne i en AMD Opteron Processor En rapport om cacheminne och dess struktur, i en 12 kärnig AMD Opteron Magny-Cours processor. Författare: Hamza

Läs mer

Kort beskrivning av Sveriges första dator BESK

Kort beskrivning av Sveriges första dator BESK Kort beskrivning av Sveriges första dator BESK Bo Einarsson MAI 10 januari 2005 Den första svenska egentliga datorn är BESK, vilket står för Binär Elektronisk SekvensKalkylator. Den var körklar den 6 november

Läs mer

LABORATION. Datorteknik Y

LABORATION. Datorteknik Y LABORATION Datorteknik Y Mikroprogrammering Version 3.3 2012 (AE) 2013 (AE) 2017 (KP) Namn och personnummer Godkänd Uppg. 1-3 1 1 Inledning Syftet med laborationen är att skapa en känsla för vad som händer

Läs mer

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11 A basic -bit Select between various operations: OR, AND, XOR, and addition Full Adder Multiplexer Digitalteknik och Datorarkitektur hp Föreläsning : introduktion till MIPS-assembler - april 8 karlmarklund@ituuse

Läs mer

Spekulativ exekvering i CPU pipelining

Spekulativ exekvering i CPU pipelining Spekulativ exekvering i CPU pipelining Max Faxälv Datum: 2018-12-05 1 Abstrakt Speculative execution is an optimisation technique used by modern-day CPU's to guess which path a computer code will take,

Läs mer

Datorn föds. http://www.youtube.com/watch?v=anrjsigryjw

Datorn föds. http://www.youtube.com/watch?v=anrjsigryjw Datorkunskap Vad är en dator Datorer är maskiner som utför uppgifter och beräkningar med hjälp av givna instruktioner eller program. Datorer arbetar genom att låta maskin- och programvara interagera. Maskinvara

Läs mer

Hantering av hazards i multi-pipelines

Hantering av hazards i multi-pipelines Campus Helsingborg IDA2 Hantering av hazards i multi-pipelines Av: Mounir Salam Abstract Det finns tre olika problem som kan uppstå när vi kör en pipeline med flera steg. De tre problemen även så kallade

Läs mer

DATORER OCH PROGRAM. Datorn är en symbolmaskin

DATORER OCH PROGRAM. Datorn är en symbolmaskin DATORER OCH PROGRAM Datorn är en symbolmaskin men kan ha såväl symboliska som fysiska gränssnitt till omvärlden Program beteendeplan och beteendegenerator Programmerade maskiner Generalitet och portabilitet

Läs mer

Exempeltentamen Datorteknik, EIT070,

Exempeltentamen Datorteknik, EIT070, Lunds Universitet LTH Exempeltentamen Datorteknik, EIT070, Skrivtid: xx.00-xx.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng För betyg 4 krävs 30 poäng För betyg

Läs mer

Multithreading in Intel Pentium 4 - Hyperthreading

Multithreading in Intel Pentium 4 - Hyperthreading Multithreading in Intel Pentium 4 - Hyperthreading Sammanfattning Hyper-threading är en implementation av SMT(Simultaneous Multithreading) teknologi som används på Intel processorer. Implementationen användes

Läs mer

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg niklas.broberg@chalmers.

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg niklas.broberg@chalmers. Programmering Seminarier i datavetenskap, datorteknik och informationsteknik Niklas Broberg niklas.broberg@chalmers.se 2015-09-24 Hur många från Datavetenskap? Datateknik? Informationsteknik? Översikt

Läs mer

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

IT-GUIDE Version 1.0 Författare: Juha Söderqvist IT-GUIDE Version 1.0 Författare: Juha Söderqvist Innehåll INTRODUKTION... 3 DATOR... 3 persondator... 3 Tablet... 4 Laptop... 4 Telefoner... 4 MODERKORT... 5 PROCESSORN... 5 inbäddade system... 6 RAM-MINNE...

Läs mer

Datorteknik. Tomas Nordström. Föreläsning 2. För utveckling av verksamhet, produkter och livskvalitet.

Datorteknik. Tomas Nordström. Föreläsning 2. För utveckling av verksamhet, produkter och livskvalitet. Datorteknik Tomas Nordström Föreläsning 2 För utveckling av verksamhet, produkter och livskvalitet. Föreläsning 2 Check av övningar Von Neumann arkitekturen Minne, CPU, I/O Instruktioner och instruktionscykeln

Läs mer

Programmering för alla!

Programmering för alla! Programmering för alla! Inspirationsseminarium för lärare i grundskola och gymnasium Björn Regnell Professor Datavetenskap, LTH, Lunds universitet lth.se/programmera Video http://www.svt.se/nyheter/sverige/krav-pa-att-elever-lar-sig-programmera

Läs mer

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15. Aktivera Kursens mål: LV3 Fo7 Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Konstruktruera olika kombinatoriska nät som ingår i en dator. Studera hur addition/subtraktion

Läs mer

PARALLELLISERING AV ALGORITMER PROCESSORER FÖR FLERKÄRNIGA

PARALLELLISERING AV ALGORITMER PROCESSORER FÖR FLERKÄRNIGA PARALLELLISERING AV ALGORITMER FÖR FLERKÄRNIGA PROCESSORER 870928 3017 Johan Gustafsson 870303 4952 Gustaf David Hallberg 880525 8210 Per Hallgren 801117 0597 Wuilbert Lopez 1/7 Innehållsförteckning Table

Läs mer

Matematikens grundvalar och programmering av datorer

Matematikens grundvalar och programmering av datorer Matematikens grundvalar och programmering av datorer Bengt Nordström Datavetenskap, Chalmers och Göteborgs Universitet, 14 februari, 2005 Datorerna föddes ur logiken 1870: Cantor: Det finns minst två slags

Läs mer

IBM POWER4, den första flerkärniga processorn och dess pipelines.

IBM POWER4, den första flerkärniga processorn och dess pipelines. IBM POWER4, den första flerkärniga processorn och dess pipelines. 5 DECEMBER 2016 FÖRFATTARE: OSCAR STRANDMARK EXAMINATOR: ERIK LARSSON Abstract Rapporten redovisar IBM:s POWER-serie, generation ett till

Läs mer

Cacheminne Intel Core i7

Cacheminne Intel Core i7 EDT621 Datorarkitekturer med operativsystem 7,5 hp 2015-12-07 Cacheminne i Intel Core i7 Författare: Adnan Karahmetovic Handledare: Erik Larsson Innehåll 1. Inledning... 1 1.1 Syfte... 1 1.2 Frågeställning...

Läs mer

Datorteknik. Föreläsning 6. Processorns uppbyggnad, pipelining. Institutionen för elektro- och informationsteknologi, LTH. Mål

Datorteknik. Föreläsning 6. Processorns uppbyggnad, pipelining. Institutionen för elektro- och informationsteknologi, LTH. Mål Datorteknik Föreläsning 6 Processorns uppbyggnad, pipelining Mål Att du ska känna till hur processorn byggs upp Att du ska kunna de viktigaste byggstenarna i processorn Att du ska känna till begreppet

Läs mer

Anujan Balasingam IDA14 NAND flashminnen

Anujan Balasingam IDA14 NAND flashminnen Anujan Balasingam IDA14 NAND flashminnen Hur kan prestandan och kapaciteten förbättras? Kursansvarig: Erik Larsson Datorarkitektur med operativsystem 7,5 hp 04-12-2015 Innehållsförteckning 1. Inledning...

Läs mer

Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Lunds Universitet LTH Ingenjörshögskolan, Helsingborg Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt antal

Läs mer

Datorsystemteknik DAV A14 Föreläsning 1

Datorsystemteknik DAV A14 Föreläsning 1 Innehåll Datorsystemteknik DAV A14 Föreläsning 1 Kursinformation Introduktion till datorsystem Programmeringsmodellen Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec

Läs mer

Datormetaforen. Från människa till dator Från dator till människa o.s.v.

Datormetaforen. Från människa till dator Från dator till människa o.s.v. Datormetaforen Från människa till dator Från dator till människa o.s.v. Det mekaniska tänkandet Räknemaskin tillverkad av Pascal 1642 Hjärnan ett avancerat urverk 1800-talet Henry Colebrooke, (president

Läs mer

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar Digitalteknik EIT020 Lecture 15: Design av digitala kretsar November 3, 2014 Digitalteknikens kopplingar mot andra områden Mjukvara Hårdvara Datorteknik Kretskonstruktion Digitalteknik Elektronik Figure:,

Läs mer

Hur det går att minska effektutvecklingen i en processor genom att ändra pipeline

Hur det går att minska effektutvecklingen i en processor genom att ändra pipeline Hur det går att minska effektutvecklingen i en processor genom att ändra pipeline Linda Wapner HT2018 EITF60 Sammanfattning Effektutvecklingen i en processor har länge ökat genom att klockfrekvensen för

Läs mer

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg Programmering Seminarier i datavetenskap, datorteknik och informationsteknik Niklas Broberg niklas.broberg@chalmers.se 2018-09-27 Hur många från Datavetenskap? Datateknik? Informationsteknik? Översikt

Läs mer

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

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.

Läs mer

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010. Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk:

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010. Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk: Föreläsning 1 OH: Övergripande information Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk: * maskinspråk = ettor och nollor, kan bara en maskin förstå. * programmeringsspråk

Läs mer

Arm Cortex-A8 Pipeline

Arm Cortex-A8 Pipeline Marcus Havrell Dahl - 941206 Arm Cortex-A8 Pipeline Sammanfattning Arm Cortex-A8 processorn är en energisnål men samtidigt kraftfull enhet. Beroende på implementationen kan den ha en klockhastighet på

Läs mer

F1 Introduktion och ingenjörsrollen EDAA05 Datorer i system! Roger Henriksson!

F1 Introduktion och ingenjörsrollen EDAA05 Datorer i system! Roger Henriksson! F1 Introduktion och ingenjörsrollen EDAA05 Roger Henriksson I kursen får du en introduktion till de frågeställningar och problemområden som omfattas av D-programmet och ämnet datavetenskap och underlättar

Läs mer

F1 Introduktion och ingenjörsrollen

F1 Introduktion och ingenjörsrollen F1 Introduktion och ingenjörsrollen EDAA05 Roger Henriksson Jonas Wisbrant I kursen får du en introduktion till de frågeställningar och problemområden som omfattas av D-programmet och ämnet datavetenskap

Läs mer

Vad händer egentligen före en krasch? Svarta lådor och tidsmaskiner sparar pengar för företag

Vad händer egentligen före en krasch? Svarta lådor och tidsmaskiner sparar pengar för företag PRESSRELEASE 2003-02-07 Vad händer egentligen före en krasch? Res bakåt i tiden och se hur och varför programmet uppförde sig fel! Svarta lådor och tidsmaskiner sparar pengar för företag Svarta lådor och

Läs mer

Hyper Threading Intels implementation av SMT. Datorarkitekturer med operativsystem - EITF60. Felix Danielsson IDA2

Hyper Threading Intels implementation av SMT. Datorarkitekturer med operativsystem - EITF60. Felix Danielsson IDA2 Hyper Threading Intels implementation av SMT Datorarkitekturer med operativsystem - EITF60 Felix Danielsson IDA2 Sammanfattning Simultaneous multithreading (SMT) är en teknik som används i processorer

Läs mer

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Är varje påstående som kan formuleras matematiskt*) alltid antingen sant eller falskt? *) Inom Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Exempel: 12 = 13 nej, falskt n! >

Läs mer

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

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator Viktiga begrepp Den här ordlistan är till för dig som går kursen Om Programmering. Eftersom detta är en grundläggande kurs har vi i vissa fall gjort en del förenklingar. En del begrepp är svåra att förenkla,

Läs mer

Programmering för alla!

Programmering för alla! Programmering för alla! del 1 Lärarlyftet Teknik 7-9, 2014-09-01 Björn Regnell Professor Datavetenskap, LTH, Lunds universitet lth.se/programmera Agenda 09:00-10:00 Introduktion; kursens upplägg Varför

Läs mer

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON Datorteknik ERIK LARSSON Så här långt. FÖ2 RISC/CISC FÖ1 Primärminne Instruktioner och data Address Instruction 00001000 0000101110001011 00001001 0001101110000011 00001010 0010100000011011 00001011 0001001110010011

Läs mer

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg Programmering Seminarier i datavetenskap, datorteknik och informationsteknik Niklas Broberg niklas.broberg@chalmers.se 2017-09-21 Hur många från Datavetenskap? Datateknik? Informationsteknik? Översikt

Läs mer

Jämförelse av skrivtekniker till cacheminne

Jämförelse av skrivtekniker till cacheminne Jämförelse av skrivtekniker till cacheminne 1 Innehåll 1. Sammanfattning 2. Inledning 3. Diskussion 4. Referenslista 1. Sammanfattning En rapport innehållande jämförelser av olika skrivtekniker till minnen

Läs mer

F5: Högnivåprogrammering

F5: Högnivåprogrammering 1 F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data

Läs mer

Processor pipelining genom historien (Intel i9-intel i7)

Processor pipelining genom historien (Intel i9-intel i7) Processor pipelining genom historien (Intel i9-intel i7) Besnik Redzepi Lunds Universitet Abstrakt/Sammanfattning Syftet med denna uppsats är att jämföra Intels nya generation processorer och deras pipelining.

Läs mer

Digitala System: Datorteknik ERIK LARSSON

Digitala System: Datorteknik ERIK LARSSON Digitala System: Datorteknik ERIK LARSSON Huvudled (H) Trafikljus för övergångsställe Trafikljus för huvudled (H) Trafikljus: Sväng vänster (H->T) Gående - vänta Trafikljus för tvärgata (T) Tvärgata (T)

Läs mer

Pipeline hos ARM Cortex-A53 och ARM Cortex-A73

Pipeline hos ARM Cortex-A53 och ARM Cortex-A73 Lunds universitet Pipeline hos ARM Cortex-A53 och ARM Cortex-A73 Kevin Eriksson EITF60 Kursansvarig: Erik Larsson 2017-12-04 Innehållsförteckning Syfte 2 Sammanfattning 2 Jämförelse 3 Pipelinebredd 3 Out

Läs mer