Ladda ner presentationen
Presentation laddar. Vänta.
1
Anders Sjögren Går det att simulera vår värld med 1:or och 0:or ?
2
Anders Sjögren Går det att simulera vår värld med 1:or och 0:or ? Vad behövs ?
3
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
4
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
5
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
6
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
7
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.
8
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
9
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
10
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
11
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
12
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
13
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.
14
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.
15
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
16
Anders Sjögren Expansionsbuss
17
Anders Sjögren Expansionsbuss
18
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.
19
Anders Sjögren Från program till exekvering av mikrokod ett litet exempel
20
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
21
Anders Sjögren Assemblering till maskinkod LDA 8 ADDA 9 STA 10 STA OUT Assemblering Maskinkod ”EXE” - fil
22
Anders Sjögren Maskinkod ett exempel 60000 CODE_SEG SEGMENT 'CODE' 7 8 ASSUME CS:CODE_SEG 90000 MAIN PROC FAR 10 110000 B4 06 MOV AH,6 ;read key 120002 B2 FF MOV DL,0FFH 130004 CD 21 INT 21H 140006 74 F8 JE MAIN ;if no key 15 160008 3C 40 CMP AL,'@' ;test for @ 17000A 74 08 JE MAIN1 ;if @ 18 19000C B4 06 MOV AH,6 ;display key 20000E 8A D0 MOV DL,AL 210010 CD 21 INT 21H 220012 EB EC JMP MAIN ;repeat 230014 MAIN1: 240014 B4 4C MOV AH,4CH ;exit to DOS 250016 CD 21 INT 21H 26 270018 MAIN ENDP 28 290018 CODE_SEG ENDS 30 31 END MAIN
23
Anders Sjögren Vår dator
24
Anders Sjögren Databuss 1918 19 17 16 15 13 12 11 10 98 7 6 5 4 3 2 1 14 +1 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
25
Anders Sjögren Vår dator Programmet laddas i primärminnet, programräknarna nollställs
26
Anders Sjögren Databuss 1918 19 17 16 15 13 12 11 10 98 7 6 5 4 3 2 1 14 +1 lässkriv add sub nollst OP’ IR Adressbuss PR=0 AR OPA K PR=0 UT IN 1 7 Klocka Primärminne Mikrominne +2
27
Anders Sjögren Vår dator Första mikroinstruktionen utförs
28
Anders Sjögren Databuss 1918 19 17 16 15 13 12 11 10 98 7 6 5 4 3 2 1 14 +1 lässkriv add sub nollst OP’ IR Adressbuss PR=0 AR OPA K PR=1 UT IN 1 7 Klocka Primärminne Mikrominne +2
29
Anders Sjögren Vår dator Första mikroinstruktionen utförs på nytt 2 ggr, rad 1och 2 ( waitstates )
30
Anders Sjögren Databuss 1918 19 17 16 15 13 12 11 10 98 7 6 5 4 3 2 1 14 +1 lässkriv add sub nollst OP’ IR Adressbuss PR=0 AR OPA K PR=3 UT IN 1 7 Klocka Primärminne Mikrominne +2
31
Anders Sjögren Vår dator Mikroinstruktionen på rad 3 utförs
32
Anders Sjögren Databuss 1918 19 17 16 15 13 12 11 10 98 7 6 5 4 3 2 1 14 +1 lässkriv add sub nollst OP’ IR Adressbuss PR=0 AR OPA K PR=4 UT IN 1 7 Klocka Primärminne Mikrominne +2
33
Anders Sjögren Vår dator Mikroinstruktionen på rad 4 utförs
34
Anders Sjögren Databuss 1918 19 17 16 15 13 12 11 10 98 7 6 5 4 3 2 1 14 +1 lässkriv add sub nollst OP’ IR Adressbuss PR=0 AR 11001000 00001000 K PR=5 UT IN 1 7 Klocka Primärminne Mikrominne +2 Överför 2 bytes
35
Anders Sjögren Vår dator Mikroinstruktionen på rad 5 utförs, sista instruktionen i hämt (fetch) - fasen
36
Anders Sjögren Databuss 1918 19 17 16 15 13 12 11 10 98 7 6 5 4 3 2 1 14 +1 lässkriv add sub nollst OP’ IR Adressbuss PR=2 AR K PR=6 UT IN 1 7 Klocka Primärminne Mikrominne +2 00000110=6 11001000 00001000
37
Anders Sjögren Vår dator Mikroinstruktionen på rad 6 utförs, hämtfasen (fetch) är slut och ”LDA” skall exekveras
38
Anders Sjögren Databuss 1918 19 17 16 15 13 12 11 10 98 7 6 5 4 3 2 1 14 +1 lässkriv add sub nollst OP’ IR Adressbuss PR=2 AR K PR=7 UT IN 1 7 Klocka Primärminne Mikrominne +2 11001000 00001000 00000110=6
39
Anders Sjögren Vår dator Mikroinstruktionen på rad 7, 8 utförs
40
Anders Sjögren Databuss 1918 19 17 16 15 13 12 11 10 98 7 6 5 4 3 2 1 14 +1 lässkriv add sub nollst OP’ IR Adressbuss PR=2 AR K PR=8 UT IN 1 7 Klocka Primärminne Mikrominne +2 11001000 00001000 00000110=6
41
Anders Sjögren Vår dator Mikroinstruktionen på rad 9 utförs
42
Anders Sjögren Databuss 1918 19 17 16 15 13 12 11 10 98 7 6 5 4 3 2 1 14 +1 lässkriv add sub nollst OP’ IR Adressbuss PR=2 AR K PR=10 UT IN 1 7 Klocka Primärminne Mikrominne +2 11001000 00001000 00000110=6
43
Anders Sjögren Vår dator Mikroinstruktionen på rad 10 utförs
44
Anders Sjögren Databuss 1918 19 17 16 15 13 11 10 98 7 6 5 4 3 2 1 14 +1 lässkriv add sub nollst OP’ IR Adressbuss PR=2 01010100 K PR=0 UT IN 1 7 Klocka Primärminne Mikrominne +2 12 11001000 00001000 00000110=6
45
Anders Sjögren Vår dator osv.......
46
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
47
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
48
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
49
Anders Sjögren Slut
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.