scram instructions ii
play

SCRAM Instructions II Philipp Koehn 23 February 2018 Philipp Koehn - PowerPoint PPT Presentation

SCRAM Instructions II Philipp Koehn 23 February 2018 Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018 Reminder 1 Fully work through a computer circuit assembly code Simple but Complete Random


  1. SCRAM Instructions II Philipp Koehn 23 February 2018 Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  2. Reminder 1 • Fully work through a computer – circuit – assembly code • Simple but Complete Random Access Machine (SCRAM) – every instruction is 8 bit – 4 bit for op-code: 9 different operations (of 16 possible) – 4 bit for address: 16 bytes of memory • Background reading on web page – The Random Access Machine – The SCRAM Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  3. Circuit (At This Point) 2 W W MAR A 16x8 RAM W S PC Selector DI DO INC W MBR W IR C D Decoder Q W AC Control Logic Unit T NOT INC CLEAR Decoder T Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  4. Instruction Fetch 3 • Retrieve instruction from memory • Increase program counter Time Command MAR ← PC t 0 MBR ← M, PC ← PC + 1 t 1 IR ← MBR t 2 Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  5. Micro Program for STA 4 • Store value from accumulator Op Code Time Command MAR ← IR(D) q 3 t 3 M ← AC q 3 t 4 Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  6. q 3 t 3 : MAR ← IR(D) 5 W W MAR A 16x8 RAM W S PC Selector DI DO INC W MBR W IR C D Decoder Q W AC Control Logic Unit T NOT INC CLEAR Decoder T Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  7. q 3 t 4 : M ← AC 6 W W MAR A 16x8 RAM W S PC Selector D I DO INC W MBR W IR C D Decoder Q W AC Control Logic Unit T NOT INC CLEAR Decoder T Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  8. 7 arithmetic logic unit Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  9. Arithmetric Logic Unit 8 A B SUB ALU CO CI Z S • Adds two numbers: S=A+B • With subtraction flag: S=A-B • Overflow handling with carry in (CI) and carry out (CO) • Zero flag: set if result of operation is 0 Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  10. Accumulator 9 A B SUB ALU CO CI Z S W AC • Store result of ALU operation in accumulator (AC) Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  11. AC = AC ± B 10 A B SUB ALU CO CI Z S W AC • Accumulator feeds back into ALU • Operations are AC = AC + B or AC = AC - B Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  12. ALU in Circuit 11 W W A MAR 16x8 RAM W PC S Selector DI DO INC W MBR W IR C D Decoder A B SUB ALU CO CI Z Q S Control S Selector Logic Unit W AC T NOT INC CLEAR Decoder T Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  13. 12 add Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  14. ADD: Add to Accumulator 13 • Add value from memory address to accumulator • Steps – load value of specified memory address – use that value as a memory address (second lookup) – store value from second lookup into accumulator Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  15. Micro Program for ADD 14 • Load indirectly into accumulator Op Code Time Command MAR ← IR(D) q 5 t 3 MBR ← M q 5 t 4 AC ← AC + MBR q 5 t 5 Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  16. q 5 t 3 : MAR ← IR(D) 15 W W MAR A 16x8 RAM W S PC Selector DI DO INC W MBR W IR C D Decoder A B SUB ALU CO CI Z Q S Control S Selector Logic Unit W AC T NOT INC CLEAR Decoder T Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  17. q 5 t 4 : MBR ← M 16 W W MAR A 16x8 RAM W S PC Selector DI DO INC W MBR W IR C D Decoder A B SUB ALU CO CI Z Q S Control S Selector Logic Unit W AC T NOT INC CLEAR Decoder T Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  18. q 5 t 5 : AC ← AC + MBR 17 W W MAR A 16x8 RAM W S PC Selector DI DO INC W MBR W IR C D Decoder A B SUB ALU CO CI Z Q S Control S Selector Logic Unit W AC T NOT INC CLEAR Decoder T Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  19. 18 sub Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  20. SUB: Subtract from Accumulator 19 • Subtract from accumulator the value from memory • Same as ADD, just set subtraction flag of ALU Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  21. Micro Program for SUB 20 • Load indirectly into accumulator Op Code Time Command MAR ← IR(D) q 5 t 3 MBR ← M q 5 t 4 AC ← AC - MBR q 5 t 5 Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  22. q 5 t 3 : MAR ← IR(D) 21 W W MAR A 16x8 RAM W S PC Selector DI DO INC W MBR W IR C D Decoder A B SUB ALU CO CI Z Q S Control S Selector Logic Unit W AC T NOT INC CLEAR Decoder T Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  23. q 5 t 4 : MBR ← M 22 W W MAR A 16x8 RAM W S PC Selector DI DO INC W MBR W IR C D Decoder A B SUB ALU CO CI Z Q S Control S Selector Logic Unit W AC T NOT INC CLEAR Decoder T Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  24. q 5 t 5 : AC ← AC + MBR 23 W W MAR A 16x8 RAM W S PC Selector DI DO INC W MBR W IR C D Decoder A B SUB ALU CO CI Z Q S Control S Selector Logic Unit W AC T NOT INC CLEAR Decoder T Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  25. 24 jmp Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  26. Program Counter (PC) 25 • Position of the next instruction is stored in program counter • This gets updated during instruction fetch Time Command MAR ← PC t 0 MBR ← M t 1 IR ← MBR t 2 ⇒ PC ← PC + 1 t 3 Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  27. JMP: Jump 26 • Assign value to position of the next instruction • Sequencing of micro program – instruction fetch (includes program counter inc) – command-specific micro instructions • No problem that program counter gets modified twice Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  28. Micro Program for JMP 27 • Change program counter to specified address Op Code Time Command PC ← IR(D) q 7 t 3 Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  29. q 7 t 3 : PC ← IR(D) 28 W W MAR A 16x8 RAM W S PC Selector DI DO INC W MBR W IR C D Decoder A B SUB ALU CO CI Z Q S Control S Selector Logic Unit W AC T NOT INC CLEAR Decoder T Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  30. 29 jpz Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  31. Zero Flag 30 • Zero flag – set when result of a ALU operation is 0 – stored in flag A B SUB ALU CO CI W Z Z S Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  32. Z Flag in Circuit 31 W W A MAR 16x8 RAM W S PC Selector DO DI INC W MBR W IR C D Decoder A B SUB ALU CO CI W Z Z Q S Control S Selector Logic Unit W AC T NOT INC CLEAR Decoder T Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

  33. Micro Program for JPZ 32 • Z flag is a condition for executing a micro program (same as JMP) Zero Op Code Time Command 1 PC ← IR(D) q 7 t 3 • If not set, no micro program is executed Philipp Koehn Computer Systems Fundamentals: SCRAM Instructions II 23 February 2018

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend