HF0010. Introduktionskurs i datateknik 1,5 hp



Relevanta dokument
Datorsystemteknik DAV A14 Föreläsning 1

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Det finns en hemsida. Adressen är

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

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

Mer datorarkitektur. En titt I datorn Minnen

Datorarkitektur. Informationsteknologi sommarkurs 5p, Agenda. Slideset 3

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

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

Grundläggande datavetenskap, 4p

Minnen. Informationsteknologi sommarkurs 5p, Agenda. Slideset 4

Föreläsning 2. Operativsystem och programmering

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

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

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

Datorsystemteknik DAV A14 Föreläsning 1

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)

Digital- och datorteknik

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING

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

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

Föreläsning 1 & 2 INTRODUKTION

Minnet från processorns sida Datorteknik

Introduktion till programmering

5:3 Datorn och datorns delar

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Digital- och datorteknik

Introduktion till programmering och Python Grundkurs i programmering med Python

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

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

Grunderna i stegkodsprogrammering

Läsminne Read Only Memory ROM

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

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

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

Vad roligt att ni har valt att bjuda varandra på den här timmen.

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

Att köpa ny dator SeniorNet Lidingö Januari-2016

Felsökning av mjukvara

Så fungerar en dator

IT för personligt arbete F5

Talsystem Teori. Vad är talsystem? Av Johan Johansson

Föreläsningsanteckningar 2. Mikroprogrammering I

Föreläsningsanteckningar 5. Cacheminnen

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

Institutionen för datavetenskap 2014/15

Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1

Processor pipelining genom historien (Intel i9-intel i7)

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

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

Tentamen den 17 mars 2016 Datorteknik, EIT070

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

Programmering för alla!

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

Manual Sportident Onlinekontroll via GPRS

In- och Utenheter. Fö 3: In/Ut matning och kopplingsstruktur. Några exempel. Egenskaper. In- och Utenheter. Styrning.

Adressrum, programmerarens bild

Datorsystem Laboration 2: Minnesmappade bussar

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

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

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

För att skriva CSS-kod använder man sig av olika kommandon. Ett exempel på hur man kan skriva kod för att ändra textfärg kan vara:

Nallelek Lärarvägledning

Tentamen den 18 mars svar Datorteknik, EIT070

Hantering av hazards i pipelines

MESI i Intel Core 2 Duo

"if"-satsen. Inledande programmering med C# (1DV402)

Fö 2: Minnen. Introduktion. Primärminnet. Interna och externa minnen. Introduktion, Klassificiering

Till närstående som ska vara med vid samordnad vård- och omsorgsplanering via video eller telefon

Moment 2 - Digital elektronik. Föreläsning 1 Binära tal och logiska grindar

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

Digitala System: Datorteknik ERIK LARSSON

Programmering för alla!

KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012

Tentamen PC-teknik 5 p Lösningar och kommentarer

Tentaupplägg denna gång

Operativsystem. Informationsteknologi sommarkurs 5p, Agenda. Slideset 7. Exempel på operativsystem. Operativsystem

En handledning för studerande på Högskolan Kristianstad

KUNGLIGA TEKNISKA HÖGSKOLAN. Linefollower. Med LEGO Mindstorms och NXC. Paul Coada Introduktion i datateknik II1310

Datorsystem. Exempeltentamen

Grundläggande digitalteknik

Digital IC konstruktion

DATORER OCH PROGRAM. Datorn är en symbolmaskin

IT för personligt arbete F6

FÖRBEREDANDE INSTÄLLNINGAR INFÖR SKYPE MÖTE SAMORDNAD VÅRD- OCH OMSORGSPLANERING

Att komma igång med FirstClass (FC)!

MSR Gjutarevägen Stenkullen

1 Aylas bil har gått kilometer. Hur långt har den (2) gått när hon har kört en kilometer till?

Instruktioner för dig som ska söka till Mattekollo 2016

TSEA28 Datorteknik Y (och U)

F9: Minne. Sammansättning av minnesgrupper Ansluta minne till Interface till olika typer av minnen Användningsområden.

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

55200 Inspelningsbar microfon

Institutionen för elektro- och informationsteknologi, LTH

Innehåll. Datorteknik. Abstraktionsnivå 1. Spelkonsol - blockschema. Spelkonsol abstraktionsnivå 2. Abstraktionsnivå 2

Digital IC konstruktion

Minnessystem. Minneshierarki. Flyktigt eller icke flyktigt huvudsakliga egenskaper. Minneshierarki

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

TMT-918 Fjärrkontroll med timer. Säkerhet. Tekniska data

Programmeringsteknik med C och Matlab

Transkript:

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 Assistent: Johan Pettersson All information finns på KTH- social. Enklast är att söka på HF0010 (https://www.kth.se/social/course/hf0010/page/tidaa-4/) Kursen består av 3 föreläsningar och 4 laborationstillfällen. För att bli godkänd på kursen krävs godkänt på 3 laborationer. Godkänd blir man genom att närvara vid laborationstillfällena och redovisa de tre laborationerna. Dock är kursens syfte är att förbereda er för era studier och främst grundkursen i programmering så ta tillfället i akt och lär er så mycket som möjligt.

Föreläsningar och laborationer F1 Datalogi och datorer F2 Operativsystem och programmering Lab1 Programmering med grafiska byggblock F3 Programmering, C och programmeringsmiljö Lab2 Programmering i Javascript Ett första spel Lab3 Installera en programmeringsmiljö på din dator och skriv ditt första C-program.

Föreläsning 1 Datalogi och datorer

Datalogi (datavetenskap) - saknas vedertagen definition Ett synsätt: Inom datalogin studeras hur data lagras, förmedlas, används och bearbetas ur alla aspekter - den vetenskap som ligger till grund för stora delar av er utbildning Vissa delar av datalogin är mogna och står på stark teoretisk grund (ex algoritmer, kompilatorer) medans andra är mindre mogna och otydligare (ex datakommunikation) maskinvara operativsystem systemprogramvara, kompilatorer användarprogram användare, samhället

Information - data Trafiksignalen är ett datamedium Den innehåller data (röd lampa lyser) Vi tolkar datat som att det är en bra ide att stanna information Data är potentiell information men det krävs en tolkning för att det ska bli information För en tolkning krävs konventioner - tolkningsföreskrifter Dessa kan vara situationsberoende

Representation av data Samma fakta kan representeras på olika sätt - analog/digital klocka Klassifikation av representation av data: analog data diskret data (digital data)

Positionssystemet En symbols värde beror på dess position Decimala talsystemet basen 10 0,1,2,3,4,5,6,7,8,9 317,4 tolkas som 3 10 2 + 1 10 1 + 7 10 0 + 4 10-1 Binära talsystemet basen 2 0,1 1011 tolkas som 1 2 3 + 0 2 2 + 1 2 1 + 1 2 0 Skrivs: (1011) 2 = (11) 10 = 1 8 + 0 4 + 1 2 + 1 1 = 11

(173) 10 = (?) 2 173 / 2 = 86 rest 1 ger att sista siffran är 1 jmf 173 / 10 = 17 rest 3 ger att sista siffran är 3 173 / 2 = 86 rest 1 86 / 2 = 43 rest 0 43 / 2 = 21 rest 1 21 / 2 = 10 rest 1 läs av nerifrån och upp 10 / 2 = 5 rest 0 5 / 2 = 2 rest 1 2 / 2 = 1 rest 0 1 / 2 = 0 rest 1 (173) 10 = (10101101) 2 (Oktala talsystemet basen 8, Hexadecimala basen 16)

Datorn En dator är en maskin som kan bearbeta data automatiskt. Datorn kan bestå av mekaniska, elektroniska, optiska eller andra komponenter och styrs med instruktioner. Yttre minnen dataflöde In-enheter Dator Ut-enheter

Datorarkitektur Von-Neumann-arkitektur: datorns instruktioner i samma minne (address-rymd) som datorn använder för att lagra indata och mellanresultat. Memory dataflöde styrsignal Programming Control Unit (PCU) Arithmetic- Logic Unit (ALU) Central Processing Unit (CPU)

Prestanda Prestanda hos processorn bestäms av klockfrekvensen, tillgängliga instruktioner och antal klockcykler som en instruktion tar att exekvera. Klockfrekvensen är antalet enkla instruktioner en processor kan göra per sekund och ligger idag på storleksordningen 2 GHz. Dock tar många instruktioner fler än en cykel att exekvera. Prestanda hos datorn påverkas dock av flera andra faktorer såsom läshastighet hos minnet och busshastighet för data och styrsignaler.

Minne Under datorns utveckling har ofta hastigheten hos minnet varit en flaskhals för datorns prestanda. Primärminnet eller arbetsminnet (DRAM-minne) där datorn lagrar program och data har varit dyrt då man försökt göra det så snabbt som möjligt. Detta har då kompletterats med ett sekundärminne (hårddisk, flash) där delar av programmet och data som inte just nu behövs har kunnat swappas ut för att hämtas in när det behövs. Sekundärminnet är långsammare men mycket billigare och kan därför var mycket större. Cacheminne Då processorerna blev snabbare och snabbare hängde inte hastigheten hos primärminnet med. Lösningen blev att skapa ytterligare ett lager. Ett litet men mycket snabbt minne, cacheminnet, placerades mellan processor och primärminne. Viktigt för prestandan är då att datorn i förväg lyckas gissa vad den bör fylla cacheminnet med så att processorn inte får en cachemiss och måste stå och vänta tills rätt minnescell hunnit läsas från primärminnet. Dagens datorer har oftast flera nivåer cacheminnen. För att skriva effektiva program är det viktigt att vi undviker cachemissar. Det gör vi tex genom att gå igenom matriser i rätt ordning. Minne kan delas upp i RWM (read and write) och ROM (read only). RWM kallas oftast RAM (random access memory) vilket egentligen betyder att man kan nå godtycklig del av minnet direkt och inte behöver läsa sekventiellt. ROM-minnet är beständigt även när strömmen sluts och används t.ex för att lagra instruktioner (BIOS) som startar upp datorn när den slås på. Idag finns beständiga minnen som kan skrivas till (PROM, EPROM, EEPROM, flash).

Primärminnet Primärminet består av ett antal celler. Varje cell innehåller ett ord (word) och har en unik adress. Ett ord består av ett visst antal bitar (bits). En bit har antingen värdet 0 eller värdet 1. Ordlängden kan t.ex vara 8, 16, 24, 32, 64. Persondatorer har idag ordlängden 32 eller 64 bitar. Med hjälp av adressen till en minnescell kan man komma åt innehållet i cellen (ordet, datat). Ordet består då av en rad ettor och nollor. För att processorn ska kunna använda dessa data måste den veta hur de ska tolkas (som ett heltal, decimaltal, bokstav, ). 00110101 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00001011 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Nås med adress 13 (binärt 1101)

Styrenheten (PCU) Styrenheten hämtar en instruktion i taget från primärminnet och utför den. Den har till sin hjälp ett antal register. Aritmetiska enheten (ALU) Innehåller ett antal arbetsregister. Skall den tex beräkna a + b och tilldela detta till c kopieras först a s värde till ett arbetsregister sedan adderas b s värde till detta och sedan kopieras resultatet till c s plats i minnet.

Dataöverföring Dataöverföring mellan datorns delar sköts av ett bussystem som består av två bussar: en adressbuss som överför vilka adresser som är aktuella från styrenheten till primärminnet. Bredden avgör hur mycket minne som kan adresseras. en databuss (minnesbus) som står i förbindelse med samtliga datorns enheter och är gränssnitt mot yttre världen via in och ut-register. Bredden är ofta lika med ordlängden och om den är 32 bitar överförs dessa parallellt. Vid läsning överförs det ord vars adress finns på adressbussen till databussen där det kan hämtas av den enhet som behöver ordet. Vid skrivning överförs det ord som finns på databussen till den cell vars adress finns på adressbussen.

Harvard-arkitektur Till skillnad från persondatorer har de flesta inbyggda system inte von-neumann-arkitektur utan Harvard-arkitektur. Det innebär att de har ett separat minne (med separat adressrymd) för instruktioner med separat bus. Detta kan då vara ROM (read only memory). Bland annat möjliggör detta snabbare behandling då instruktioner kan läsas parallellt med data. Man kan också ha olika ordbredd på de två minnena.

Laboration 1 På en timme lär ni er programmera enkla program med grafiska byggblock i hour of code eller timmen med kod. Gå in på hemsidan: https://studio.code.org kicka på: Timmen med När du är klar visar du lärare eller assistent diplomet så att vi kan bocka av dig. På nästa svårighetsgrad använder vi samma block för att rita: https://blockly-games.appspot.com/turtle?lang=en&level=1 Visa din kod när du löst uppgift 5. Du har nu klarat laboration 1. Nu fortsätter du med resten av uppgifterna i mån av tid.