Presentation laddar. Vänta.

Presentation laddar. Vänta.

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

Liknande presentationer


En presentation över ämnet: "Anders Sjögren Går det att simulera vår värld med 1:or och 0:or ?"— Presentationens avskrift:

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


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

Liknande presentationer


Google-annonser