4-3指令系统-CISC和RISC

news2024/9/28 19:15:52

文章目录

  • 一.复杂指令系统计算机CISC
  • 二.精简指令系统计算机RISC
  • 三.CISC和RISC比较

一.复杂指令系统计算机CISC

为增强原有指令的功能,设置更为复杂的新指令实现软件功能的硬化,这类机器成为复杂指令系统计算机CISC(Complex Instruction Set Computer)

1.设计思路:一条指令完成一个复杂的基本功能。
2.代表:x86架构,主要用户笔记本、台式机等
3.特点:
(1)指令系统复杂庞大,指令数目一般大于200条
(2)指令的长度不固定,指令格式多,寻址方式多
(3)可以访存的指令不受限制
(4)各种指令使用频度相差很大
(5)各种指令执行时间相差很大,大多数指令需要多个时钟周期才能完成
(6)控制器大多数采用微程序控制。有些指令非常复杂,以至于无法采用硬连接控制
(7)难以用优化编译生成高效的目标代码程序

  • 微程序:微程序设计是用规整的存储逻辑代替不规则的硬接线逻辑来实现计算机控制器功能的技术。每一条指令启动一串微指令,这串微指令称为微程序。微程序存放在控制存储器中,修改控制存储器内容可以改变计算机的指令。
  • 微程序控制器:将控制器所需的微命令以代码形式编成微指令,存入一个由ROM构成的控制存储器(CM)中。将各种机器指令的操作分解成若干微操作序列。每条微指令包含的微命令控制实现一步操作。若干条微指令组成一小段微程序,解释执行一条机器指令。
    在这里插入图片描述

比如设计一套能实现整数、矩阵加/减/乘运算的指令集,CISC除了提供整数的加/减/乘指令之外,还提供矩阵的加/减/乘指令,共6条。一条指令可以由一个专门的电路完成。但有的复杂指令用纯硬件实现很困难(如乘法),所以通常采用“存储程序”的设计思想,由一个比较通用的电路配合存储部件完成一条指令,这些通用的电路及存储部件配合实现复杂的指令(乘法),这就是微程序。

因为各种指令的使用频率相差悬殊,大概只有20%的指令被反复使用,约占整个程序的80%,而剩余80%左右的指令很少使用,因此提出了RISC

二.精简指令系统计算机RISC

为减少指令种类、简化指令功能,提出了精简指令系统计算机RISC(Reduced Instruction Set Computer)

1.设计思路:一条指令完成一个基本“动作”,多条指令组合完成一个复杂的基本功能。
2.代表:ARM架构,主要用于手机、平板等
3.特点:控制方式采用组合逻辑控制,效率更高。各种指令执行时间相差不大,便于实现“并行”、“流水线”

比如设计一套能实现整数、矩阵加/减/乘运算的指令集,RISC只提供整数的加/减/乘指令。一条指令对应一个电路,电路设计相对简单,功耗更低。

三.CISC和RISC比较

1.可访存指令
RISC只有Load指令(从主存读到寄存器)和Store指令(从寄存器往主存写)可以访存,因此需要较多的寄存器。乘法指令取数时需要访存,并没有用到这两条指令,因此乘法指令一定不是RISC。因为CISC可以访存的指令不受限制,所以乘法指令是CISC

2.目标代码
CISC相当于提供了很多库函数(库函数难以修改),而RISC相当于基本操作语句。因此CISC难以用优化编译生成高效的目标代码程序(库函数),RISC采用优化的编译程序,生成代码较为高效

在这里插入图片描述

  • 什么是RISC,简述它的主要特点
    RISC是精简指令系统计算机,它减少了指令种类、简化了指令功能。
    特点:
    ①让复杂的指令功能由频度高的简单指令的组合来实现;
    ②指令长度固定、指令格式种类少,寻址方式种类少;
    ③只有取数/存数指令访问存储器,其余指令的操作都在寄存器内完成;
    ④CPU中有多个通用寄存器;
    ⑤采用流水线技术,大部分指令在一个时钟周期内完成;
    ⑥控制器采用组合逻辑控制,不用微程序控制;
    ⑦采用优化的编译程序,生成代码较为高效
  • RISC和CISC有哪些不同点
    ①CISC复杂指令系统计算机:指令字长不固定,可访存指令不加限制,通用寄存器少,难以用优化编译生成高效的目标代码程序。RISC精简指令系统计算机:指令字长固定,可访存指令只有Load/Store指令,寻址方式简单,绝大多数指令执行时间在一个周期内完成,通用寄存器多,必须实现指令流水线
    ②RISC的设计重点在于降低由硬件执行指令的复杂度,因为软件比硬件容易提供更大的灵活性和更高的智能,因此RISC设计对编译器有更高的要求;CISC的设计则更侧重于硬件执行指令的功能,使CISC的指令变得很复杂。总之RISC对编译器的要求高,CISC强调硬件的复杂性,CPU的实现更复杂。
    ③RISC系统虽然有很高的性能,但由于历史原因,CISC产品已经占据广大终端用户市场,而RISC又不能与CISC兼容,这使得RISC产品难以在短期内改变市场格局。目前RISC产品主要应用于高端服务器和工作站领域。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/174875.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux下的FTP服务器

目录 总体功能 功能1----------------查看服务器端的文件列表信息 功能2 ---------------从服务器段下载文件到客户端 功能3 ---------------向服务器端上传文件 功能4----------------客户端退出,服务器继续等待链接 总体功能 功能1----------------查看服务器…

STM32 SPI读写速度评估

目的:测试STM32H7 系列芯片的SPI读写速度。 测试环境:使用STM32H743, 逻辑分析仪, cubeIDE; 测试方法:使用了3种方法:软件IO模拟SPI, 软件控制CSMCU的SPI模块,完全使用SPI模块&…

Android 深入系统完全讲解(30)

下图是生命周期的说明图:如图可以看到: 当创建编解码器的时候处于未初始化状态。首先你需要调用 configure(…)方法让它处于 Configured 状态,然后调用 start()方法让其处于 Executing 状态。在 Executing 状态下,你就 可以使用…

LCHub:全新华为云Astro低代码平台,重塑企业数字化转型

为什么技术创新与业务突破难以挂钩?为什么寻求的卓越成果总难以实现?华为云Astro呈上解决之道,抓住重点一招致胜,让人人皆可高效开发,使创新按照你的步调进行。 华为云Astro低代码平台,重塑企业数字化转型 当企业倍受数字化升级困扰时,若仍延用传统编码开发,则会阻碍整…

Bootstrap4 之栅格系统

Bootstrap4 之栅格系统参考描述栅格系统(网格系统)原理容器.container 与视口宽度行列样式栅格等级网格宽度特点左对齐另起一行自适应布局对齐垂直对齐行列水平对齐排列响应式优先级偏移显隐参考 项目描述Bootstrap 入门经典珍妮弗、凯瑞恩Bootstrap 基…

内存屏障由来的理解和使用《编程高手必学的内存知识》学习笔记 Day 5

系列文章目录 这是本周期内系列打卡文章的所有文章的目录 《Go 并发数据结构和算法实践》学习笔记 Day 1《Go 并发数据结构和算法实践》学习笔记 Day 2《说透芯片》学习笔记 Day 3《深入浅出计算机组成原理》学习笔记 Day 4 文章目录系列文章目录前言一、概念理解(…

JUC面试(六)——Java锁

Java锁 公平锁和非公平锁 概念 公平锁 是指多个线程按照申请锁的顺序来获取锁,类似于排队买饭,先来后到,先来先服务,就是公平的,也就是队列 非公平锁 是指多个线程获取锁的顺序,并不是按照申请锁的顺…

steam搬砖项目,每天1-2小时,月入1w+(内附教学资料)

steam搬砖就非常合适,最大的优点,操作性简单,0门槛也不用担心,一台电脑就能搞定。利用空余时间完成就可以 话不多说,先上目录,以便大家阅读~ 一.steam搬砖玩法 1、steam搬砖项目介绍 2、项目原理与产出…

ROS2机器人编程简述humble-第二章-Parameters .3.4

ROS2机器人编程简述humble-第二章-Launchers .3.3机器人程序通常需要配置各类参数,官网和一些书中都有介绍。概述ROS中的参数与各个节点相关。参数用于在启动时(以及运行时)配置节点,而无需更改代码。参数的生存期与节点的生存期相…

【区块链】深入剖析免费赚钱app的本质

你对免费赚钱软件好奇吗?前言一、揭开“免费赚钱app”神秘面纱1.常见的赚钱app2.app真的在做慈善吗?3.羊毛党的价值4.真正的游戏规则二、区块链1.哈希算法2.互联网挖矿三、深入探讨“区块链”的套路1.免费赚钱app真正的价值2.虚拟货币的本质3.虚拟货币泡…

Java设计模式-观察者模式/观察者模式适合那些场景?怎么使用

继续整理记录这段时间来的收获,详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用! 6.7 观察者模式 6.7.1 定义 又称发布-订阅模式,定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象主体对象在状态变化…

[前端笔记——CSS] 9.CSS处理文件的标准流程+DOM

[前端笔记——CSS] 9.CSS处理文件的标准流程DOM1.CSS处理文件的标准流程2.关于DOM2.1 举个例子2.2 应用 CSS 到 DOM1.CSS处理文件的标准流程 当浏览器展示一个文件的时候,它必须兼顾文件的内容和文件的样式信息,CSS处理文件的标准流程如下: …

06_FreeRTOS临界区代码保护

目录 临界段代码保护简介 临界段代码保护函数介绍 任务级临界区函数详解 中断级临界区函数详解 临界段代码保护简介 什么是临界段:临界段代码也叫做临界区,是指那些必须完整运行,不能被打断的代码段 适用场合如: 1.外设:需严格按照时序初始化的外设:IIC、SPI等等 2.系统…

国家发明专利:基于改进型黏菌优化算法的业务资源分配方法

国家发明专利:基于改进型黏菌优化算法的业务资源分配方法 摘要 本发明公开了一种基于改进型黏菌优化算法的业务资源分配方法,其步骤包括:1将生产任务分成若干个环节,构建有向环状分配网络;2构建工厂参数矩阵并归一化&…

力扣98.验证二叉搜索树

文章目录力扣98.验证二叉搜索树题目描述算法思路代码实现力扣98.验证二叉搜索树 题目描述 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。 节点的右子树只包含 …

领域驱动设计(DDD)的几种典型架构介绍

我们生活中都听说了DDD,也了解了DDD,那么怎么将一个新项目从头开始按照DDD的过程进行划分与架构设计呢? 一、专业术语 各种服务 IAAS:基础设施服务,Infrastructure-as-a-service PAAS:平台服务&#xff0c…

【Java寒假打卡】JavaWeb-Servlet基础

【Java寒假打卡】JavaWeb-Servlet基础介绍servlet快速入门servlet的执行过程servlet关系视图Servlet实现方式-继承HTTPSERVLETServlet的生命周期线程安全问题servlet的映射方式案例-多路径映射问题-指定名称的方式Servlet的创建时机默认Servlet介绍 servlet是运行在Java服务器…

免费分享一套 SpringBoot + Vue + ElementUI 的人力资源管理系统,挺漂亮的

大家好,我是锋哥,看到一个不错的SpringBoot Vue ElementUI 的人力资源管理系统,分享下哈。 项目介绍 项目背景 人力资源管理是企业运营中必不可少的一环,它关系到企业的前途与发展。尤其对于中小微企业来说,对企业…

积分分离PID控制算法及仿真-1

在普通 PID 控制中引入积分环节的目的,主要是为了消除静差,提高控制精度。但在过程的启动、结束或大幅度增减设定时,短时间内系统输出有很大的偏差,会造成PID运算的积分积累,致使控制量超过执行机构可能允许的最大动作…

Vue项目基础环境搭建完整步骤

使用vue官方脚手架(vue-cli) vue-cli简介 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,是一个官方脚手架,可以帮助我们快速创建vue项目工程目录,目前最新版本4.x。 Vue CLI 致力于将 Vue 生态中的工具基础标准化。它确保了各种构建…