版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Computer Organization & ArchitectureChapter 13Reduced Instruction Set ComputersMajor Advances in Computers| The family concept IBM System/360 (1964), and then DEC PDP-8 Same architecture but different implementations| Microporgrammed control unit Idea by Wilkes 1951 Produced by IBM S/360 1964| Cache
2、 memory IBM S/360 model 85 1969| Microprocessors Intel 4004 1971| Pipelining Introduces parallelism into fetch execute cycle| Multiple processorsThe Next Step - RISC|What is RISC Reduced Instruction Set Computer Key features Large number of general purpose registers or use of compiler technology to
3、optimize register use Limited and simple instruction set with a fixed format Emphasis on optimizing the instruction pipelineComparison of processors13.1 Instruction execution characteristics| Driving force for CISC Software costs far exceed hardware costs Increasingly complex high level languages (H
4、LL) Semantic gap| Leads to Large instruction sets More addressing modes Hardware implementations of HLL statements| Intention of CISC Ease compiler writing Improve execution efficiencyComplex operations in microcode Support more complex HLLs| Execution Characteristics Operations performed Operands u
5、sed Execution sequencing| Studies have been done based on programs written in HLLs| Dynamic studies are measured during the execution of the program| Operations Assignments Movement of data Conditional statements (IF, LOOP) Sequence control Procedure call-return is very time consuming Some HLL instr
6、uction lead to many machine code operations| Operands Mainly local scalar variables Optimisation should concentrate on accessing local variables| Procedure Calls Very time consuming Depends on number of parameters passed Depends on level of nesting The number of words used by per procedure call is n
7、ot large Most variables are local Most programs do not do a lot of calls followed by lots of returns (c.f. locality of reference)| Implications Best support is given by optimising most used and most time consuming features Large number of registers Operand referencing Careful design of pipelines Bra
8、nch prediction etc. Simplified (reduced) instruction set13.2 The use of a large register file| Register Features: Faster than cache, memory Shorter address Near CPU | Software solution Require compiler to allocate registers Allocate based on most used variables in a given time Requires sophisticated
9、 program analysis| Hardware solution Have more registers Thus more variables will be in registers|Registers for Local Variables Store local scalar variables in registers Reduces memory access Every procedure (function) call changes locality Parameters must be passed Results must be returned Variable
10、s from calling programs must be stored to registers| Register Windows Typically, a procedure employs: Only few parameters and local variables Limited range of depth of call Use multiple small sets of registers, each assigned to a different procedure a window for a procedure Calls switch to a differe
11、nt set of registers, rather than saving contents of registers into memory Windows for adjacent procedures are overlapped to allow parameter passing Returns switch back to a previously used set of registers Overlapping Register Windows|Register Windows Contents. Three areas within a register set Para
12、meter registers Local registers Temporary registers Temporary registers from one set overlap parameter registers from the next This allows parameter passing without moving dataCircular-Buffer Organization of Overlapped Windows | Operation of Circular Sets of Register When a call is made, a current w
13、indow pointer is moved to show the currently active register window If all windows are in use, an interrupt is generated and the oldest window (the one furthest back in the call nesting) is saved to memory A saved window pointer indicates where the next saved windows should restore to N-windows can
14、hold only N-1 procedure calls. Typically, 8 windows of 16 registers each is adopted Berkeley RISC|Global Variables If we declare some variables as global in a HLL, a typical method is Allocated by the compiler to memory Inefficient for frequently accessed variables The other is to have a set of regi
15、sters for global variables Do it by compiler|Large Registers v Cache The registers, organized into windows, act as a small, fast buffer for holding a subset of all variables From this view point, the register set is much like a cache Who is better?Feature Compare of Register Set And Cache| Specifica
16、tions for Register Set And Cache Windows-based registers are faster, but cache may make more efficient use of space, because it is reacting to the situation dynamically Cache may suffer from another sort of inefficiency: data are read into in block, some of which will not be used In register file,us
17、ing memory is relatively in- frequently, set associative cache will suffer from overwriting used variables Register file is shorter addressing mode, faster than cache In general, register file is superior for variables Referencing a Scalar - Window Based Register FileReferencing a Scalar - Cache 13.
18、3 Compiler Based Register Optimization| Large register set can improve performance of a computer, how about a small number of registers?| Assume small number of registers (16-32) in RISC, we can obtain a high performance also by using optimized registers| Optimization is done by the RISC compiler| H
19、ow to Optimize? HLL programs have no explicit references to registers usually - think about C - register int Assign symbolic or virtual register to each candidate variable Map (unlimited) symbolic registers to real registers Symbolic registers that do not overlap can share real registers If you run
20、out of real registers some variables use memory, and so, load-and-store DRAM operations are minimized| Registers Optimization based on Graph Coloring The essence of the optimization is to decide which variables can use registers at any given point in a program The technique most commonly used in RIS
21、C compiler is graph coloring Definition: given a graph consisting of nodes and edges, assign colors to nodes such that adjacent nodes have different colors, and the number of colors are minimized. The nodes are symbolic registers, if two symbolic registers are “live” during the same program fragment
22、, they are joined by an edge to depict interference Try to color the graph with n colors, where n is the number of real registers Colors represents the number of physical registers The same color means the same register If this process does not fully succeed, then those nodes that cannot be colored
23、must be placed in memory ADGraph Coloring Approach13.4 Reduced instruction set architecture|Why CISC? Compiler simplification? Disputed Complex machine instructions harder to exploit Optimization more difficult Smaller programs? Program takes up less memory but Memory is now cheap May not occupy les
24、s bits, just look shorter in symbolic form More instructions require longer op-codes Register references require fewer bits Faster programs? Bias towards use of simpler instructions More complex control unit Microprogram control store larger thus simple instructions take longer to execute It is far
25、from clear that CISC is the appropriate solution|RISC Characteristics One instruction per cycle Register to register operations Few, simple addressing modes Few, simple ,fixed instruction formats Hardwired design (no microcode) Effectively instruction pipelining More responsive to interrupt More com
26、pile time/effort|RISC v CISC Not clear cut, fighting is still going on Many designs borrow from both philosophies e.g. PowerPC and Pentium II13.5 RISC Pipelining| Most instructions are register to register| Two phases of execution I: Instruction fetch E: Execute| For load and store, three phases are
27、 required: I: Instruction fetch E: Execute Calculate memory address D: Memory Register to memory or memory to register operationThe Effects of Pipelining|Optimization of Pipelining 2 Concepts: Delayed branch Does not take effect until after execution of following instruction This following instructi
28、on is the delay slot| Normal, Delayed and Optimized Branch Address Normal Delayed Optimized 100 LOAD X,A LOAD X,A LOAD X,A 101 ADD 1,A ADD 1,A JUMP 105 102 JUMP 105 JUMP 106 ADD 1,A 103 ADD A,BNOOP ADD A,B 104 SUB C,B ADD A,B SUB C,B 105 STORE A,ZSUB C,B STORE A,Z 106STORE A,Z Use of Delayed Branch1
29、3.7 SPARC|SPARC ( scalable processor architecture) An processor architecture defined and developed by SUN|Machine with this processor refers as to SPARC workstation SPARC 10,SPARC 20|SPARC Register Set Using register windows 232 windows Each window has 24 registers Physical registers 07 are global r
30、egisters shared by all procedures 8 registers are used for parameters passing 8 registers are used for results returning 8 local registers are used for the procedure Window InvalidMaskCurrent WindowPointer8 Registers Windows in SPARC| Instruction Set In SPARC set, most of instruction reference only
31、register operands,good for a high proportion of local scalars and constants Rd Rs1 op s2 ALU operations grouped as follows: Integer addition(with or without carry) Integer subtraction(with or without carry) Logical op Shift logic or arithmetic See table13.12, no need for remembering Displacement addressing and simple addressing modes (see table 13.13)| Instruction Format 32-bit instruction format All begin with 2-bit opcode Some instructions have
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体育用品行业销售技巧总结
- 现代商务谈判课程设计
- 机械cadcam课程设计泵
- 直播带货培训课程设计
- 手术室出科小结范文1500字(8篇)
- 2025年山东淄博淄川区事业单位公开招聘历年管理单位笔试遴选500模拟题附带答案详解
- 2025年山东济宁金乡县卫生事业单位(含备案制)招聘23人历年管理单位笔试遴选500模拟题附带答案详解
- 2025年山东济宁市属卫生事业单位招聘470人历年管理单位笔试遴选500模拟题附带答案详解
- 2025年山东济宁兖州区疾病预制中心急需紧缺专业人才引进21人历年管理单位笔试遴选500模拟题附带答案详解
- 2025年山东济南市民政局所属事业单位招考管理单位笔试遴选500模拟题附带答案详解
- 私募股权基金公司的账务处理-记账实操
- 期末模拟考试卷01-2024-2025学年上学期高二思想政治课《哲学与人生》原题卷+答案卷
- 2024新版(外研版三起孙有中)三年级英语上册单词带音标
- 沙金矿承包开采合作协议书范文
- 英语四级模拟试题(附答案)
- 自来水厂考试题库单选题100道及答案解析
- 2024智慧城市数据分类标准规范
- 文玩交易合同(2篇)
- 智研咨询发布-2024年中国牛油果行业现状、发展环境及投资前景分析报告
- 杭州市西湖区2024年三年级数学第一学期期末学业质量监测试题含解析
- 眼视光学理论与方法智慧树知到答案2024年温州医科大学
评论
0/150
提交评论