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, Problem 4.55HW
Program Plan Intro

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 recognized 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 have 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
can you please fix the code to resolve the error:Oh no! You've got an error in your assembly code and meet the requirements: at line 5: expected GETC instruction to have exactly 0 operands, but found 2 .ORIG x3000 ; Define constantsBLANK  .FILL x0020      ; Blank characterGETC   .FILL x20B0      ; GETC trap codePUTS   .FILL x22A0      ; PUTS trap codeHALT   .FILL x25C0      ; HALT trap code ; Define variablesARRAY  .BLKW #20         ; Array to store user inputsN      .FILL #0          ; Size of the arrayCOUNT  .FILL #0          ; Loop counterINPUT  .FILL #0          ; User input ; Prompt messagePROMPT .STRINGZ "Enter a number (0 to 9): " ; Start of program        LD R0, N         ; Load the size of the array into R0        ADD R0, R0, #-1  ; Subtract 1 from the size to use as a loop counter        ADD R0, R0, R0   ; Multiply the loop counter by 2 (each entry is 2 bytes) LOOP    LEA R1, PROMPT   ; Load the address of the prompt message into R1        PUTS             ; Display the…
Write HCL code for the signal D_stall in the PIPE implementation.Pipeline register D must be set to bubble for a mispredicted branch ora ret instruction. As the analysis in the preceding section shows,however, it should not inject a bubble when there is a load/use hazardin combination with a ret instruction:bool D_bubble =# Mispredicted branch (E_icode == IJXX && !e_Cnd) ||# Stalling at fetch while ret passes through pipeline# but not condition for a load/use hazard!(E_icode in { IMRMOVQ, IPOPQ } && E_dstM in { d_srcA,d_srcB }) && IRET in { D_icode, E_icode, M_icode };
Implement a new unary instruction in place of N0P0 called ASL2 that does two left shifts on the accumulator. V should remain unchanged, but N and Z should correlate with the new value in the accumulator, and C should be the carry from the second shift. Write a program that tests all the features of the new instruction.

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