计算机体系结构-精简指令集和复杂指令集
精简指令集(CISV)和复杂指令集(RISC)
一、Intel和AMD可以认为是CISC的典型代表。一条复杂的指令实现复杂的功能,对于编译器的要求低,只需一条指令就可以解决问题。ARM必须将数据加载到寄存器才能被指令使用。举例如下:
// Intel AVX指令集如下:
// 将寄存器ymm1 += ymm3(或者地址mem中值) * ymm2
// 这是一条CISC指令集,最后一个操作数可以从地址或者寄存器中直接读,这将增加逻辑电路的复杂度。
vfmadd231ps ymm1, ymm2, ymm3/mem// ARM是典型的RISC代码,其fmadd指令只能从寄存器中读数据,必须线从内存加载数据到寄存器。
// v0 += v1 * v2
ld1 {v1.4s}, [x9]
ld1 {v2.4s}, [x10]
ld1 {v0.4s}, [x11]
fmla v0.4s, v1.4s, v2.4s
st1 {v0.4s}, [x11]
CISC对CPU逻辑电路的设计要求高,简化了对编译器的要求,但是带来了CPU成本和功耗的增加。
RISC通过多条简单指令拼凑一个复杂功能,对编译器优化要求高,但是功耗低,CPU设计简单,主要用在端侧。
CISC指令长度不固定,指令较多,这将导致指令切割复杂,通常需要切割未多个微操作码,然后执行计算。
RISC指令长度固定,指令较少,指令码切割简单,这将更容易并行化,执行效率高。
主要体现在可访存指令上: 指令不加限制(CISC) 只能是LOAD/STORE指令(RISC)
二、指令的组成
一条指令主要有操作码和操作数地址码两部分组成
(1)定长操作码指令:计算机的硬件简单,指令译码和执行速度快,但是随着指令增多,指令划分为操作地址码的位数降低,适用于较长位数系统32位及以上。
(2)变长操作码指令:技能表示较多指令集又能表示较大的操作数地址码,这在16位系统常用。指令译码和执行速度慢。
(3)操作码和操作数交织:操作码不再集中在指令高字节处,指令译码很复杂,不常用。
计算机体系结构-精简指令集和复杂指令集相关推荐
- 精简指令和复杂指令计算机,CPU精简指令集和复杂指令集的区别
经常看到计算机课程上介绍PowerPC是采用精简指令集的CPU,酷睿CPU是复杂指令集.那么到底精简指令集和复杂指令集有什么区别呢? 以下内容摘自百度百科: 在计算机指令系统的优化发展过程中,出现过两 ...
- 复杂指令集linux,精简指令集和复杂指令集区别
精简指令集概述 精简指令集计算机(RISC:Reduced Instruction Set Computing RISC)是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RIS ...
- 【软件硬件】精简指令集和复杂指令集的区别
RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前CPU的两种架构.它们的区别在于不同的CPU设计理念和方法. CPU架构是厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分 ...
- 章节1 计算机体系结构
1.2.1-计算机硬件组成-CPU 计算机组成 台式机硬件-内部 台式机硬件-外部结构 CPU Center Processing Unit(中央处理器/处理器) 常见的电脑处理器: Inetl奔腾8 ...
- 计算机体系结构(简记)
CSDN话题挑战赛第2期 参赛话题:学习笔记 计算机体系结构(简记) 1.1 计算机发展史 图灵 香农 冯.诺伊曼 1.2.1 计算机硬件组成-CPU cpu Central Processing U ...
- 计算机体系结构-体系结构基础与流水线原理
计算机体系结构:体系结构基础与流水线原理 计算机体系结构:量化设计与分析一书以RISC-V为例介绍计算机体系结构.介绍体系结构的基本知识和流水线原理.笔记内容为原书的第一章,附录A.B.C. 第一章 ...
- 汇编程序设计与计算机体系结构软件工程师教程笔记:处理器、寄存器简介
<汇编程序设计与计算机体系结构: 软件工程师教程>这本书是由Brain R.Hall和Kevin J.Slonka著,由爱飞翔译.中文版是2019年出版的.个人感觉这本书真不错,书中介绍了 ...
- 【趋势】未来十年计算机体系结构的历史和趋势
来源:机器之心 先分享我对这篇文章的总结,或者我得到的启发: 1.DSA (Domain-Specific Architectures,特定领域的体系结构) 将成为未来十年甚至更长时间,计算机体系结构 ...
- 指令级并行--计算机体系结构
参考书:<计算机体系结构量化研究方法> 作者:John L. Hennessy 一.基本概念 几乎所有处理器都使用流水线来重叠指令的执行过程,以提高性能.由于指令可以并行执行,所以指令之间 ...
最新文章
- 数据挖掘(10):卷积神经网络算法的一个实现
- SAP 库存物资收发存报表主要思路
- 注定一爆就完的ZAO ,为什么只是一剂社交毒药?
- sql查询结果字段名与字段值倒过来了
- centos pip命令安装mysql_centos下pip安装mysql_python报错mysql_config not found
- SQL与C#结合完整修改 删除信息
- php php_strip_whitespace,php strip_whitespace函数怎么用
- GDI+ 学习记录(23): 输出文本
- 来自一个用户的体验-Alpha项目测试
- Datawhale编程学习之栈和队列(2)
- linux不解压情况下查看压缩包内文件的总行数、文件列表的数目
- 射频百科 | 高速射频连接器
- WIN XP SP2系统经常性死机问题解决历程
- Java异常,教课书式知识梳理
- 04-如何选购台式电脑显卡?小白装机通俗易懂的独立显卡知识指南
- require使用mysql_require的用法
- provider: SQL Network Interfaces, error: 26 - 定位指定的服务器/实例时出错
- 硬盘无法格式化该怎么办?
- socket通信相关函数
- Proteus 8.9原理图转换为PCB图