12/26/2023 0 Comments Signal for pc![]() ![]() Using several smaller control units may also potentially increase the speed of the control unit. Using multiple levels of control can reduce the size of the main control unit. This style of using multiple levels of decoding-that is, the main control unit generates the ALUOp bits, which then are used as input to the ALU control that generates the actual signals to control the ALU unit-is a common implementation technique. Later on we will see how the ALUOp bits are generated from the main control unit. When the ALUOp value is 10, then the function code is used to set the ALU control input.įor completeness, the relationship between the ALUOp bits and the instruction opcode is also shown. When the ALUOp code is 00 or 01, the desired ALU action does not depend on the function code field and this is indicated as don’t cares, and the funct field is shown as XXXXXX. The opcode, listed in the first column, determines the setting of the ALUOp bits. In Figure 9.3, we show how to set the ALU control inputs based on the 2-bit ALUOp control and the 6-bit function code. The output of the ALU control unit is a 4-bit signal that directly controls the ALU by generating one of the 4-bit combinations shown previously. ![]() ALUOp indicates whether the operation to be performed should be add (00) for loads and stores, subtract (01) for beq, or determined by the operation encoded in the funct field (10). We can generate the 4-bit ALU control input using a small control unit that takes as inputs the function field of the instruction and a 2-bit control field, which we call ALUOp. For a branch on equal instruction, the ALU must perform a subtraction, for comparison. For the R-type instructions, the ALU needs to perform one of the five actions (AND, OR, subtract, add, or set on less than), depending on the value of the 6-bit funct (or function) field in the low-order bits of the instruction (refer to the instruction formats). (NOR is needed for other parts of the MIPS instruction set not discussed here.) For the load word and store word instructions, we use the ALU to compute the memory address. Depending on the type of instruction class, the ALU will need to perform one of the first five functions. Out of the 16 possible combinations, only 6 are used for the subset under consideration. You just need to get the concepts from this discussion. The implementation discussed here is specifically for the MIPS architecture and for the subset of instructions pointed out earlier. We shall first of all look at the ALU control. 40. Thread Level Parallelism – SMT and CMP.37. Exploiting ILP with Software Approaches II.34. Case Studies of Multicore Architectures II.33. Case Studies of Multicore Architectures I.31. Other Issues with Parallel Processors.20. Exploiting ILP with Software Approaches I.19. Dynamic scheduling with Speculation.18. Dynamic scheduling – Loop Based Example.16. Advanced Concepts of ILP – Dynamic scheduling.15. Exception handling and floating point pipelines.9. Execution of a Complete Instruction – Control Flow.8. Execution of a Complete Instruction – Datapath Implementation.4. Summarizing Performance, Amdahl’s law and Benchmarks. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |