IT för personligt arbete F5



Relevanta dokument
IT för personligt arbete F6

Grundläggande datavetenskap, 4p

Föreläsning 2. Operativsystem och programmering

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

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

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

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)

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

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

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

Introduktion till programmering och Python Grundkurs i programmering med Python

Datorsystemteknik DAV A14 Föreläsning 1

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

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

HF0010. Introduktionskurs i datateknik 1,5 hp

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

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

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

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

Digitala System: Datorteknik ERIK LARSSON

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3

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

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

Att köpa ny dator SeniorNet Lidingö Februari-2019

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

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

Besvara de elektroniska frågorna (se kurshemsidan). Läs kapitel i kursbok.

Datorsystemteknik DAV A14 Föreläsning 1

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

Datorsystem. Exempeltentamen

Parallellism i CDC 7600, pipelinens ursprung

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

Tentamen den 18 mars svar Datorteknik, EIT070

Datorsystemteknik DVGA03 Föreläsning 8

Tentamen den 17 mars 2016 Datorteknik, EIT070

Processor pipelining genom historien (Intel i9-intel i7)

6. Ge korta beskrivningar av följande begrepp a) texteditor b) kompilator c) länkare d) interpretator e) korskompilator f) formatterare ( pretty-print

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

Centralenheten: ALU, dataväg och minne

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

Programmering för alla!

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Program & programmering

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

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING

Datorarkitekturer med operativsystem ERIK LARSSON

Datorteknik ERIK LARSSON

Kort beskrivning av Sveriges första dator BESK

Syfte. Praktisk datorkunskap. Personal. Kursinfo. Examination- Krav för godkänt. Agenda idag DVG A06

TSEA28 Datorteknik Y (och U)

Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf

Digital- och datorteknik

Närliggande allokering Datorteknik

Föreläsning 1 & 2 INTRODUKTION

Datorarkitekturer med operativsystem ERIK LARSSON

Studentportalen UNIX-konton (systemansvariga P4118) Lärare: Anna Eckerdal,

Digital- och datorteknik

Föreläsning 1 & 2 INTRODUKTION

Programmering för alla!

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

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

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

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18

Läs igenom hela laboration 5 innan du börjar beskriva instruktionsavkodaren i VHDL!

Exempeltentamen Datorteknik, EIT070,

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

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

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

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

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

Minnets komponenter. Digitala System: Datorteknik. Programexekvering. Programexekvering. Enhet för utdata. Enhet för indata CPU.

Tentamen PC-teknik 5 p

Program som ska exekveras ligger i primärminnet. Processorn hämtar instruk7on för instruk7on. Varje instruk7on, som är e= antal 1:or och 0:or, tolkas

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

MESI i Intel Core 2 Duo

TSEA28 Datorteknik Y (och U)

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1

TDDC77 Objektorienterad Programmering

PROGRAMMERING ÅK 9 INTRODUKTION

Grundkurs i programmering - intro

Digital- och datorteknik

Cecilia Ingard. Boksidan

Digital- och datorteknik

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

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

Datorarkitekturer med operativsystem ERIK LARSSON

CE_O3. Nios II. Inför lab nios2time

Pipelining i Intel Pentium II

Styrenheten styrsignalsekvenser programflödeskontroll

Program Datorteknik. Kontrollenhet. Exekvering av en instruktion. Abstraktionsnivå: Högnivåspråk. Assemblyspråk. Maskinspråk.

Datorteknik ERIK LARSSON

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

Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte

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

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

Att köpa ny dator SeniorNet Lidingö September-2017

Transkript:

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) ljudkort 2 Kommunikation utåt För att processornska kunna kommunicera med omvärlden, behöver den inmatnings- och utmatningsenheter (I/O-enheter ) Datornhar I/O-portar där externa enheter kan anslutas För varje I/O-enhet finns det en device driver/drivrutin som tolkar datorns signaler till något som enheten kan förstå 3

Datorminne All data i datorn sparas sombinära siffror i olika minnesfack med adresser Hur data sedan ska tolkas är upp till den som läser minnet En viss mängd data i varje fack och innehållet i varje fackkan skrivas över hur många gånger somhelst 4 Datorns olika minnen Olika typer av data lagras på olika platser Olika minnen är olika snabba Externa lagringsenheter (t ex USB-minnen) Hårddisk(ar ) (sekundärminne) RAM-minne (primärminne) Processorns minnen och register 5 Processorn Processorn kan liknas vid datorns hjärna Enhetensomfattar alla beslut, utför alla beräkningar samt ger de andra enheterna instruktioner Processorn utför många enkla beräkningar i mycket höghastighet 6

Processorns beståndsdelar 1) CU, kontrollenhet somfattar besluten 2) ALU, somutför beräkningarna 3) Processorregister (scratchpad), små snabba minnen för mellanlagring 4) Klocka, som styr i vilken takt som instruktionerna utförs 7 Processorns beståndsdelar Kontrollenhet Aritmetisk logisk enhet Processorregister Systemklocka 8 CU/Kontrollenheten Kontrollenheten i processornär den enhet som styr vad som ska hända Den har en minnesadress, Program Counter (PC), som talar om var den ska hitta nästa instruktion För varje steg den utför, hämtar den nästa instruktion där PC talar om att den ligger Kontrollenhetentolkar sedan instruktionen och hämtar de data den behöver Slutligen så utförs instruktionen ochresultatet lagras på angiven minnesplats 9

Aritmetic Logic Unit ALU är processorns beräkningsenhet En ALU i en dator kan utföra ett begränsat antal enkla instruktioner: jämföra två värden öka med 1 minska med 1 logiskt OCH, logiskt ELLER addera, subtrahera 10 Processorregister All data somalu arbetar med måste ligga i processorregistren Extremt snabbaminnesplatser somfinns internt i processorn För att ALU ska kunna utföra en beräkning så måste CU först se till att all data ligger i rättaregister 11 Systemklockan Systemklockan bestämmer i vilken takt som instruktionerna exekveras Efter rasten ska vi titta på hur det går till i detalj när en instruktion exekveras Det som i kursboken kallas för The Fetch/Execute-cycle Processorns exekveringscykel PAUS 15 minuter 12

The Fetch/Execute-cycle Ett cykliskt arbetssätt Fem steg som itereras 13 Ett instruktionsexempel ADD 2000, 2080, 4000 Hämta det värde som ligger på adress 2000 och det värdesom ligger påadress 2080 ochspara resultatet på adress 4000 Notera att vi inte är intresserade av att addera talen 2000 och 2080 Vi vill i stället addera de två talsom ligger på dessa två adresser 14 Ett instruktionsexempel ADD 2000, 2080, 4000 Genom att vi adderar talen som ligger på adresserna, kan samma instruktion ge olika resultat olika gånger I exemplet ovan adderar ALU de två talsom CU hämtat från adresserna 2000 och2080 Resultatet av additionen tas om hand av CU och läggs på adress 4000 15

Ett instruktionsexempel Samma instruktion med varierande indata 16 Instruktionsexempel 2 ADD 884,428,800 17 Instruktionsexempel 2 1) Från minnet till kontrollenheten 18

Instruktionsexempel 2 Adresser till operander och lagring av resultatet läggs in i ALU 19 Instruktionsexempel 2 Operanderna hämtas in från minnet 20 Instruktionsexempel 2 Beräkningen utförs 21

Instruktionsexempel 2 Resultatet lagras sedan i minnet och nästa cykel påbörjas sedan Till skillnad från en processor så behöver våra hjärnor lite vila ibland PAUS 15 minuter 22 Hur snabbt arbetar processorn? Processorns hastighet bestäms av en klocka som med jämna mellanrum ger ifrån sig en elektrisk puls I teorin kan processorn utföra en sak i F/E-cykeln varje gång klockan tickar Om en instruktion har fem delar så tar varje instruktion fem klocktick Detta kan snabbas upp pipelining Superskaläritet Multipla processorer/dual core 23 Hur snabbt arbetar processorn? Klockans hastighet anges i Hertz (Hz) Hz = antal pulser per sekund Dagens mikrodatorer har en klockfrekvens påflera GigaHertz (GHz) Ett antal miljarder tick per sekund En dator arbetar inte snabbare än sina långsammaste komponenter tillåter 24

Hur arbetar processorn? Teoretiskt sett räcker det med sex olika sorters instruktioner för att en processor ska kunna lösa alla problem I praktiken är det dock opraktiskt att bara använda sig av sex olika instruktioner En modern processor kan utföra ett 100- tal olika instruktioner 25 Hur arbetar processorn? Exempel påolika instruktioner: addera innehållet i två register jämför innehållet i två register kontrollera om värden är 0 eller inte spara värdet i ett register till en viss minnesadress hoppa till en ny instruktion (sätt PC till ett nytt värde) beroende på värdet av föregående operation 26 Hur arbetar processorn? Ofta ligger nästa instruktion på nästa plats i minnet MEN För att kunna göra något intressant, och inte bara utföra alla instruktionerna i en enda följd, måste processorn kunna hoppa mellan olika instruktioner beroende på situationen Dessa hopp kallas för Branch och Jump. Det betyder att adressen på nästa instruktion som ska utföras kan vara ettreultat av den instruktion som just utförts 27

Att bygga program De enstaka instruktionerna kombineras till att lösa komplexa problem Iteration En eller flera instruktioner upprepas Selektion Exekveringen väljer olika vägar 28 Att bygga program Program byggs genom att instruktioner kombineras till algoritmer Algoritmer implementeras i olika programmeringsspråk Lågnivåspråk Assembler Högnivåspråk Java, Javascript, C, C++ 29 Algoritmer En algoritm kan liknas vid ett recept en reparationsmanual en vägbeskrivning Recept: Ta 1 dl socker, 4 msk kakao, och 5 dl mjölk Blanda alla delari en kastrull Koka upp och låt sjuda i 5 minuter 30

Algoritmer Den datalogiska definitionen: Ett ändligt antal instruktioner som löser ett problem Definierat av Alan Turing Ett av 1900-talets stora genier Var bl a med och knäckte Enigma-kryptot 31 Alan Turing Alan Turing 1912-1954 32 Alan Turing En av de forskare som lade den teoretiska grunden till datavetenskapen Uppfann flera grundläggande begrepp T ex Turingtestet Mera om algoritmer i nästa föreläsning Vi ska nu titta på ett litet Javascript 33

Javascript Ett litet exempel som går att provköra från http://www.dsv.su.se/~mozelius/gkitp/ var surfare = prompt("vad heter du som besöker denna sida?", Anna"); var lasare = window.navigator.appname; document.write(" <h3> Hej ",surfare, ", jag ser att du använder ",lasare, ". </h3> "); 34 Javascriptet inlänkat i HTML Javascriptet läggs i en egen fil Om filen heter exempel.js så kan Javascriptet länkas in enligt: <script type="text/javascript" src="exempel.js"> </script> 35 Javascript Vi går vidare med programmering på nästa föreläsning Vi ses igen på torsdag! Tack för idag! 36