CPUer og maskinkode DM534. Rolf Fagerberg
|
|
- Anton Gustav Marcussen
- 7 år siden
- Visninger:
Transkript
1 CPUer og maskinkode DM534 Rolf Fagerberg
2 CPUers opbygning En CPU er bygget op af elektriske kredsløb (jvf. sidste forelæsning), som kan manipulere bits. En CPU manipulerer flere bits ad gangen, deres antal kaldes CPUens ordlænge (typisk 32 eller 64).
3 CPUers opbygning En CPU er bygget op af elektriske kredsløb (jvf. sidste forelæsning), som kan manipulere bits. En CPU manipulerer flere bits ad gangen, deres antal kaldes CPUens ordlænge (typisk 32 eller 64). Typisk er en CPU struktureret således:
4 Instruktionssæt En CPU tilbyder en række ret simple kommandoer til at manipulere ord. Disse kaldes CPUens instruktionssæt. Der er normalt kommandoer til Flytte ord mellem RAM og CPUens registre. Lave simple beregninger på ord i CPUens registre (plus, minus, gange, dividere, AND, OR,... ). Ændre hvorhenne i programmet den næste kommando læses fra (jump).
5 Instruktionssæt En CPU tilbyder en række ret simple kommandoer til at manipulere ord. Disse kaldes CPUens instruktionssæt. Der er normalt kommandoer til Flytte ord mellem RAM og CPUens registre. Lave simple beregninger på ord i CPUens registre (plus, minus, gange, dividere, AND, OR,... ). Ændre hvorhenne i programmet den næste kommando læses fra (jump). Et eksekverbart program er en række af sådanne kommandoer. Programmet ligger i RAM. Kommandoerne er, som alt andet i en computer, repræsenteret ved en række bits.
6 Instruktionssæt En CPU tilbyder en række ret simple kommandoer til at manipulere ord. Disse kaldes CPUens instruktionssæt. Der er normalt kommandoer til Flytte ord mellem RAM og CPUens registre. Lave simple beregninger på ord i CPUens registre (plus, minus, gange, dividere, AND, OR,... ). Ændre hvorhenne i programmet den næste kommando læses fra (jump). Et eksekverbart program er en række af sådanne kommandoer. Programmet ligger i RAM. Kommandoerne er, som alt andet i en computer, repræsenteret ved en række bits. Man programmerer sjældent direkte i maskinsprog. Programmer skrevet i et normalt programmeringssprog såsom Python, Java, C++ eller C# oversættes til maskinsprog før (eller mens) det kører.
7 CPU cyclus En CPU arbejder i en cyclus: Fetch: Hent næste kommando (en samling bits) fra programmet i hukommelsen til CPUens. Decode: Konverter kommandoen (en samling bits) til kontrolsignaler internt i CPUen. Execute: Disse kontrolsignaler aktiverer de relevante dele af CPUen. Der er ca cykler i sekundet i en typisk CPU.
8 CPU cyclus En CPU arbejder i en cyclus: Fetch: Hent næste kommando (en samling bits) fra programmet i hukommelsen til CPUens. Decode: Konverter kommandoen (en samling bits) til kontrolsignaler internt i CPUen. Execute: Disse kontrolsignaler aktiverer de relevante dele af CPUen. Der er ca cykler i sekundet i en typisk CPU. Adressen i RAM på den næste kommando som skal hentes, angives af et specielt register kaldet program counter. Normalt tælles program counter én op efter hver cyclus (sekventiel programudførsel).
9 CPU cyclus En CPU arbejder i en cyclus: Fetch: Hent næste kommando (en samling bits) fra programmet i hukommelsen til CPUens. Decode: Konverter kommandoen (en samling bits) til kontrolsignaler internt i CPUen. Execute: Disse kontrolsignaler aktiverer de relevante dele af CPUen. Der er ca cykler i sekundet i en typisk CPU. Adressen i RAM på den næste kommando som skal hentes, angives af et specielt register kaldet program counter. Normalt tælles program counter én op efter hver cyclus (sekventiel programudførsel). En jump kommando ændrer på indholdet af dette register, og kan dermed styre hvilke kommandoer i programmet som udføres. Sådan laves løkker, forgreninger (if/then/else) og metodekald.
10 Kommandoer Et programs kommandoer er, som alt andet i en computer, repræsenteret ved en række bits. Disse er ofte struktureret således: Opcode Operand Operand Operand Opcode angiver kommandotypen. Operand angiver input til kommandoen. Det kan være f.eks. et registernummer, en hukommelsesadresse, eller et stykke data, alt efter typen af kommando.
11 En CPU simulator Brookshear.jar: Et Java-program som simulerer en simpel CPU med: 13 kommandoer. 16 registre (plus en program counter). Ordlængde 8 bits. En RAM med 256 ord. Indeholder både program og data.
12 En CPU simulator Brookshear.jar: Et Java-program som simulerer en simpel CPU med: 13 kommandoer. 16 registre (plus en program counter). Ordlængde 8 bits. En RAM med 256 ord. Indeholder både program og data. En kommando fylder to ord (16 bits), og er opbygget således: Opcode Operand Operand Operand
13 En CPU simulator Brookshear.jar: Et Java-program som simulerer en simpel CPU med: 13 kommandoer. 16 registre (plus en program counter). Ordlængde 8 bits. En RAM med 256 ord. Indeholder både program og data. En kommando fylder to ord (16 bits), og er opbygget således: Opcode Operand Operand Operand I simulatoren angives bits fire ad gangen via et hexadecimalt ciffer (0, 1, 2, 3,..., 9, A (10), B (11), C (12), D (13), E (14), F (15)).
14 En CPU simulator Brookshear.jar: Et Java-program som simulerer en simpel CPU med: 13 kommandoer. 16 registre (plus en program counter). Ordlængde 8 bits. En RAM med 256 ord. Indeholder både program og data. En kommando fylder to ord (16 bits), og er opbygget således: Opcode Operand Operand Operand I simulatoren angives bits fire ad gangen via et hexadecimalt ciffer (0, 1, 2, 3,..., 9, A (10), B (11), C (12), D (13), E (14), F (15)). En kommando fylder 4 cifre i alt, en kommando- og et registernummer kan angives med 1 ciffer, og en adresse i RAM kan angives med 2 cifre (da = 256).
15 Instruktionssæt Kommandoer: Opcode Operands Effekt 1 RXY Kopier indholdet af RAM celle XY til register R. 2 RXY Læg bitmønstret XY ind i register R. 3 RXY Kopier indholdet af register R til RAM celle XY. 4 xrs Kopier indholdet af register R til register S. 5 RST Lav addition af indholdet af register S og T og læg resultatet i register R. Indhold fortolkes som heltal i two s complement. 6 RST Lav addition af indholdet af register S og T og læg resultatet i register R. Indhold fortolkes som flydende kommatal.
16 Instruktionssæt Kommandoer: Opcode Operands Effekt 7 RST Lav bit-wise OR af indholdet af register S og T og læg resultatet i register R. 8 RST Lav bit-wise AND af indholdet af register S og T og læg resultatet i register R. 9 RST Lav bit-wise XOR af indholdet af register S og T og læg resultatet i register R. A RxX Rotér indholdet af register R cyclisk mod højre X skridt. B RXY Jump til instruktionen i RAM celle XY hvis indholdet i register R er lig indholdet i register 0. C xxx Stop programmet. D RXY Jump til instruktionen i RAM celle XY hvis indholdet i register R er større (>) end indholdet i register 0. Indhold fortolkes som heltal i two s complement.
17 Uddybning Uddybning af et par af operationerne ovenfor: Bit-wise OR (eller AND eller XOR): Brug OR (eller AND eller XOR) på hver plads. Et eksempel med OR: = På hver plads er den nye bit 1 hvis mindst én af de to gamle er 1 (jvf. definitionen af OR). Cyclisk rotation mod højre: Alle bits i ordet flyttes mod højre. Dem, som skubbes ud over højre ende af ordet, sættes ind igen i venstre ende i samme rækkefølge. Et eksempel på at rotere 3 skridt cyklisk mod højre:
18 Eksempelprogrammer Følgende program bytter om på indholdet af RAM celle 10 og 12: C000
19 Eksempelprogrammer Følgende program bytter om på indholdet af RAM celle 10 og 12: C000 Her er programmet igen, med hver linie forklaret: 1110 Kopier indholdet af RAM celle 10 til register Kopier indholdet af RAM celle 12 til register Kopier indholdet af register 1 til RAM celle Kopier indholdet af register 2 til RAM celle 10 C000 Stop (Hvis man skal se effekten når programmet kører, skal man først fylde RAM celler 10 og 12 med forskellligt indhold.)
20 Eksempelprogrammer Følgende program illustrerer en løkke. Det skriver efter tur tallene 0, 1, 2, 3,..., 6 (dvs. indhold 00, 01, 02, 03,..., 06) i RAM celle E1, hvis RAM celle 18 indeholder 07 til at starte med E 5001 D506 C000
21 Eksempelprogrammer Her er programmet igen, med hver linie forklaret: 2000 Læg bitmønstret 00 ind i register Læg bitmønstret 01 ind i register Kopier indholdet af RAM celle 18 til register 5 301E Kopier indholdet af register 0 til RAM celle 1E 5001 Lav addition af register 0 og 1, læg resultat i register 0 D506 Jump til instruktionen i RAM celle 06 (og 07) hvis indholdet i register 5 er større end indholdet i register 0. Når programmet placeres i starten af hukommelsen er denne instruktion 301E. C000 Stop (Husk først at fylde RAM celle 18 med indhold (f.eks. 07) inden programmet kører.)
Repræsentation af tal
Repræsentation af tal DM534 Rolf Fagerberg 1 / 18 Mål Målet for disse slides er at beskrive, hvordan tal repræsenteres som bitmønstre i computere. Dette emne er et uddrag af kurset DM548 Computerarkitektur
Læs mereRepræsentation af tal
Repræsentation af tal DM534 Rolf Fagerberg Mål Målet for disse slides er at beskrive, hvordan tal repræsenteres som bitmønstre i computere. Dette emne er et uddrag af kurset DM548 Computerarkitektur og
Læs mereRepræsentation af tal
Repræsentation af tal DM534 Rolf Fagerberg Bitmønstre 01101011 0001100101011011... Bitmønstre skal fortolkes for at have en betydning: Tal (heltal, decimaltal (kommatal)) Bogstaver Computerinstruktion
Læs mereRepræsentation af tal
Repræsentation af tal DM526 Rolf Fagerberg, 2009 Bitmønstre 01101011 0001100101011011... Bitmønstre skal fortolkes for at have en betydning: Tal (heltal, kommatal) Bogstaver Computerinstruktion (program)
Læs mereIndhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output...
Indhold Maskinstruktur... 3 Kapitel 1. Assemblersprog...3 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... 9 Kapitel 2. Maskinkode... 13 2.1 Den fysiske maskine... 13 2.2 Assemblerens
Læs mereComputeren inderst inde
Computeren inderst inde DM534 Rolf Fagerberg Bits Information = valg mellem forskellig muligheder. Simpleste situation: valg mellem to muligheder. Kald dem 0 og. Denne valgmulighed kaldes en bit. Bits
Læs mereProgrammering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen
Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen
Læs mereComputerarkitektur. - en introduktion til computerarkitektur med LINDA
Computerarkitektur - en introduktion til computerarkitektur med LINDA faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Roskilde Universitetscenter Naturvidenskabelig
Læs meredcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet)
dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) Efterår 2009 1 Simpel aritmetik på maskinniveau I SCO, appendix A, er det beskrevet, hvordan man adderer ikke-negative heltal
Læs mereGrådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for
Læs meredcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet)
dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet) Efterår 2009 1 Talrepræsentation På maskinkodeniveau (Instruction Set Architecture Level) repræsenteres ordrer og operander ved bitfølger
Læs mereNiveauer af abstrakte maskiner
Mikroarkitektur Niveauer af abstrakte maskiner Spørgsmål... Hvordan realiseres IJVM maskinen (lev. 2), eller hvordan ser en IJVM-CPU ud? Opbygning (mikroarkitekturen Mic-1) Anvendelse (mikroprogrammet
Læs mereMed TI-89 / TI-92 Plus kan du også sammenligne eller manipulere binære tal bit for bit.
Kapitel 20: Talsystemer 20 Resumé af talsystemer... 344 Indtastning og omregning af talsystemer... 345 Udførelse af matematiske beregninger med hexadecimale og binære tal... 346 Sammenligning eller manipulation
Læs mereBits DM534. Rolf Fagerberg, 2012
Bits DM534 Rolf Fagerberg, 2012 Resume af sidst Overblik over kursus Introduktion. Tre pointer: Datalogi er menneskeskabt og dynamisk. Tidslinie over fremskridt mht. ideer og hardware. Algoritme er et
Læs mereEksamen dcomnet Q2/2010. Navn
2582 Eksamen dcomnet Q2/2010 ID Navn Example I A32-prg1 Betragt følgende program skrevet i IA-32 symbolsk maskinsprog:.section.data x:.long 2 r:.long 27.section.text.globl _start _start: pushl x movl $0,%ebx
Læs mere(Positions) Talsystemer
(Positions) Talsystemer For IT studerende Hernik Kressner Indholdsfortegnelse Indledning...2 Positions talsystem - Generelt...3 For decimalsystemet gælder generelt:...4 Generelt for et posistionstalsystem
Læs mereDATALOGI 1E. Skriftlig eksamen mandag den 23. juni 2003
Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen mandag den 23. juni 2003 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes
Læs mereMichael Jokil 11-05-2012
HTX, RTG Det skrå kast Informationsteknologi B Michael Jokil 11-05-2012 Indholdsfortegnelse Indledning... 3 Teori... 3 Kravspecifikationer... 4 Design... 4 Funktionalitet... 4 Brugerflade... 4 Implementering...
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 20. april, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Introduktion til kurset Rolf Fagerberg Forår 2019 1 / 20 Hvem er vi? Underviser: Rolf Fagerberg, Institut for Matematik og Datalogi (IMADA) Forskningsområde: algoritmer
Læs mereIntroduktion til DM507
Introduktion til DM507 Rolf Fagerberg Forår 2017 1 / 20 Hvem er vi? Underviser: Rolf Fagerberg, IMADA Forskningsområde: algoritmer og datastrukturer 2 / 20 Hvem er vi? Underviser: Rolf Fagerberg, IMADA
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2017 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 6. april, 2017 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereBits, bit operationer, integers og floating point
Denne guide er oprindeligt udgivet på Eksperten.dk Bits, bit operationer, integers og floating point Denne artikel beskriver hvordan data gemmes som bits og hvordan man kan manipulere med bits. Den forudsætter
Læs mereITS MP 013. Talsystemer V009. Elevens navn. IT Skolen Boulevarden 19A-C 7100 Vejle Tel.:+45 76 42 62 44
ITS MP 013 V009 Elevens navn IT Skolen Boulevarden 19A-C 7100 Vejle Tel.:+45 76 42 62 44 ITS MP 013 Udarbejdet af Søren Haahr, juni 2010 Copyright Enhver mangfoldiggørelse af tekst eller illustrationer
Læs mereLektion 3 Sammensætning af regnearterne
Lektion Sammensætning af regnearterne Indholdsfortegnelse Indholdsfortegnelse... Plus, minus, gange og division... Negative tal... Parenteser og brøkstreger... Potenser og rødder... Lektion Side 1 Plus,
Læs mereTilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (key, nøgle) for dataelementer.
Merging og Hashing Tilgang til data To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (key, nøgle) for dataelementer. API for sekventiel tilgang (API = Application
Læs mereGrådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for
Læs mereGrådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for
Læs mereDATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004
Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen torsdag den 3. juni 2004 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes
Læs mere3. Computerens opbygning.
3. Computerens opbygning. Computere er konstrueret med henblik på at skulle kunne behandle og opbevare data og det er de som nævnt i noterne om Bits og Bytes vældig gode til. Som overordnet model for computere
Læs mereNoter til C# Programmering Selektion
Noter til C# Programmering Selektion Sætninger Alle sætninger i C# slutter med et semikolon. En sætning kontrollerer sekvensen i programafviklingen, evaluerer et udtryk eller gør ingenting Blanktegn Mellemrum,
Læs mereDATALOGI 1E. Skriftlig eksamen fredag den 7. juni 2002
Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen fredag den 7. juni 2002 Opgaverne vægtes i forhold til tidsangivelsen, og hver opgaves besvarelse bedømmes som en helhed.
Læs mereDesign af et ISA. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet
Design af et ISA Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Level 2: Maskinniveau (ISA) Level 5 Problem-oriented language level Translation (compiler) Level 4 Assembly language level Translation
Læs mereLageradministration. dopsys
Lageradministration 1 Lageret i maskinarkitekturen Beregningsenhed, lagre (registre, RAM, disk), ydre enheder 2 Abstraktion over typerne: et hierarki En maskine har flere forskellige lagre Operativsystemet
Læs mereSproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract
Sproget Six Til brug i rapportopgaven på kurset Oversættere Vinter 2006 Abstract Six er baseret på det sprog, der vises i figur 6.2 og 6.4 i Basics of Compiler Design. Den herværende tekst beskriver basissproget
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 10. april, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereMikroprogrammering. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet
Mikroprogrammering Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Oversigt Mikroprogrammering: IJVM implementeret på Mic-1 Forbedringer af Mic-1 Metode til udvikling af symbolske maskinsprogsprogrammer
Læs mereDM13-1. Obligatorisk opgave E.05. Jacob Aae Mikkelsen
DM13-1. Obligatorisk opgave E.05 Jacob Aae Mikkelsen - 191076 26. september 2005 Indhold Analyse af problemstillingen........................ 2 Spørgsmål 1................................. 3 Spørgsmål
Læs mereMaskinarkitektur. Lars Kristensen kris@daimi.au.dk. Christian Storm cstorm@daimi.au.dk. dmasark 1
Maskinarkitektur Lars Kristensen kris@daimi.au.dk Christian Storm cstorm@daimi.au.dk dmasark 1 Praktiske oplysninger http://www.daimi.au.dk/dmasark dmasark 2 Forelæsninger Tirsdag 12.15-14.00, Store Aud,
Læs mereMikroarkitektur. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet
Mikroarkitektur Niels Olof Bouvin Institut for Datalogi Aarhus Universitet 1 Level 1: Mikrokode niveauet Level 5 Problem-oriented language level Translation (compiler) Level 4 Assembly language level Translation
Læs mereSelvstudium 1, Diskret matematik
Selvstudium 1, Diskret matematik Matematik på første studieår for de tekniske og naturvidenskabelige uddannelser Aalborg Universitet I dette selfstudium interesserer vi os alene for tidskompleksitet. Kompleksitet
Læs mereGrundlæggende køretidsanalyse af algoritmer
Grundlæggende køretidsanalyse af algoritmer Algoritmers effektivitet Størrelse af inddata Forskellige mål for køretid Store -notationen Klassiske effektivitetsklasser Martin Zachariasen DIKU 1 Algoritmers
Læs mereMerging og Hashing (del I)
Merging og Hashing (del I) Tilgang til data To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer. API for sekventiel tilgang
Læs mereSproget Rascal (v. 2)
Sproget Rascal (v. 2) Til brug i K1 på kurset Oversættere Opdateret 29/11 2004 Abstract Rascal er et simpelt Pascal-lignende imperativt sprog. Dette dokument beskriver uformelt Rascals syntaks og semantik
Læs mereTilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer.
Merging og Hashing Tilgang til data To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer. API for sekventiel tilgang (API =
Læs mereGrådige algoritmer. Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Læs mereSproget Limba. Til brug i G1 og K1. Dat1E 2003
Sproget Limba Til brug i G1 og K1 Dat1E 2003 Abstract Limba er et simpelt imperativt sprog med hoballokerede tupler. Dette dokument beskriver uformelt Limbas syntaks og semantik samt en fortolker for Limba,
Læs mereSammenlign og byt. Et eksempel på dokumentering af et program
Sammenlign og byt Et eksempel på dokumentering af et program Sammenlign og byt Jeg har valgt, som et eksempel, at dokumentere et meget enkelt program som indlæser to tal, sammenligner dem og udskriver
Læs mereGrundlæggende Algoritmer og Datastrukturer. Analyseværktøjer [CLRS, 1-3.1]
Grundlæggende Algoritmer og Datastrukturer Analyseværktøjer [CLRS, 1-3.1] Eksempler på en beregningsprocess Puslespil ved ombytninger Maximum delsum Hvad er udførselstiden for en algoritme? Maskinkode
Læs mereuprocessorens hardware
uprocessorens hardware 8080 Architecture Kernen i en processor er ALUen. Det er den som kan udfører simple regne operationer. De tal den arbejdermed gemmes i en række registre. Når et tal skal hentes eller
Læs mereAlgoritmer og Datastrukturer 1. Gerth Stølting Brodal
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Design af Algoritmer Korrekt algoritme 1) algoritmen standser på alle input 2) Output er det rigtige på alle input Effektivitet 1) Optimer algoritmerne
Læs mereTalrækker. Aktivitet Emne Klassetrin Side
VisiRegn ideer 3 Talrækker Inge B. Larsen ibl@dpu.dk INFA juli 2001 Indhold: Aktivitet Emne Klassetrin Side Vejledning til Talrækker 2-4 Elevaktiviteter til Talrækker 3.1 Talrækker (1) M-Æ 5-9 3.2 Hanoi-spillet
Læs mereLær Python dag 1 - modul 1
Lær Python dag 1 - modul 1 Introduktion, basis python Steffen Berg Klenow Jonas Bamse Andersen Syddansk Universitet Indhold 1. Velkommen 2. Programmering i python 3. Typer, variabler og udtryk 1 Velkommen
Læs mereAlgorithms & Architectures II
Algorithms & Architectures II Algorithms & Architectures II Jens Myrup Pedersen Hans Peter Schwefel Kursusholdere Dagens lektion Overordnet mål: At etablere en forståelse for hvordan hardware og hardwarearkitekturer
Læs mereBRP Tal. Om computer-repræsentation og -manipulation. Logaritmer
BRP 13.9.2006 Tal. Om computer-repræsentation og -manipulation. Logaritmer 1. Opgaverne til i dag dækker det meste af stoffet 2. Resten af stoffet logaritmer binære træer 3. Øvelse ny programmeringsopgave
Læs mereEt generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel:
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel: Opbyg løsningen skridt for skridt ved hele tiden af vælge lige
Læs mereSortering i lineær tid
Sortering i lineær tid Nedre grænse for sammenligningsbaseret sortering Nedre grænser kræver en præcis beregningsmodel. Nedre grænse for sammenligningsbaseret sortering Nedre grænser kræver en præcis beregningsmodel.
Læs mereEksempel: Skat i år 2000
Kursus 02199: Programmering afsnit 2.1-2.7 Anne Haxthausen IMM, DTU 1. Værdier og typer (bl.a. char, boolean, int, double) (afsnit 2.4) 2. Variable og konstanter (afsnit 2.3) 3. Sætninger (bl.a. assignments)
Læs mereSammensætning af regnearterne
Sammensætning af regnearterne Plus, minus, gange og division... 19 Negative tal... 0 Parenteser og brøkstreger... Potenser og rødder... 4 Sammensætning af regnearterne Side 18 Plus, minus, gange og division
Læs mereMålet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt.
Merging og hashing Mål Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer
Læs mereDATALOGI MASKINARKITEKTUR Blok 2 samt Reeksamination i DATALOGI MASKINARKITEKTUR Blok 1 og arkitekturdelen af DATALOGI 1E
Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI MASKINARKITEKTUR Blok 2 samt Reeksamination i DATALOGI MASKINARKITEKTUR Blok 1 og arkitekturdelen af DATALOGI 1E Vejledende løsninger til
Læs mereEn forståelsesramme for de reelle tal med kompositioner.
1 En forståelsesramme for de reelle tal med kompositioner. af Ulrich Christiansen, sem.lekt. KDAS. Den traditionelle tallinjemodel, hvor tallene svarer til punkter langs tallinjen, dækker fornuftigt (R,
Læs mereLageret i maskinarkitekturen. Beregningsenhed, lagre (registre, RAM, disk), ydre enheder
Lageradministration Lageret i maskinarkitekturen Beregningsenhed, lagre (registre, RAM, disk), ydre enheder Abstraktion over typerne: et hierarki En maskine har fl ere forskellige lagre Operativsystemet
Læs merePædagogisk vejledning til. Materialesæt. Sphero. http://via.mitcfu.dk/99872760
Pædagogisk vejledning til Materialesæt Sphero http://via.mitcfu.dk/99872760 Pædagogisk vejledning til materialesættet Sphero Materialesættet kan lånes hos VIA Center for Undervisningsmidler og evt. hos
Læs mereSkriftlig eksamen, Programmer som Data Onsdag 6. januar Spørgsmål 1 (20 %): Regulære udtryk og automater
Skriftlig eksamen, Programmer som Data Onsdag 6. januar 2010 Dette eksamenssæt har 5 sider. Tjek med det samme at du har alle siderne. Eksamens varighed er 4 timer. Der er fire spørgmål. For at få fuldt
Læs mereDATALOGI 1E. Vejledende løsninger til Skriftlig eksamen mandag den 28. maj 2001. 1 60 min. 2 60 min. 3 60 min. 4 60 min.
Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Vejledende løsninger til Skriftlig eksamen mandag den 28. maj 2001 Opgaverne vægtes i forhold til tidsangivelsen, og hver opgaves besvarelse
Læs mereSortering. Eksempel: De n tal i sorteret orden
Sortering 1 / 32 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 2 / 32 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden
Læs mereSortering af information er en fundamental og central opgave.
Sortering Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 Mange opgaver er hurtigere i sorteret information (tænk på ordbøger, telefonbøger,
Læs mereSortering. Eksempel: De n tal i sorteret orden
Sortering 1 / 34 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 2 / 34 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden
Læs mereIntroduktion til C programmering
Introduktion til C programmering Rasmus Erik Voel Jensen Uge 17 voel@math.ku.dk Dagens forelæsning Formalia Indledende programmering, main, include, printf, variable, scanf, if-else, statements, eksempler
Læs merematematik Demo excel trin 1 preben bernitt bernitt-matematik.dk 1 excel 1 2007 by bernitt-matematik.dk
matematik excel trin 1 preben bernitt bernitt-matematik.dk 1 excel 1 2007 by bernitt-matematik.dk matematik excel 1 1. udgave som E-bog 2007 by bernitt-matematik.dk Kopiering af denne bog er kun tilladt
Læs mereJavaScript. nedarvning.
JavaScript er et sprog, der kan give en hjemmeside mere funktionalitet og gøre den interaktiv, så den reagerer på læsernes handlinger. CGI (Common Gateway Interface) har hidtil været de protokoller, man
Læs mereBrøker og forholdstal
Brøker og forholdstal Hvad er brøker - nogle eksempler... 6 Forlænge og forkorte... Udtage brøkdele... Uægte brøker og blandede tal... Brøker og decimaltal... 0 Regning med brøker - plus og minus... Regning
Læs mereMat C HF basisforløb-intro side 1. Kapitel 1. Fortegnsregler og udregningsrækkefølger
Mat C HF basisforløb-intro side 1 Kapitel 1 Fortegnsregler og udregningsrækkefølger Mat C HF basisforløb-intro side 2 1. Fortegn. 1.Fortegnsregler og udregningsrækkefølger - En introduktion med opgaver
Læs merematematik Demo excel trin 2 bernitt-matematik.dk 1 excel 2 2007 by bernitt-matematik.dk
matematik excel trin 2 bernitt-matematik.dk 1 excel 2 2007 by bernitt-matematik.dk matematik excel 2 1. udgave som E-bog 2007 by bernitt-matematik.dk Kopiering af denne bog er kun tilladt efter aftale
Læs mereDet Digitale Niveau. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet
Det Digitale Niveau Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Level : Det digitale niveau Level 5 Problem-oriented language level Translation (compiler) Level 4 Assembly language level
Læs mereComputere og Netværk (dcomnet)
Computere og Netværk (dcomnet) http://www.cs.au.dk/dcomnet Jens Kargaard Madsen (jkm@iha.dk) Jens Bennedsen (jbb@iha.dk) dcomnet 1 Computere og netværk Beskrivelse At give den studerende kendskab til computere
Læs mereMatematik opgave Projekt afkodning Zehra, Pernille og Remuss
Matematik opgave Projekt afkodning Zehra, Pernille og Remuss Opgave A Sæt de overstående symboler ind i en matematisk sammenhæng der gør dem forståelige. Det kan være som en sætning eller med tal og bogstaver
Læs mereDM13-1. Obligatoriske Opgave - Kredsløbs design
DM13-1. Obligatoriske Opgave - Kredsløbs design Jacob Christiansen moffe42@imada.sdu.dk Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense 1. Opgaven Opgaven består i at designe et kredsløb,
Læs mereSortering. De n tal i sorteret orden. Eksempel: Kommentarer:
Sortering Sortering Input: Output: n tal De n tal i sorteret orden Eksempel: Kommentarer: 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 Sorteret orden kan være stigende eller faldende. Vi vil i dette kursus
Læs mereTalsystemer I V X L C D M 1 5 10 50 100 500 1000. Hvad betyder halvanden??. Kan man også sige Halvtredie???
Romertal. Hvordan var de struktureret?? Systematisk?? I V X L C D M 1 5 10 50 100 500 1000 Regler: Hvis et lille tal skrives foran et stort tal trækkes tallet fra: IV = 5-1 = 4 Hvis et lille tal skrives
Læs mereAPPENDIX A INTRODUKTION TIL DERIVE
APPENDIX A INTRODUKTION TIL DERIVE z x y z=exp( x^2 0.5y^2) CAS er en fællesbetegnelse for matematikprogrammer, som foruden numeriske beregninger også kan regne med symboler og formler. Det betyder: Computer
Læs mereUniversity of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2
DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld
Læs mere2) Det er let at være produktiv med Python, da Python som regel kun har mellem 67 og 80% færre linier end tilsvarende C eller Java kode.
Denne guide er oprindeligt udgivet på Eksperten.dk I gang med Python I denne artikel vil jeg forsøge at give et kort og hurtigt indblik i programmeringssproget Python, der desværre er alt for overset.
Læs mereGrundliggende regning og talforståelse
Grundliggende regning og talforståelse De fire regnearter: Plus, minus, gange og division... 2 10-tals-systemet... 4 Afrunding af tal... 5 Regning med papir og blyant... 6 Store tal... 8 Negative tal...
Læs mereMaskinsprog. Martin Zachariasen, DIKU. Programmer og ordrer. Ordretyper. Operander og deres placering. Ordreformat. Procedurekald. Andre arkitekturer
Maskinsprog Martin Zachariasen, DIKU Litteratur: Patterson & Hennessy, kap. 3 Programmer og ordrer Ordretyper Operander og deres placering Ordreformat Procedurekald Andre arkitekturer 1 Stored-program
Læs mereFilsystemer: Anvendelse. dopsys
Filsystemer: Anvendelse 1 Lageret er hierarkisk - Fokus: disk Sekundært lager er nødvendigt: Data i RAM forsvinder når processer terminerer o.lign. Og der er også brug for pladsen 2 Lageret er hierarkisk
Læs mereRegulære udtryk og endelige automater
Regulære udtryk og endelige automater Regulære udtryk: deklarative dvs. ofte velegnede til at specificere regulære sprog Endelige automater: operationelle dvs. bedre egnet til at afgøre om en given streng
Læs mereSpar tid med struktureret programmering! Om PLC programmering
Spar tid med struktureret programmering! Om PLC programmering 1 MITSUBISHI PLC programmerings software Ved systemtekniker Helge Gulstad Tlf. Direkte: 46 74 01 61 Mob: 21 19 25 64 Mail: hgd@beijer.dk 2
Læs mereSortering af information er en fundamental og central opgave.
Sortering 1 / 36 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 6, 9 Mange opgaver er hurtigere i sorteret information (tænk på ordbøger, telefonbøger,
Læs mereLRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) int wmid, wmevent; PAINTSTRUCT Introduktion ps; til HDC hdc; programmering med switch (message) case WM_COMMAND: wmid = LOWORD(wParam);
Læs mereProgrammering i C. Lektion september 2009
Programmering i C Lektion 1 8. september 2009 Målgruppe Motivation Indhold Form Materiale 2 / 47 Kursusintroduktion 1 Målgruppe 2 Motivation 3 Indhold 4 Form 5 Materiale Målgruppe Motivation Indhold Form
Læs mereDu trækker 2 gange, hvis begge spillere bekender begge gange, så er der kun 1 trumf tilbage, og du vil ALTID vinde.
Februar 2018. Spil 1. Løsning på quiz. Løsning på quiz fra januar 2018. 1. Spar es, hjerter 2, 3, 4, 5 og 6, ruder konge, dame og knægt. Begge dine modspillere har bekendt 1. udspil. 2. Spar es, klør 2,
Læs mereDATALOGI 1E. Vejledende løsninger til Skriftlig eksamen fredag den 7. juni 2002
Københavns Universitet Naturvidenskabelig Embedseksamen DTLOGI 1E Vejledende løsninger til Skriftlig eksamen fredag den 7. juni 2002 Opgaverne vægtes i forhold til tidsangivelsen, og hver opgaves besvarelse
Læs mereBoolesk Algebra og det binære talsystem - temahæfte informatik. Oprindelse.
Boolesk Algebra og det binære talsystem - temahæfte informatik. I dette hæfte arbejdes der med to-tals systemet og logiske udtryk. Vi oplever at de almindelige regneregler også gælder her, og vi prøver
Læs mereTypisk modul-opbygget PLC system (Allan Bradley)
1 Typisk modul-opbygget PLC system (Allan Bradley) 5 6 Prrammøren nødt til at define hvilke modul systemet består af i hvilke slots de placet. Et typisk system vil have såvel anale som digitale ind- udgange
Læs mereOpgave: BOW Bowling. Rules of Bowling. danish. BOI 2015, dag 1. Tilgængelig hukommelse: 256 MB. 30.04.2015
Opgave: BOW Bowling danish BOI 0, dag. Tilgængelig hukommelse: 6 MB. 30.04.0 Byteasar er fan af både bowling og statistik. Han har nedskrevet resultaterne af et par tidligere bowling spil. Desværre er
Læs mereMålet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.
Merging og hashing Mål Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer (2. semester). Mål
Læs mereNetLogo-simuleringen. Simuleringer og fysiske modeller (henfaldsloven)
NetLogo-simuleringen Simuleringer og fysiske modeller (henfaldsloven) Hvad er en simulering? For at kunne arbejde med en simulering er der to vigtige elementer, man må have en grundlæggende forståelse
Læs mereBoolsk algebra For IT studerende
Boolsk algebra For IT studerende Henrik Kressner Indholdsfortegnelse 1 Indledning...2 2 Logiske kredsløb...3 Eksempel:...3 Operatorer...4 NOT operatoren...4 AND operatoren...5 OR operatoren...6 XOR operatoren...7
Læs mere