1 / 49

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

Går det att simulera vår värld med 1:or och 0:or ?. Går det att simulera vår värld med 1:or och 0:or ?. Vad behövs ?. 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.

kineks
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Går det att simulera vår värld med 1:or och 0:or ?

  2. Går det att simulera vår värld med 1:or och 0:or ? • Vad behövs ?

  3. 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. 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. 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. 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. Hårdvara Allt detta finns i en modern processor.Vi ska nu betrakta en enkel modell av vad som finns på insidan. • 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

  8. 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 CPU-schema Primärminne Databuss Styrenhet Ackumulator Registerval Instruktions-register Program B C Flaggor D E ALU Avkodare H L Mikrokod/minne SP Data PC Styrkretsar Adressbuss Kontrollbuss

  9. 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 CPU-schema Primärminne Databuss Styrenhet Ackumulator Registerval Instruktions-register Program B C Flaggor D E ALU Avkodare H L Mikrokod/minne SP Data PC Styrkretsar Adressbuss Kontrollbuss

  10. 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 CPU-schema Primärminne Databuss Styrenhet Ackumulator Registerval Instruktions-register Program B C Flaggor D E ALU Avkodare H L Mikrokod/minne SP Data PC Styrkretsar Adressbuss Kontrollbuss

  11. 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 CPU-schema Primärminne Databuss Styrenhet Ackumulator Registerval Instruktions-register Program B C Flaggor D E ALU Avkodare H L Mikrokod/minne SP Data PC Styrkretsar Adressbuss Kontrollbuss

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

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

  14. 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. CPU-schema Primärminne Databuss Styrenhet Program Ackumulator Registerval Instruktions-register B C Flaggor D E ALU Avkodare H L Mikrokod/minne SP Data PC Styrkretsar Adressbuss Kontrollbuss

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

  16. Expansionsbuss

  17. Expansionsbuss

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

  19. Från program till exekvering av mikrokod ett litet exempel

  20. 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 Ett ”assemblerprogram”

  21. Assemblering till maskinkod LDA 8 ADDA 9 STA 10 STA OUT Assemblering ”EXE” - fil Maskinkod

  22. 6 0000 CODE_SEG SEGMENT 'CODE' 7 8 ASSUME CS:CODE_SEG 9 0000 MAIN PROC FAR 10 11 0000 B4 06 MOV AH,6 ;read key 12 0002 B2 FF MOV DL,0FFH 13 0004 CD 21 INT 21H 14 0006 74 F8 JE MAIN ;if no key 15 16 0008 3C 40 CMP AL,'@' ;test for @ 17 000A 74 08 JE MAIN1 ;if @ 18 19 000C B4 06 MOV AH,6 ;display key 20 000E 8A D0 MOV DL,AL 21 0010 CD 21 INT 21H 22 0012 EB EC JMP MAIN ;repeat 23 0014 MAIN1: 24 0014 B4 4C MOV AH,4CH ;exit to DOS 25 0016 CD 21 INT 21H 26 27 0018 MAIN ENDP 28 29 0018 CODE_SEG ENDS 30 31 END MAIN Maskinkodett exempel

  23. Vår dator

  24. 19 19 • OPerationskod • Adress • InstruktionsRegister • ProgramRäknare • Avkodare, OP-kod till offsetadress • AckumulatorRegister • mProgramRäknare Adressbuss Primärminne IR OP A 16 1 12 K 2 Mikrominne OP’ 17 PR m PR läs skriv 8 9 +2 nollst +1 3 18 19 add 6 7 sub Databuss 10 13 AR 4 5 14 UT IN Klocka Kontrollbuss 1 7 11 15

  25. Vår dator Programmet laddas i primärminnet , programräknarna nollställs

  26. 19 19 Adressbuss Primärminne IR OP A 16 1 12 K 2 Mikrominne OP’ 17 PR=0 m PR=0 läs skriv 8 9 +2 nollst +1 3 18 19 add 6 7 sub Databuss 10 13 AR 4 5 14 UT IN Klocka 1 7 11 15

  27. Vår dator Första mikroinstruktionen utförs

  28. 19 19 Adressbuss Primärminne IR OP A 16 1 12 K 2 Mikrominne OP’ 17 PR=0 m PR=1 läs skriv 8 9 +2 nollst +1 3 18 19 add 6 7 sub Databuss 10 13 AR 4 5 14 UT IN Klocka 1 7 11 15

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

  30. 19 19 Adressbuss Primärminne IR OP A 16 1 12 K 2 Mikrominne OP’ 17 PR=0 m PR=3 läs skriv 8 9 +2 nollst +1 3 18 19 add 6 7 sub Databuss 10 13 AR 4 5 14 UT IN Klocka 1 7 11 15

  31. Vår dator Mikroinstruktionen på rad 3 utförs

  32. 19 19 Adressbuss Primärminne IR OP A 16 1 12 K 2 Mikrominne OP’ 17 PR=0 m PR=4 läs skriv 8 9 +2 nollst +1 3 18 19 add 6 7 sub Databuss 10 13 AR 4 5 14 UT IN Klocka 1 7 11 15

  33. Vår dator Mikroinstruktionen på rad 4 utförs

  34. 19 19 Adressbuss Överför 2 bytes Primärminne IR 00001000 11001000 16 1 12 K 2 Mikrominne OP’ 17 PR=0 m PR=5 läs skriv 8 9 +2 nollst +1 3 18 19 add 6 7 sub Databuss 10 13 AR 4 5 14 UT IN Klocka 1 7 11 15

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

  36. 19 19 Adressbuss Primärminne IR 00001000 11001000 16 1 K 12 2 Mikrominne 00000110=6 OP’ 17 PR=2 m PR=6 läs skriv 8 9 +2 nollst +1 3 18 19 add 6 7 sub Databuss 10 13 AR 4 5 14 UT IN Klocka 1 7 11 15

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

  38. 19 19 Adressbuss Primärminne IR 00001000 11001000 16 1 K 12 2 Mikrominne 00000110=6 OP’ 17 PR=2 m PR=7 läs skriv 8 9 +2 nollst +1 3 18 19 add 6 7 sub Databuss 10 13 AR 4 5 14 UT IN Klocka 1 7 11 15

  39. Vår dator Mikroinstruktionen på rad 7, 8 utförs

  40. 19 19 Adressbuss Primärminne IR 00001000 11001000 16 1 K 12 2 Mikrominne 00000110=6 OP’ 17 PR=2 m PR=8 läs skriv 8 9 +2 nollst +1 3 18 19 add 6 7 sub Databuss 10 13 AR 4 5 14 UT IN Klocka 1 7 11 15

  41. Vår dator Mikroinstruktionen på rad 9 utförs

  42. 19 19 Adressbuss Primärminne IR 00001000 11001000 16 1 K 12 2 Mikrominne 00000110=6 OP’ 17 PR=2 m PR=10 läs skriv 8 9 +2 nollst +1 3 18 19 add 6 7 sub Databuss 10 13 AR 4 5 14 UT IN Klocka 1 7 11 15

  43. Vår dator Mikroinstruktionen på rad 10 utförs

  44. 19 19 Adressbuss Primärminne IR 00001000 11001000 16 1 K 12 2 Mikrominne 00000110=6 OP’ 17 PR=2 m PR=0 läs skriv 8 9 +2 nollst +1 3 18 19 add 6 7 sub Databuss 10 13 01010100 4 5 14 UT IN Klocka 1 7 11 15

  45. Vår dator osv.......

  46. 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. 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. CISC- och RISC- processorer”modetermer • 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 ?

  49. Slut

More Related