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 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

23 Anders Sjögren Vår dator

24 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

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

26 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

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

28 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

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 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 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 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

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 lässkriv add sub nollst OP’ IR Adressbuss PR=2 AR K  PR=6 UT IN 1 7 Klocka Primärminne Mikrominne =

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 lässkriv add sub nollst OP’ IR Adressbuss PR=2 AR K  PR=7 UT IN 1 7 Klocka Primärminne Mikrominne =6

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

40 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

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

42 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

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

44 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

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