Computer Systems: A Programmer's Perspective (3rd Edition)
Computer Systems: A Programmer's Perspective (3rd Edition)
3rd Edition
ISBN: 9780134092669
Author: Bryant, Randal E. Bryant, David R. O'Hallaron, David R., Randal E.; O'Hallaron, Bryant/O'hallaron
Publisher: PEARSON
Question
Book Icon
Chapter 4.5, Problem 4.32PP
Program Plan Intro

Given Assembly Code:

irmovq  $5, %rdx

irmovq  $0x100, %rsp

rmmovq  %rdx, 0( %rsp)

popq %rsp

rrmovq %rsp, %rax

Processing stages:

  • The processing of an instruction has number of operations.
  • The operations are organized into particular sequence of stages.
  • It attempts to follow a uniform sequence for all instructions.
  • The description of stages are shown below:
    • Fetch:
      • It uses program counter “PC” as memory address to read instruction bytes from memory.
      • The 4-bit portions “icode” and “ifun” of specifier byte is extracted from instruction.
      • It fetches “valC” that denotes an 8-byte constant.
      • It computes “valP” that denotes value of “PC” plus length of fetched instruction.
    • Decode:
      • The register file is been read with two operands.
      • It gives values “valA” and “valB” for operands.
      • It reads registers with instruction fields “rA” and “rB”.
    • Execute:
      • In this stage the ALU either performs required operation or increments and decrements stack pointer.
      • The resulting value is termed as “valE”.
      • The condition codes are evaluated and destination register is updated based on condition.
      • It determines whether branch should be taken or not in a jump instruction.
    • Memory:
      • The data is been written to memory or read from memory in this stage.
      •  The value that is read is determined as “valM”.
    • Write back:
      • The results are been written to register file.
      • It can write up to two results.
    • PC update:
      • The program counter “PC” denotes memory address to read bytes of instruction from memory.
      • It is used to set next instruction’s address.

Combinational circuits and HCL expressions:

  • The computational blocks are been constructed by accumulating several logic gates into network.
  • The restrictions are been shown below:
    • Each of input for logic gate should be connected to any one shown below:
      • One of system inputs, that is identified as primary inputs.
      • Output connection for some element in memory.
      • Output of some logic gate.
    • Outputs obtained from more than two logic gates could not be linked together.
      • The wire would be driven to different voltages.
      • It can cause malfunction in circuit.
    • The network should not contain cycles.
      • The loops in circuit can cause ambiguity in function computed by network.
  • The “HCL” denotes a hardware control language that is used for describing control logic of different processor designs.

Blurred answer
Students have asked these similar questions
(e) Instruction(s) to copy contents at one memory location to another: C[g] =A[i+j-3). Assume i, j,g values are in registers x5, x6, x7. Assume base address in memory of Array data structures 'A, B' (or address in memory of 'A[O]' and 'B[O]') are stored in Registers x28, 29• In RISCV, only load and store instructions access memory locations • These instructions must follow a 'format' to access memory • Assume a 32 bit machine in all problems unless asked to assume otherwise
Are these instruction true or false ?why? (choose five only LDI R13, 0x20 (1 .Harvard architecture consist of separate memories (2 MOV CS, AX (3 [MOV AL,[BX (4 To configure port B as output (5 LDI R16, OXFF* OUT DDRC, R16 To read the content of port C (6 LDI R20, 0x00 OUT DDRC, R20
(a) Generate a full RTN code in Fetch, Decode, Execute and Write Back step for: MUL 602, #5, #2 Assume that, in this instruction, the registers used to temporarily store the fetched data are RI and R2. The result of arithmetic operation is stored temporarily in R3 before it being stored back in memory location M[602]. The initial Program Counter value is 500. The illustration is as in Figure Q41(a). Memory CPU Register 500 0600 0500 PC 501 0601 IR R1 R2 600 0005 R3 601 0003 602 Figure Q41(a)

Chapter 4 Solutions

Computer Systems: A Programmer's Perspective (3rd Edition)

Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education