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
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.
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 };
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…

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