Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Reduced Instruction Set Computing Tun,Aung Kyaw Cs-147 Overview RISC Rationale (Reduced Instruction Set Computers) RISC Instruction Sets Instruction Pipelines and Register Windows Instruction Pipelines Conflicts RISC vs. CISC (Complex Instruction Set computers) RISC Rationale The greater the number of instruction in and instruction set, the larger the propagation delay is within the CPU eg. 4- to -16 decoder and- 5 to-32 decoder the second one requires more time to generate its output than the first one ( first one reduces the maximum clock rate of CPU) Reasons of Reducing the time Allow the CPU to run at a higher frequency Perform each instruction more quickly Instruction Requirements 1) Fetch 2)Decode 3)Execute Characteristics of RISC Processors Reduced Instruction set size Less complex Instructions Fixed Length Instruction Limited Loading and Sorting Instructions Access memory Fewer Addressing Modes Instruction Pipeline (Continued) Large number of Registers Hardwired Control Unit Delay loads and Branches Speculative Execution of Instructions Optimizing Compiler Separate instruction and Data Streams Fixed Length Instruction In RISC processors, Every instruction has the same size Eg. Immediate mode instruction might include an 8 bit operand Other instructions might use these 8 bits for opcodes or address information Limited Loading and Sorting Instructions Access Memory RISC processor limit interaction with memory to loading and sorting data If a value from memory is to be ANDed with the accumulator, the CPU first loads the value into a register Then performs the and operation Fewer Addressing Modes Allow only a few addressing modes that can be processed quickly (register indirect and relative modes) Instruction Pipeline Like an assembly Line Worked on simultaneously and differently One instruction is executed while the next is being decoded Its operands are being loaded Next instruction is being Fetched CPU executes one instruction per clock cycle Large Number of Registers Why is it good? Allows CPU to store many operands internally CPU fetches them from the register rather than from the memory Reduces the access time Less space for control logic Hardwired Control Hardwired control unit can run at a higher clock frequency than its corresponding microcoded control unit ease of modification Delayed Loads and Branches RISC use delay loads and delayed branches to avoid wasting time it can avoid branch instructions or consecutive instructions which was caused by Instruction Pipeline Speculative Execution of Instructions The CPU executes the instruction but doesn’t store its result The result is stored if the CPU is to be executed the instruction otherwise, the result is discarded Optimizing Compiler It can arrange instructions to facilitate delayed loads and branches And assign operands to registers Fewer instructions make RISC processor to design an optimizing compiler Separating Instruction and Data Streams The instruction pipeline may need to access instructions and operands from memory simultaneously Separating the instruction and data streams helps to avoid memory access conflicts RISC Instruction Set RISC processors are reduced, or smaller in size than compare to CISC processors each instruction is executed in a single clock circle Note: it is important not to reduce the set too much because sometimes removing instruction would decrease the system performance Types of Instructions Basic types of instructions include 1) data move (load, store,and register remove) 2) ALU (arithmetic,logic,and shift) 3) Branch Instructions Example Instruction Type Data move ALU Multiple/Divide Branch Coprocessor Exception Special Number of Instructions 15 16 8 25 11 12 2 Instruction breakdown for the MIPS 4000CPU Data Types Generally RISC CPU operate integer and floating point Don’t include instructions to manipulate character strings or data types directly Notes In RISC processor,every Instruction must have the same number of bits regardless of format types CPU must be able to access each instruction in a single memory-read operation it will make easier in pipelining eg. using different formats used by 32 bit SPARC CPU Example 31 30 29 Call 0 1 Relative displacement 31 30 0 0 29 28 a 25 24 0 Destination Register 31 30 29 Op Data move Branch 0 Relative displacement 22 21 op 2 SETHI 0 Immediate value 25 24 19 18 14 13 12 5 4 0 Destination DestinationRegister Register Op OP 3 Source SourceReg#1 Reg.#1Floating 0 Not Used point op. Source Source reg reg..#2 #2 31 30 29 ALU Op 25 24 22 21 condition op 2 31 30 29 0 0 25 24 19 18 Destination Register OP 3 14 13 12 Source Reg.#1 1 Immediate Value 0 Instruction Set (continued) Instruction set of RISC processor access memory using load and store instruction several different types of load LB (instruction loads a byte(8 bits) of data) LH(instruction loads half word(16 bits)of data) LW(instruction loads a word(32 bits)of data) Characteristics of RISC RISC contain fewer addressing modes common things is address can be computed in a single clock cycle Instruction Pipelines and Register Window Two techniques commonly use in RISC processors to improve performance 1) RISC CPU uses pipelined instruction units to break down the fetch-decodeexecute procedure process other techniques in parallel 2)Incorporation of large numbers of registers within the CPU Instruction Pipelines Similar to a manufacturing assembly line Pipe Instruction works the same way as assembly line process the product Instruction Pipelines (Continued) First stage Fetches the instructions from the memory Second stage Decodes the instructions and Fetches any required operands Third stage executes the instruction Fourth stage stores the result (Continued) Each stage processes instruction simultaneously this allows the CPU to execute the instruction per clock cycle RISC&Stages The first RISC computer uses a four-stages instruction pipeline Fetch Instruction Decode Inst Select Regs. Execute Instruction Store Result Example The flow of instruction though each pipeline One instruction per clock cycle Pipeline control unit & Advantages Reduce hardware requirements of the Pipeline each state performs only a portion of the fetch-decode-and execute process,no stage needs to incorporate the hardware of a complete control unit eg.Instruction-fetch stage need to read an instruction from the memory (doesn’t need decode or execute instructions) (Continued) Second advantage of instructions pipelines is the reduced complexity of the memory interface Pipeline achieves its maximum performance when all stages have the same delay Register Windowing In RISC CPU, always accessible registers are called Global Register The remaining are windowed only subset of the registers are accessible at any specific time Instruction Pipeline conflicts Two types of conflicts 1) Data Conflicts: occur when the pipelines causes and incorrect data value to be used 2)Branch Conflicts: occur when a branch statement results in incorrect instructions being executed Data Conflicts It occurs in a pipeline when one instruction stores a result in a register and another instruction uses that value as an operand occurs when one instruction stores a result in a register and subsequent instruction reads the contents of that register before first instruction has stored its result Branch Conflicts Occurs within Branch or Jump statements in RISC instruction pipeline it does not cause incorrect data values to be used but it the CPU to execute instructions at a times when they should not be executed RISC vs.CISC RISC processors have fewer and simpler instruction than CISC processors this allow RISC to run at higher clock frequencies than CISC processors RISC reduces the amount of space needed on the chip than CISC RISC are less complex than CISC Conclusion RISC characteristics RISC Instruction Sets Instruction Pipelines Register Windows Data conflicts Branch conflicts RISC vs. CISC Thanks You & “Happy Thanksgivings”