Computer Systems: Program... -Access
Computer Systems: Program... -Access
3rd Edition
ISBN: 9780134071923
Author: Bryant
Publisher: PEARSON
Question
Book Icon
Chapter 4.5, Problem 4.35PP
Program Plan Intro

HCL code for d_valA signal:

word d_valA=[

D_icode in {ICALL,IJXX}:D_valP;

d_srcA == e_dstE:e_valE;

d_srcA == M_dstM:m_valM;

d_srcA == M_dstE:M_valE;

d_srcA == W_dstM:W_valM;

d_srcA == W_dstE:W_valE;

1:d_rvalA;

];

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 linked 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 must 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
Problem 4: Give a block diagram for a 8M x 32 memory using 512K x 8 memory ch book] [Hints: Figure 5.10 in the
1. We wish to compare the performance of two different machines: M1 and M2. The following measurements have been made on these machines:   Program Time on M1 Time on M2 1 10 seconds 5 seconds 2 3 seconds 4 seconds Which machine is faster for each program, and by how much?   2. For M1 and M2 of problem 1, the following additional measurements are made:. Find the instruction execution rate (instructions per second) for each machine when running program 1.   Program Instructions executed on M1 Instructions executed on M2 1 200 x 106 160 x 106   3. For M1 and M2 of problem 1, if the clock rates are 200 MHz and 300 MHz, respectively, find the CPI for program 1 on both machines using the data provided in problems 1 and 2.   4. You are going to enhance a machine, and there are two possible improvements: either make multiply instructions run four times faster than before or make memory access instructions run two times faster than before. You…
Indicate the MIPS assembly corresponding to the following C blocks of code. You can assume that the values of variables x and y are stored in registers R1 and R2, respectively. (a)  if (x==1) then x+=5; else x+=20; (b) for (int x=0; x<20; x++) y=y-2; For block of code (b), show two solutions: one using only conditional branches, and one using also an unconditional branch (or jump). [7 for solution #1 + 7 for solution #2]Which assembly code is “better”? Why?  How can you easily distinguish a loop from an if-else-then block in an assembly program?

Chapter 4 Solutions

Computer Systems: Program... -Access

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