RISC计算机 CISC计算机

devtools/2024/10/21 14:50:20/

复杂指令集系统与精简指令集系
在计算机系统结构发展的过程中, 指令系统的优化设计有两个截然相反的方向, 一个是增强指令的功能, 设置一些功能复杂的指令, 把一些原来由软件实现的、 常用的功能改用硬件的指令系统来实现, 这种计算机系统称为复杂指令系统计算机( Complex Instruction Set Computer, CISC); 另一个是尽量简化指令功能, 只保留那些功能简单, 能在一个节拍内执行完成指令, 较复杂的功能用一段子程序来实现, 这种计算机系统称为精简指令系统计算机(Reduced Instruction Set Computer, RISC)。

1、CISC 指令系统的特点
CISC 指令系统的主要特点如下:

不采用流水线技术

(1) 指令数量众多。 指令系统拥有大量的指令, 通常有 100~250 条。

(2)指令使用频率相差悬殊。最常使用的是一些比较简单的指令, 仅占指令总数的 20%,但在程序中出现的频率却占 80%。 而大部分复杂指令却很少使用。

(3) 支持很多种寻址方式。 支持的寻址方式通常为 5~20 种。

(4) 变长的指令。 指令长度不是固定的, 变长的指令增加指令译码电路的复杂性。

(5) 指令可以对主存单元中的数据直接进行处理。 典型的 CISC 通常都有指令能够直接对主存单元中的数据进行处理, 其执行速度较慢。

(6) 以微程序控制为主。 CISC 的指令系统很复杂, 难以用硬布线逻辑(组合逻辑) 电路实现控制器, 通常采用微程序控制。

2、RISC 指令系统的特点
RISC 要求指令系统简化, 操作在单周期内完成, 指令格式力求一致, 寻址方式尽可能减少, 并提高编译的效率, 最终达到加快机器处理速度的目的。 RISC 指令系统的主要特点如下。

(1) 指令数量少。 优先选取使用频率最高的一些简单指令和一些常用指令, 避免使用复杂指令。 只提供了 LOAD(从存储器中读数) 和 STORE(把数据写入存储器) 两条指令对存储器操作, 其余所有的操作都在 CPU 的寄存器之间进行。

(2) 指令的寻址方式少。 通常只支持寄存器寻址方式、 立即数寻址方式和相对寻址方式。

( 3) 指令长度固定, 指令格式种类少。 因为 RISC 指令数量少、 格式少、 相对简单,其指令长度固定, 指令之间各字段的划分比较一致, 译码相对容易。

( 4) 以硬布线逻辑控制为主。 为了提高操作的执行速度, 通常采用硬布线逻辑( 组合逻辑) 来构建控制器。即采用硬布线组合逻辑控制器

( 5) 单周期指令执行, 采用流水线技术。 因为简化了指令系统, 很容易利用流水线技术, 使得大部分指令都能在一个机器周期内完成。 少数指令可能会需要多周期, 例如, LOAD/STORE 指令因为需要访问存储器, 其执行时间就会长一些。

( 6) 优化的编译器: RISC 的精简指令集使编译工作简单化。 因为指令长度固定、 格式少、 寻址方式少, 编译时不必在具有相似功能的许多指令中进行选择, 也不必为寻址方式的选择而费心, 同时易于实现优化, 从而可以生成高效率执行的机器代码。

( 7) CPU 中的通用寄存器数量多, 一般在 32 个以上, 有的可达上千个。

大多数 RISC 采用了 Cache 方案, 使用 Cache 来提高取指令的速度。 而且, 有的 RISC使用两个独立的 Cache 来改善性能。 一个称为指令 Cache, 另一个称为数据 Cache。 这样,取指令和取数据可以同时进行, 互不干扰


http://www.ppmy.cn/devtools/127585.html

相关文章

Vue main.js引入全局changePassword组件原型实例,修改密码组件原型实例

main.js引入全局changePassword组件原型实例 changePassword 实例1. changePassword.vue2. proto.js 引入及使用main.jslogin.js main.js引入全局组件原型实例 changePassword 实例 1. changePassword.vue <template><el-dialog title"修改密码" :visibl…

​​【项目建设PPT模板】中台建设,中台设计,数字中台整体建设方案(PPT)

工业互联网数字中台解决方案旨在为企业提供全面、高效的数据驱动能力。该方案主要包括以下几个核心部分&#xff1a; 数据中台&#xff1a;作为核心&#xff0c;数据中台负责汇聚、整合、提纯和加工各类工业数据&#xff0c;实现数据资产的标准化、模型化和模块化。通过提供API…

OBOO鸥柏丨 21.5 寸自助服务终端机智能科技查询一体新势力

OBOO鸥柏数字化 21.5 寸自助服务终端机以其卓越的表现、丰富的功能和可靠的品质&#xff0c;主要应用于政务办事大厅&#xff0c;自助查档&#xff0c;自助打印&#xff0c;自助办理业务一体机触摸终端&#xff0c;智慧城市营业厅均在当前市场中已经展现出强大的优势。科技触控…

小米官网全栈项目经验经验总结

1&#xff0c;nest方面&#xff08;主要四个模块&#xff09; Module模块 这个一个总模块&#xff0c;所有的模块都需要放进总模块中&#xff0c;这个模块至关重要&#xff0c;类似于总部&#xff0c;其他模块则类似与分部&#xff0c;在这总模块中我们还需要进行配置&#xf…

使用 Python结合随机User-Agent与代理池进行网络请求

1. 引言 在爬虫开发过程中&#xff0c;为了模拟真实的用户行为&#xff0c;避免被目标网站识别并封锁&#xff0c;通常需要使用随机的User-Agent以及代理IP来发送网络请求。本文将介绍如何通过Python实现这一功能&#xff0c;包括设置随机User-Agent、读取代理列表&#xff0c…

基于大数据爬虫+Python+数据可视化大屏的慧游数据爬虫与推荐分析系统(源码+论文+PPT+部署文档教程等)

博主介绍&#xff1a;CSDN毕设辅导第一人、全网粉丝50W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围&#xff1a;SpringB…

mqtt客户端订阅一直重复连接?

文章 前言错误场景问题分析解决方案后言 前言 ✨✨ 他们是天生勇敢的开发者&#xff0c;我们创造bug&#xff0c;传播bug&#xff0c;毫不留情地消灭bug&#xff0c;在这个过程中我们创造了很多bug以供娱乐。 前端bug这里是博主总结的一些前端的bug以及解决方案&#xff0c;感兴…

oracle numtodsinterval

Oracle的numtodsinterval函数用于将数字转换为间隔值&#xff08;INTERVAL&#xff09;。这个函数接受一个数字和一个间隔种类作为参数&#xff0c;并返回一个间隔值。 种类参数可以是&#xff1a; DAY HOUR MINUTE SECOND 下面是一些使用numtodsinterval函数的例子&…