`
xlover
  • 浏览: 244973 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

RISC体系结构特点及其关键技术

 
阅读更多

 RISC的英文全称为“Reduced Instruction Set Computing”,中文即“精简指令集”,它的指令系统相对简单,它只要求硬件执行很有限且最常用的那部分指令,大部分复杂的操作则使用成熟的编译技术,由简单指令合成。

卡内基梅隆大学这样定义RISC的特点为:
1、大多数指令在单周期内完成
2、采用LOAD/STORE结构。因为访问存储器指令所需要的时间比较长,在指令系统中要尽量减少这类指令,所以RISC指令中只保留不可再少的LOAD/STORE两种存储器访问指令。
3、硬布线控制逻辑。使得大多数指令在单周期内执行完成,以减少为程序技术中的指令解释开销。
4、减少指令和寻址方式的种类
5、固定的指令格式
6、译码优化

其实目前RISC还具有以下特点
1、面向寄存器结构
2、注重提高流水线的执行效率,尽量让减少流水线断流,提高流水线效率
3、优化编译技术


下面介绍一下RISC中的关键技术
1、延时转移技术:
在RISC处理机中采用流水线工作方式,取指令和执行指令并行工作,那么当遇到条件转移指令时,流水线可能断流。为了尽量保证流水线的执行效率,在转移指令之后插入一条有效的指令,而转移指令好像被延时了,这样了技术即为延迟转移技术。通常指令序列的调整由编译器自动进行。需要注意的是:调整指令序列是不能改变原有程序的数据关系;被移动的指令不破坏机器的条件码。

2、指令取消技术
由于采用指令延迟技术中,遇到条件转移指令时,调整指令序列比较困难,采用了指令取消技术。所有转移指令和数据变换指令都可以决定待执行指令是否应该取消。为了提高执行效率,采用取消规则为:如果向后转移(转移的目标地址小雨当前程序计数器PC值),则转移不成功时取消下一条指令,否则执行下一条指令;如果向前转移,则相反,在转移不成功时执行下一条指令,否则取消。

3、重叠寄存器窗口技术
由于RISC的指令系统比较简单,通常采用一段子程序来实现。因此RISC中的CALL和RETURN非常多,而且都需要通过堆栈操作保存前一过程指针、数据等。为了尽量减少因为CALL和RETURN操作访问存储器的量,提出了重叠寄存器窗口技术。基本思想:在处理器中设置一个数量较大的寄存器堆,并划分成窗口。每个过程使用其中的三个窗口和一个公共窗口,而在这些窗口中有一个窗口式前一个过程公用的,还有一个窗口是与后一个过程共用。与前一过程公用的窗口可以用来存放前一过程传递被本过程的参数。

4、指令流水调整技术
为了保持指令流水线高效率,不断流,优化编译器必须分析程序的数据流和控制流。当发现指令有断流可能时,要调整指令顺序。有些可以通过变量重命名来消除的数据相关,要尽量消除。例如:
ADD R1,R2,R3; (R1)+(R2)->R3
ADD R3,R4,R5; (R3)+(R4)->R5
MUL R6,R7,R3; (R6)*(R7)->R3
MUL R3,R8,R9; (R3)*(R8)->R9
调整指令后
ADD R1,R2,R3; 
MUL R6,R7,R0; 
ADD R3,R4,R5; 
MUL R0,R8,R9; 
调整指令后,速度可以提高一倍

5、硬件为主固件为辅
指令系统采用为程序实现的优点:便于实现复杂指令,便于修改指令系统,增加机器的灵活性,但是速度慢。所以RISC一般采用硬件为主固件为辅的方法实现指令。

 

分享到:
评论

相关推荐

    面向RISC体系结构的Linux系统移植原理.pdf

    面向RISC体系结构的Linux系统移植原理主要涉及的是在非传统的X86架构上,如ARM、MIPS或特定的龙芯处理器上移植Linux操作系统的过程。这一过程涉及到多个关键环节和概念,包括处理器架构差异、交叉编译以及相关工具的...

    计算机体系结构试题及答案

    第二章深入探讨了指令集结构设计,区分了不同类型如CISC和RISC,并讲解了寻址技术、指令格式设计和编译技术对体系结构的影响。DLX指令集作为实例被分析,展示了其功能和性能特性。 在第三章中,流水线技术是重点,...

    山大体系结构实验及报告

    在“山大体系结构实验及报告”中,我们可以深入探讨计算机体系结构这一关键领域,它在信息技术科学中占据着核心地位。山东大学的这门课程旨在让学生理解和掌握计算机硬件与软件之间的交互,以及如何优化系统性能。...

    ARM体系结构的技术特征

    #### 二、ARM体系结构的关键技术特征 ##### 1. Load/Store体系结构 ARM采用了Load/Store体系结构,这是一种将数据处理与内存访问分离的设计理念。这意味着所有的数据处理操作都在寄存器之间进行,而内存读写操作则...

    计算机体系结构—量化研究方法(第5版)_体系结构_

    讲解了流水线技术、超标量处理、分支预测、乱序执行等提高处理器性能的关键技术。 4. **存储层次结构**:详细剖析了内存系统,包括高速缓存(Cache)的工作原理、替换策略、写策略以及缓存一致性问题。同时,还涉及...

    计算机体系结构 英文原版第四版

    Marc Tremblay进一步强调,本书清晰地解释了最新一代多线程多核处理器所需的微架构技术,对于理解RISC革命背后的原理及其在CISC翻译中的应用至关重要。 ### 教育与研究的双重价值 Norman P. Jouppi认为,新版的...

    计算机 体系结构 发展与变化 论文

    RISC体系结构的关键技术在于流水线操作,在一个时钟周期里完成多条指令。如单周期、段流水等技术的应用大大提高了处理器的性能。RISC处理器通过简化指令集,减少了每个指令的复杂度,从而降低了每条指令的执行时间。...

    ARM嵌入式体系结构与接口技术

    **ARM嵌入式体系结构与接口技术** 在嵌入式系统设计中,ARM(Advanced RISC Machines)架构占据了主导地位,广泛应用于各种设备,从移动电话到数据中心服务器。本课件“ARM嵌入式体系结构与接口技术”深入探讨了ARM...

    计算机体系结构第四版

    本书不仅巩固了计算机科学的基础知识,还引领了RISC(精简指令集计算)革命,并为CISC(复杂指令集计算)翻译等关键技术提供了支持。在新版中,作者们深入探讨了多线程多核处理器的最新微架构技术,展现了他们在这一...

    计算机体系结构-量化研究方法_计算机体系结构量化研究方法pdf_

    《计算机体系结构——量化研究方法》是一本深入探讨计算机硬件设计和优化的权威书籍,它在计算机科学领域具有极高的地位。这本书详细阐述了构建高效、高性能计算机系统的基础理论和实践方法,对于理解和掌握计算机...

    计算机体系结构

    - **计算机体系结构的发展**:随着技术进步,计算机体系结构经历了多次变革,特别是对并行性的追求成为现代体系结构设计的关键驱动力之一。 - **并行性概念与等级**:并行性是指同时执行多个任务的能力。并行性的...

    计算机体系结构 胡伟武 课件 课后答案

    这份课件及课后答案集合,旨在帮助学习者深入理解计算机体系结构的关键概念。 课件部分涵盖了从第二章到第九章的内容,这些章节通常会包括以下主题: 1. 计算机系统概述:介绍计算机系统的层次结构,从底层的物理...

    计算机体系结构电子书

    - **编译器技术**:解释编译器是如何将高级语言转换成机器代码的,以及这一过程中涉及的关键技术。 通过以上内容的梳理,我们可以看出,《计算机体系结构》这本教材不仅覆盖了计算机体系结构的基础知识,还深入探讨...

    数字设计和计算机体系结构(含目录)

    - **微处理器体系结构**:阐述不同类型的微处理器体系结构,如CISC和RISC。 - **存储系统与I/O接口**:介绍现代计算机中的存储系统和输入/输出接口技术。 - **高级计算机体系结构**:探讨高级计算机体系结构的发展...

    比较完整计算机体系结构课后答案

    计算机体系结构是计算机科学与工程领域的一个核心主题,它涵盖了计算机硬件、软件及它们之间的交互。这份"比较完整计算机体系结构课后答案"文档很可能是针对相关课程的习题解答,帮助学生理解和巩固课程中的关键概念...

    数字设计和计算机体系结构含目录_数字设计和计算机体系结构含目录?.pdf_数字机_

    12. **计算机体系结构设计原则**:介绍摩尔定律、冯·诺依曼体系结构和哈佛架构,并探讨未来计算机发展的趋势和技术挑战。 通过学习《数字设计和计算机体系结构》,读者将能够从底层硬件层面理解计算机的工作原理,...

    [计算机体系结构-量化研究方法].5th.[John L. Hennessy&David A. Patterson]1

    这一章不仅介绍了GPU内部的关键体系结构概念,还帮助读者理解这些概念如何与传统向量和SIMD架构相互关联和区别。 GPU在现代计算中扮演着关键角色,特别是在图形渲染、科学计算和机器学习等领域。书中通过避免使用...

    计算机体系结构pdf.rar

    在这个压缩包文件"计算机体系结构pdf.rar"中,我们可以期待找到关于以下关键知识点的详细讲解: 1. **计算系统的五层次模型**:这个模型将计算机体系结构分为硬件、微程序、指令集、汇编语言和高级语言五个层次,...

Global site tag (gtag.js) - Google Analytics