Anders Sjögren Går det att simulera vår värld med 1:or och 0:or ?

Slides:



Advertisements
Liknande presentationer
IT för personligt arbete F5
Advertisements

EDA 480 – Maskinorienterad Programmering
Persondatorer Moderkort, chipset, bussar, portar och BIOS (Kapitel 4)
En avancerad miniräknare
Anders Sjögren Lagringsklasser •en variabel i C har två attribut –type( int, float, char..... ) –lagringsklass( auto, extern, register, static ) •lagringsklassens.
Klasser och objekt.
Leif Håkansson’s Square Dancer Rotation
EDA Digital och Datorteknik
Persondatorer Datorns internminne (Kapitel 6)
Minnesteknologier Teknologi Accesstid Kostnad $/GB SRAM 1 ns 1000 DRAM
1 Hårddiskar och Disketter Boot sektorn på en diskett eller startsektorn på en partition (se s. 770)
PC-teknik Repetition enligt önskemål som inkommit via mail. (täcker alltså inte alla moment i kursen)
©annax1 PC-teknik Minnen. 2 MINNEN Segmenterat minne 16 bits segmentregister + 32 bits offset = 64k*4Gbyte = 512Tb obs! Ofta används inte alla 16 bitarna.
PC-Teknik © CAAK1 PC-teknik Anna-Karin Carstensen Plan 3 el/data tel:
23 August 2014 IS1200 Datorteknik vt09, föreläsning 10, (E och I mfl)1 IS1200 Datorteknik Föreläsning Processorkonstruktion 2. DMA, Direct Memory.
Programmeringsteknik K och Media
Vägen till lycka…..
Stora additionstabellen
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 11: Implementation av filsystem.
Repetition inför slutprovet
Pointers. int a=5; int f(int b) { a--; b++; return b; } int main() { int a=3; printf("%d,",f(a)); printf("%d",a); return 0; }
Föreläsning 5 måndag 5e november 2007 Datorsystem 1 och Datorarkitektur 1 Föreläsning 5 måndag 5e november 2007 Datorsystem 1 och Datorarkitektur 1.
Välkommen till Del 1.
1 Pass 2 Allmän IT Hårdvara Hårdvara Hårdvara = Maskinvara Hårdvara är ett samlingsnamn för olika fysiska tillbehör till en dator. T. ex. Systemenhet.
Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1
OPERATIVSYSTEM WINDOWS
Från Gotland på kvällen (tågtider enligt 2007) 18:28 19:03 19:41 19:32 20:32 20:53 21:19 18:30 20:32 19:06 19:54 19:58 20:22 19:01 21:40 20:44 23:37 20:11.
Det handlar om multiplikation
Styrteknik: Programmering med MELSEC IL PLC2A:1
TÄNK PÅ ETT HELTAL MELLAN 1-50
1 Joomla © 2009 Stefan Andersson 1. 2 MÅL 2 3 Begrepp Aktör: en användare som interagerar med webbplatsen. I diagrammet till höger finns två aktörer:
Persondatorn.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Operating Systems Networking for Home and Small Businesses – Chapter.
Anders Sjögren Pekare. Anders Sjögren Skapa ett program som byter plats på två heltal Pekare.
Digital och Datorteknik – EDA / Mikroprogrammering EDA Digital och Datorteknik 2009/2010 Mikroprogrammering Arbetsboken, avsnitt 28.
2G1510 Datorteknik fk Föreläsning 1, hösten 2003.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Databehandling Ett datorprogram består i huvudsak av
Styrteknik 7.5 hp distans: SFC Introduktion SFC_A:1
Styrteknik 7.5 hp distans: PLC-Program, kaffe-automat PLC7B:1
William Sandqvist PIC PIC (Peripheral Interface Computer) är en datorkrets med ”allt i ett”. Prog Mem. Programminnet är 2048 instruktioner.
Lågnivåprogrammering Översikt av I/O-mekanismer i hårdvara Olika språkkrav och modeller för komponent- hantering(device driving) Modeller för komponent-hantering.
Anders Sjögren ANSI - standard ?. Anders Sjögren ANSI - standard ? Om man skriver ett bra C-program och kompilerar fram ”exe”-filen så vore det ju trevligt.
Problemlösningsmetodik
Informationsteknologi - Lektion 2 Trådlöst nätverk (WLAN) Trådlöst nätverk (WLAN) Filarkivet: Filarkivet:
31 March 2015IS1200 Datorteknik, förel 101 IS1200 Datorteknik Föreläsning Processorkonstruktion 2. DMA, Direct Memory Access 3. Byte-code i JAVA.
31 March 2015 IS1200 Datorteknik ht2009 föreläsning 2, (D2)1 IS1200 Datorteknik Föreläsning 2 Vi bygger en processor Kursboken, valda delar av kapitel.
IS1200 Datorteknik Föreläsning CE F2 Vi bygger en processor Kursboken, delar av kapitel 7 31 March IS1200 Datorteknik föreläsning CE – F2.
1 386 Från s bits adressbuss –=>4GB minne kan adresseras 32 bits databuss max klockfrekvens: 40MHz Protected mode –virtuellt minne –segmentering.
Pipelining Föreläsning 4. T exe — CPU-exekveringstid I — Antalet exekverade instruktioner CPI — Genomsnittligt antal klockcykler per instruktion T c —
Minnesarkitektur Problem: Snabbare och snabbare processorer men minnena hänger inte med. Lösning: Minneshierarkier.
Emulatorkonstruktion Schema Inledning Andra metoder Mina metoder Demonstration av min C64-emulator Sammanfattning och frågor.
BVForum - en genomgång för revisorer Sören Thuresson.
PROCESSPROGRAMMERING Föreläsning 1 ( )‏ Innehåll: Introduktion till paralellprogrammering (“concurrent programming”)‏ Introduktion till parallellprogrammering.
1 Jan Lundström OV’s Hemsida Utbildning Ledare. 2 Jan Lundström OV’s Hemsida Standard Lagrum.
2G1518 Datorteknik Föreläsning 5 Bussar In- och utmatning (Input/Output, I/O) Programstyrd pollning hösten 2005 för D3 och CLMDA m fl.
Föreläsning 2 programmeringsteknik och Matlab 2D1312/ 2D1305
William Sandqvist Datorteknik övning 1 Introduktion till assemblerprogrammering av Nios II William Sandqvist
ett bra exempel på ett digitalt system
6/3/2015© Mats Brorsson1 Hur mycket snabbare blir det med PC133 SDRAM jämfört med PC100 SDRAM?... blir det med en 1,4 GHz Athlon- processor jämfört.
Föreläsning 1 Introduktion till kursen. Algoritmer
Anders Sjögren Programmering i ANSI-C Ett första program för att se vart vi ska...
William Sandqvist KIA’s fabrik i Slovenien En bil i minuten lämnar bandet – tar det en minut att bygga en bil? Nej för KIA's fabrik utanför.
Anders Sjögren Funktioner något in och något annat ut.
Grundläggande datavetenskap, 4p
Digitalteknik 3p - Kombinatoriska Byggblock
Digitalteknik 3p - Kombinatoriska Byggblock
Presentationens avskrift:

Anders Sjögren Går det att simulera vår värld med 1:or och 0:or ?

Anders Sjögren Går det att simulera vår värld med 1:or och 0:or ? Vad behövs ?

Anders Sjögren Går det att simulera vår värld med 1:or och 0:or ? Vad behövs ? –något som kan tolka våra 1:or ooch 0:or som en instruktion att utföra något

Anders Sjögren Går det att simulera vår värld med 1:or och 0:or ? Vad behövs ? –något som kan tolka våra 1:or ooch 0:or som en instruktion att utföra något –utföra våra instruktioner (program)i rätt ordning

Anders Sjögren Går det att simulera vår värld med 1:or och 0:or ? Vad behövs ? –något som kan tolka våra 1:or ooch 0:or som en instruktion att utföra något –utföra våra instruktioner (program)i rätt ordning –kunna välja alternativ

Anders Sjögren Går det att simulera vår värld med 1:or och 0:or ? Vad behövs ? –något som kan tolka våra 1:or ooch 0:or som en instruktion att utföra något –utföra våra instruktioner (program)i rätt ordning –kunna välja alternativ –signaler/data tillbaka för att styra/meddela ett resultat

Anders Sjögren Hårdvara Vad behövs ? –något som kan tolka våra 1:or ooch 0:or som en instruktion att utföra något –utföra våra instruktioner (program)i rätt ordning –kunna välja alternativ –signaler/data tillbaka för att styra/meddela ett resultat Allt detta finns i en modern processor. Vi ska nu betrakta en enkel modell av vad som finns på insidan.

Anders Sjögren CPU-schema Instruktions- register Avkodare Styrkretsar Registerval Flaggor Ackumulator B C E D H L SP PC ALU Primärminne Data Styrenhet Databuss Adressbuss Kontrollbuss Mikrokod/minne Vad behövs ? –något som kan tolka våra 1:or ooch 0:or som en instruktion att utföra något –utföra våra instruktioner (program)i rätt ordning –kunna välja alternativ –signaler/data tillbaka för att styra/meddela ett resultat Program

Anders Sjögren CPU-schema Instruktions- register Avkodare Styrkretsar Registerval Flaggor Ackumulator B C E D H L SP PC ALU Primärminne Data Styrenhet Databuss Adressbuss Kontrollbuss Mikrokod/minne Vad behövs ? –något som kan tolka våra 1:or ooch 0:or som en instruktion att utföra något –utföra våra instruktioner (program)i rätt ordning –kunna välja alternativ –signaler/data tillbaka för att styra/meddela ett resultat Program

Anders Sjögren CPU-schema Instruktions- register Avkodare Styrkretsar Registerval Flaggor Ackumulator B C E D H L SP PC ALU Primärminne Data Styrenhet Databuss Adressbuss Kontrollbuss Mikrokod/minne Vad behövs ? –något som kan tolka våra 1:or ooch 0:or som en instruktion att utföra något –utföra våra instruktioner (program)i rätt ordning –kunna välja alternativ –signaler/data tillbaka för att styra/meddela ett resultat Program

Anders Sjögren CPU-schema Instruktions- register Avkodare Styrkretsar Registerval Flaggor Ackumulator B C E D H L SP PC ALU Primärminne Data Styrenhet Databuss Adressbuss Kontrollbuss Mikrokod/minne Vad behövs ? –något som kan tolka våra 1:or ooch 0:or som en instruktion att utföra något –utföra våra instruktioner (program)i rätt ordning –kunna välja alternativ –signaler/data tillbaka för att styra/meddela ett resultat Program

Anders Sjögren CPU-schema Instruktions- register Avkodare Styrkretsar Registerval Flaggor Ackumulator B C E D H L SP PC ALU Primärminne Program Data Styrenhet Databuss Adressbuss Kontrollbuss Mikrokod/minne Adressen på adressbussen pekar ut data som skall transporteras på databussen - data (Data) till register och ALU eller - instruktioner ( Program ) till styrenheten

Anders Sjögren CPU-schema Instruktions- register Avkodare Styrkretsar Registerval Flaggor Ackumulator B C E D H L SP PC ALU Primärminne Program Data Styrenhet Databuss Adressbuss Kontrollbuss Mikrokod/minne Adressen på adressbussen pekar ut data som skall transporteras på databussen - data (Data) till register och ALU eller - instruktioner ( Program ) till styrenheten Registren är processorns egna minnen. De används för att lagra viktiga adresser och tillfälligt data.

Anders Sjögren CPU-schema Instruktions- register Avkodare Styrkretsar Registerval Flaggor Ackumulator B C E D H L SP PC ALU Primärminne Program Data Styrenhet Databuss Adressbuss Kontrollbuss Mikrokod/minne En simuleringsmaskin som arbetar på detta sätt fungerar efter von Neumanns principer. Märk speciellt att programkod och datakod finns i samma minne (primärminnet). Nu ska vi se var de ”externa” bussarna tar vägen.

Anders Sjögren Klocka CPU Tangentbord parallellinterface Video RAM Teckengenerator Videokretsar Diskkontroll Expansionsbuss Tilläggskort UART RS232 serieportar Primärminne RAM Bootstrap ROM, BIOS Adressbuss Databuss Kontrollbuss Parallell- port

Anders Sjögren Expansionsbuss

Anders Sjögren Expansionsbuss

Anders Sjögren Expansionsbuss ( PCI Local Bus architecture ) Pentium processors supported Highly integrated interface manages bus traffic ISA expansion bus also supports floppy drive, keyboard and mouse PCI bus supplements ISA, EISA and MCA- bus based systems PCI bus supports multiple high speed peripherals. Any PCI-compatible card works in any PCI-compliant system. 32 or 64-bit cards are interoperable in same socket.

Anders Sjögren Från program till exekvering av mikrokod ett litet exempel

Anders Sjögren Ett ”assemblerprogram” LDA 8 ADDA 9 STA 10 STA OUT ladda ackumulatorn med innehållet på adress 8 addera innehållet på adress 9 med ackumulatorinnehållet, resultatet i ackumulator lagra innehållet i ackumulatorn på adress 10 skriv innehållet i ackumulatorn till utporten

Anders Sjögren Assemblering till maskinkod LDA 8 ADDA 9 STA 10 STA OUT Assemblering Maskinkod ”EXE” - fil

Anders Sjögren Maskinkod ett exempel CODE_SEG SEGMENT 'CODE' 7 8 ASSUME CS:CODE_SEG MAIN PROC FAR B4 06 MOV AH,6 ;read key B2 FF MOV DL,0FFH CD 21 INT 21H F8 JE MAIN ;if no key C 40 CMP ;test 17000A JE MAIN C B4 06 MOV AH,6 ;display key 20000E 8A D0 MOV DL,AL CD 21 INT 21H EB EC JMP MAIN ;repeat MAIN1: B4 4C MOV AH,4CH ;exit to DOS CD 21 INT 21H MAIN ENDP CODE_SEG ENDS END MAIN

Anders Sjögren Vår dator

Anders Sjögren Databuss lässkriv add sub nollst OP’ IR Adressbuss PR AR OPA K  PR UT IN 1 7 Klocka Primärminne Mikrominne +2 OPerationskod Adress InstruktionsRegister ProgramRäknare Avkodare, OP-kod till offsetadress AckumulatorRegister  ProgramRäknare Kontrollbuss

Anders Sjögren Vår dator Programmet laddas i primärminnet, programräknarna nollställs

Anders Sjögren Databuss lässkriv add sub nollst OP’ IR Adressbuss PR=0 AR OPA K  PR=0 UT IN 1 7 Klocka Primärminne Mikrominne +2

Anders Sjögren Vår dator Första mikroinstruktionen utförs

Anders Sjögren Databuss lässkriv add sub nollst OP’ IR Adressbuss PR=0 AR OPA K  PR=1 UT IN 1 7 Klocka Primärminne Mikrominne +2

Anders Sjögren Vår dator Första mikroinstruktionen utförs på nytt 2 ggr, rad 1och 2 ( waitstates )

Anders Sjögren Databuss lässkriv add sub nollst OP’ IR Adressbuss PR=0 AR OPA K  PR=3 UT IN 1 7 Klocka Primärminne Mikrominne +2

Anders Sjögren Vår dator Mikroinstruktionen på rad 3 utförs

Anders Sjögren Databuss lässkriv add sub nollst OP’ IR Adressbuss PR=0 AR OPA K  PR=4 UT IN 1 7 Klocka Primärminne Mikrominne +2

Anders Sjögren Vår dator Mikroinstruktionen på rad 4 utförs

Anders Sjögren Databuss lässkriv add sub nollst OP’ IR Adressbuss PR=0 AR K  PR=5 UT IN 1 7 Klocka Primärminne Mikrominne +2 Överför 2 bytes

Anders Sjögren Vår dator Mikroinstruktionen på rad 5 utförs, sista instruktionen i hämt (fetch) - fasen

Anders Sjögren Databuss lässkriv add sub nollst OP’ IR Adressbuss PR=2 AR K  PR=6 UT IN 1 7 Klocka Primärminne Mikrominne =

Anders Sjögren Vår dator Mikroinstruktionen på rad 6 utförs, hämtfasen (fetch) är slut och ”LDA” skall exekveras

Anders Sjögren Databuss lässkriv add sub nollst OP’ IR Adressbuss PR=2 AR K  PR=7 UT IN 1 7 Klocka Primärminne Mikrominne =6

Anders Sjögren Vår dator Mikroinstruktionen på rad 7, 8 utförs

Anders Sjögren Databuss lässkriv add sub nollst OP’ IR Adressbuss PR=2 AR K  PR=8 UT IN 1 7 Klocka Primärminne Mikrominne =6

Anders Sjögren Vår dator Mikroinstruktionen på rad 9 utförs

Anders Sjögren Databuss lässkriv add sub nollst OP’ IR Adressbuss PR=2 AR K  PR=10 UT IN 1 7 Klocka Primärminne Mikrominne =6

Anders Sjögren Vår dator Mikroinstruktionen på rad 10 utförs

Anders Sjögren Databuss lässkriv add sub nollst OP’ IR Adressbuss PR= K  PR=0 UT IN 1 7 Klocka Primärminne Mikrominne =6

Anders Sjögren Vår dator osv

Anders Sjögren Vår dator exekveringsfasen för ”LDA” är klar och mikroprogrammet återgår till ”hämtfasen” för att läsa in maskinkoden för ”STA”. OBS! När maskinkoden avkodas i styrenheten sker hopp till rätt plats i mikrominnet där mikrokoden för ”STA” finns { { Hämta maskinkodsinstruktion ”LDA” ”STA” etc

Anders Sjögren CISC- och RISC- processorer ” modetermer ” CISC Complex Instruction Set Computing –Bra då primärminne är långsamt ty CISC ger programmeraren många och kraftfulla programinstruktioner - lite kod i primärminnet mycket i processorn. –Detta medför i sin tur”mycket och komplicerad” mikrokod som leder till många transistorer i processorn –Processorn blir dyr och ”långsam” –”Lätt” att assemblerprogrammera

Anders Sjögren RISC Reduced Instruction Set Computing –Programmeringen sker med färre och enklare maskinkodsinstruktioner vilket medför mindre mikrokod och färre transistorer i processorn på bekostnad av att mer primärminne måste användas. –Detta ger snabbar och billigare processorer –mycket svårt att assemblerprogrammera, kräver högnivåspråkkompilator –Framtidens melodi ? CISC- och RISC- processorer ” modetermer

Anders Sjögren Slut