RISC设计原则及基本技术

CISC的特点:

  • 指令系统庞大,指令功能复杂,指令寻址方式多,指令格式多
  • 绝大多数指令需要多个机器周期完成
  • 各种指令都可以访问存储器
  • 采用微程序控制
  • 有专用寄存器,少量
  • 难以用优化编译技术生成高效的目标代码程序

RISC特点:

  • 大多数指令在单周期内完成
  • LOAD/STORE结构
  • 硬布线控制逻辑
  • 减少指令和寻址方式的种类
  • 固定的指令格式
  • 注重编译的优化(三地址指令格式、较多的寄存器、对称的指令格式)

*我认为RISC与CISC的不同之处在于指令精简、寻址方式减少以及注重编译优化,这要得益于二八法则(CISC中,大约20%的指令占据了80%的处理机时间。其余80%指令使用频度只占20%的处理机运行时间)。RISC比CISC快3倍左右,主要取决于CPI(每条指令执行的平均周期数)。在RISC中CPI近乎1。

RISC的设计原则:

  • 使用频度很高的指令
  • 大大减少寻址方式
  • 所有指令在一个机器周期内完成
  • 扩大通用寄存器个数
  • 采用硬联控制实现
  • 通过精简指令和优化设计编译程序,以简单有效的方式支持高级语言

RISC结构采用的基本技术:

  • 在逻辑上采用硬联实现和微程序固件实现相结合的技术
  • 在CPU中设置数量较大的寄存器组,并采用重叠寄存器窗口的技术
  • 指令的执行采用流水和延迟转移技术
  • 采用优化编译技术,优化寄存器的分配和使用

RISC的不足:

  • 指令少,加重汇编程序员的负担
  • 浮点运算和虚拟存储器支持不足
  • 编译程序难写

对于不足的最后一条,我感到疑惑——RISC提供直接支持高级语言的能力,应当是简化了编译程序的设计,为什么还要说编译程序难写?希望知道的朋友们留下评论:)

VLIW(超长指令字):

  • 是一种显式指令级并行指令系统
  • 一条VLIW指令含有多个相同或不同的操作字段(每个操作字段的功能相当于一般处理机中的一条指令)
  • 每个操作字段能够分别独立地控制各自的功能部件同时运行
  • 二维程序结构
  • 指令级并行度高

应用VLIW的有Intel和HP合制的安腾(Intanium)处理机。

RISC设计原则及基本技术

时间: 2024-10-10 09:21:53

RISC设计原则及基本技术的相关文章

2.1.4 现代计算机的设计原则(译)

自第一台RISC机器诞生后20余载,一些有利于计算机设计,指出了当前硬件技术状态的原则逐渐被接受.如果技术上发生了重大变革(比如,一种可以量产的处理器比当前CPU执行内存循环的速度快10倍),一切都要推倒重来.因此计算机的设计者应该时刻关注技术变化,它们有时会影响计算机各个组成部分之间的平衡. 尽管如此,新一代多功能CPU的设计者会尽力遵循某些设计原则,它们有时被称作RISC设计原则.虽然对某些外部限制,比如向后兼容一些已存在的体系结构,需要不时地做出妥协,但遵循这些原则是大多数设计者努力的目标

SOLID设计原则

程序员该有的艺术气质-SOLID原则. S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写. SRP The Single Responsibility Principle 单一责任原则 OCP The Open Closed Principle 开放封闭原则 LSP The Liskov Substitution Principle 里氏替换原则 ISP The Interface Segregation Prin

24种设计模式及七大设计原则

设计模式 七大设计原则 : 单一职责原则:            Single Responsibility Principle                一个类只负责一项职责    SRP 里氏替换原则:            Liskov Substitution Principle                   所有引用基类的地方,必须能透明地使用其子类的对象    LSP 依赖倒置原则:            Dependence Inversion Principle   

Java程序员应该了解的10个面向对象设计原则

面向对象设计原则: 是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton.Decorator.Observer这样的设计模式,而不重视面向对象的分析和设计.甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他们根本不知道设计原则的好处,也不知道如何依照这些原则来进行编程. 众所周知,Java编程最基本的原则就是要追求高内聚和低耦合的解决方案和代码模块设计.查看Ap

Hbase中rowkey设计原则

Hbase中rowkey设计原则 1.热点问题 在某一时间段,有大量的数据同时对一个region进行操作 2.原因 对rowkey的设计不合理 对rowkey的划分不合理 3.解决方式 rowkey是hbase的读写唯一标识 最大长度是64KB. 4.核心原则 设计必须按照业务需求进行设计 5.长度原则 经验:10~100字节可以 官方:16字节,因为操作系统时8字节进行存储 6.散列原则 划分region是按照rowkey的头部进行划分. 有几种方式: )组合字段 id+timestamp )

设计原则之接口隔离原则

segregate   v.隔离 se 蛇  gre green格林  gate门 蛇被格林用门隔离了. 设计原则之接口隔离原则 动机:         客户不应该被强制实现他们不用的方法.应该用多个小的接口代替庞大功能全的接口. 结论:        该原则在代码设计的时候就要考虑.可以使用适配器模式将胖接口隔离. Bad Example:    缺点:         1.如果新增一个robot机器人工人,那么eat方法就是多余的了. // interface segregation pri

设计原则之单一职能原则

设计原则之单一职能原则 动机:         一个职能被考虑成为只有唯一理由去改变,如果我们有两个理由去改变一个类,我们要把这两个功能分成两个类.每个类只控制一个职能,如果在未来有一天我们做某个改变,去改变对应的类就行了. 目标:        一个类应该只有一个被改的理由. Bad Example:缺点:     1.新增一个新的协议将会带来一个新需求,要为每种域序列化内容.     2.内容不一定是string,也会有html等其他形式. // single responsibility 

设计原则之里氏代换原则

设计原则之里氏代换原则 substitute  = replace 替换 sub 下 st石头 i我  tu土 te特别 我用石头替换下土,造了特比坚固的房子 hierarchy  ['harɑk] = level 等级 hi海豹  er儿子  ar are是  ch成龙 海豹儿子的雷霆战机等级是比成龙高 derive [di'raiv]  起源,派生 de德国  rive river河 德国的莱茵河起源于阿尔卑斯山 动机:         当我们创建类的层级(继承),我们继承一些类,创建一些派

设计模式2 面向对象设计原则

面向对象设计原则  原则的目的 面向对象设计原创表  单一职责原则案例 开闭原则 案例 依赖倒转原则 案例 面向对象设计原则  对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一.在面向对象设计中,可维护性的复用是以设计原则为基础的.每一个原则都蕴含一些面向对象设计的思想,可以从不同的角度提升一个软件结构的设计水平.  面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含