1 / 29

Hoe werkt een rekenmachine?

Hoe werkt een rekenmachine?. Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam. Onderwerpen:. Uit welke hardware-componenten bestaat de machine? Welke instructies kan de machine uitvoeren? Practicum met de rekenmachinesimulator I

estrella
Download Presentation

Hoe werkt een rekenmachine?

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. Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

  2. Onderwerpen: • Uit welke hardware-componenten bestaat de machine? • Welke instructies kan de machine uitvoeren? • Practicum met de rekenmachinesimulator I • Uitbreiding van de machine voor het verwerken van constante getallen • Practicum met de rekenmachinesimulator II

  3. Hardware: • Uit welke hardware-componenten bestaat de machine? • Welke instructies kan de machine uitvoeren? • Practicum met de rekenmachinesimulator I • Uitbreiding van de machine voor het verwerken van constante getallen • Practicum met de rekenmachinesimulator II

  4. Vier hoofdcomponenten: • Program Counter • Instruction Memory • Registetrs • Arithmetic Logic Unit

  5. Hoe zijn die componenten met elkaar verbonden? Arithmetic Logic Unit (ALU) ProgramCounter (PC) Instruction Memory Registers

  6. Arithmetic Logic Unit (ALU) De ALU voert berekeningen uit op twee 16 bits-getallen. Het resultaat van de berekening gaat naar de registers. Arithmetic Logic Unit (ALU) ProgramCounter (PC) Instruction Memory Registers 16 bit 16 bit 16 bit

  7. S0 S1 A Y B Figuur 3: Schema ALU Welke berekeningen kan de ALU uitvoeren? S1 S0 A De ALU heeft twee ingangen S1 en S0. Hier mee kunnen vier verschillende bewerkingen op de getallen A en B worden uitgevoerd. Voorbeeld: Als S1 = ‘0’ en S0 = ‘1’ wordt er afgetrokken. A Y B

  8. Registers In de registers worden de (tussen)resultaten van berekeningen opgeslagen. Arithmetic Logic Unit (ALU) ProgramCounter (PC) Instruction Memory Registers

  9. Er zijn 16 registers, genummerd van 0 t/m 15. Dit registernummer wordt het registeradres genoemd.Ieder register bevat 16 bitjes die ‘0’ of ‘1’ zijn. 16 registers adres 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 16 data uitgangen (16 bit) 1010110110111000 ( register)adres Hoeveel bits zijn er nodig om één van deze 16 registers te kiezen? Hoeveel bits is dit geheugen totaal?

  10. Hoeveel bits is dit geheugen totaal? Hoeveel bits zijn er nodig om één van deze 16 registers te kiezen? Antwoord: 4 bits. Voorbeeld: met het getal 0110 kies je register 6. Antwoord: 256 bits Ieder register bevat 16 bits. Er zijn 16 registers dus totaal 16 * 16 is 256 bits

  11. Hoe zijn de registers aangesloten? Op de adresingang van rs wordt het adres gezet van Gelijktijdig worden op de adresingangen rs en rt getallen gezet. Hierdoor wordrt First Register rs Address Data Second Register rt Address Data Destination Reg. rd Address Data adresingang (4bit) data uitgang (16 bits) data uitgang (16 bits) adresingang (4bit) adres ingang (4 bit) data ingang (16 bits) clock

  12. Registers First Register rs rs reg[rs] Second Register rt Address Data rt reg[rt] Destination Reg. rd Address rd Data adres ingang (4bit) data uitgang (16 bit) data uitgang adres ingang (4bit) adres ingang (4 bit) data ingang clock

  13. Instruction Memory (IM) In het instructiegeheugen staat het (computer)programma. Iedere instructie is opgeslagen als een keten van enen en nullen. Instruction Memory Arithmetic Logic Unit (ALU) ProgramCounter (PC) Registers

  14. Instruction Memory Instruction Memory Address Data datauitgang (35 bit) adresingang (16 bit) Hoeveel bits is dit geheugen?

  15. Hoeveel bits is dit geheugen? De adresingang is 16 bits. Er zijn dus 216 geheugenplaatsen. Iedere geheugenplaats bevat 35 bits. Het totaal aantal bits is: 216 X 35 = 65.536 * 35 = 2.293.760 bits.

  16. Program Counter (PC) De PC houdt het nummer van de instructie bij die wordt uitgevoerd en geeft dat door aan het instructiegeheugen. Bij de eerste instructie heeft de PC de waarde 0. ProgramCounter (PC) Arithmetic Logic Unit (ALU) Instruction Memory Registers

  17. Instructies: • Uit welke hardware-componenten bestaat de machine? • Welke instructies kan de machine uitvoeren? • Practicum met de rekenmachinesimulator I • Uitbreiding van de machine voor het verwerken van constante getallen • Practicum met de rekenmachinesimulator II

  18. Instructies • Rekenkundige en logische instructies: • ADD (optellen) • SUB (aftrekken) • AND (bitwise AND) • Datatransfer • COPY (Register  Register)

  19. 4 bit address 16 bit data Datapad van een rekenkundige/logische instructie: bijv. ADD Instruction Memory Registers ALU rs reg[rs] PC Instruction rt reg[rs] Address rd Data

  20. Assembly Language Instruction Memory Registers ALU rs reg[rs] PC Instruction rt reg[rs] Address rd Data Voorbeeld:ADD rd, rs, rt Syntax:ADD $7, $5, $6 Betekenis: register 7 = register 5 + register 6

  21. Meer instructies: • Rekenkundige en logische instructies • ADD • SUB • AND • Immediate instructies (Instucties met één constant getal) • LOAD • ADDI • SUBI • ANDI • Datatransfer • MOVE

  22. 4 bit address 16 bit data Datapad van een instructie met een constant getal Constant getal Instruction Memory Registers ALU rs reg[rs] PC Instruction rt reg[rs] Address rd Data

  23. Assembly Language: 100Hex Instruction Memory Registers ALU rs reg[rs] PC Instruction rt reg[rt] Address rd Data Voorbeeld:ADDI rd, rs, getal Syntax:ADDI $7, $5, 0x100 Betekenis: register 7 = register 5 + 100Hex

  24. Voer opdracht 1 en opdracht 2 uit op bladz. 6 en 7

  25. First Register rs Address Data Second Register rt Address Data Destination Reg. rd Address Data “Control” van de rekenmachine Control Instruction Memory Registerfile (16) ALU operatie PC Instruction Address Multiplexer (Mux) 4 bit address 16 bit data 3 bit control

  26. 16 bit calculator

  27. ADDI $4, $3, 0200Hex

  28. Demo rekenmachine

  29. Hoe werkt een computer precies? • Les1: Hoe werkt een rekenmachine? • Les 2: Rekenmachine met uitbreiding voor “loopjes” Practicum: Voer opdracht 3 t/m 4c uit op bladz. 5.8 t/m 5.9

More Related