我对risc及cisc机器的认识

说起CISC和RISC机器的,一个称之为复杂指令计算机,另外一个称之为精简指令计算机。复杂指令计算机方面主要代表有大名鼎鼎的X86架构,8位cisc嵌入式代表主要有因特尔的8051,16位的有80196,32位的有瑞萨的CISC架构,具体啥名字忘记了,相对比较非主流。精简指令计算机代表有arm,mips,sparc,powerpc,以及一些非主流的cpu。

risc方面我只用过arm和mips,感觉这两家公司其实在技术方面,早期mips是完全领先于arm,体系架构设计也比arm要简单实用,并且中期的mips架构也曾经用到了sgi公司的高性能超级计算机上,可谓是经验累累,然而后期mips的管理层却出现了一连串的决策失误,导致今天arm市场霸主的低位,大家可以看看Patterson D A& Hennessy J 的最新版计算机组成与设计硬件/软件接口,这本书的主要介绍arm,而这两位中那位大名鼎鼎的斯坦福校长,即是mips公司的创始人,一个mips创始人写书不写mips而写arm,颇有点被逼上梁山的感觉,大家如果感兴趣的话,可以去看看那本-MIPS 体系结构透视。这本书翻译得当,写的很不错,是学习arm和mips的重要教材。为何是学习arm的重要教材? ;) 在这里在啰嗦几句,其实arm公司在撰写教材这方面真的做的很差,另外在协处理文档使用方面做的是更差。arm公司更希望你能雇佣相应的技术顾问来进行这方面的底层开发。这种赚钱的方式有点让人鄙视。哈哈。

闲话不扯了,回到本质问题上来。说到risc和cisc的区别,前段时间跟导师聊得时候,导师来了一句:cisc就是指令多,risc就是指令少,晕, :0 这种说法是绝对错误的!什么叫做risc和cisc,放在台面上的说法就是cisc的ISA是不定长的,有长有短,指令相对丰富,可以对内存中的数据进行运算操作,与之相反risc指令,一般来说ISA都是定长的,对内存的操作也只有简单的存储和读取两种方式的指令,数据全部都是放在register中去操作的。往深入的说还可以说成cisc指令一般来说都是非正交指令,risc则是正交指令,cisc计算机中寄存器数量比较少,相应的专用寄存器数量比较多,而risc寄存器数量较多,应该没有专用的储存器,全部交给编译器来做!

那么肯定会有人问了,cisc的isa这么丰富,那么它应该会碉堡了吧。其实不是这样的。

第一点是因为一块芯片的die是有限的,因此晶体管的数量是一定,如果你的isa相对比较丰富,那么你的register和cache的面积就必须做小,这样就直接导致了register个数较小和1/2/3 level cache没有办法做大,而往往决定处理器运行速度快慢是cache,而不是所谓的isa

第二点有些人可能会问了,那我们不计较成本呢,通过加大die的面积,改进设备工艺,让die上能够容纳更多的晶体管。这样问题不就解决了吗?好,问题的确是解决了一部分,但是你又没有想过,软件方面的支持呢?一个cpu要运行的快。不仅仅是硬件部分要设计的,编译器如果不支持这些高级指令,一样白搭,就相当于大量的die面积没有使用,而往往编译器的设计及开发并没有想象中cpu设计开发的那么快,因此你的cpu总是会有一部分die是属于空闲状态,并且那种优秀的编译器不仅仅价格昂贵,并且很多普通用户根本听都没有听说过。例如intel公司的ICC,敢问博客园中有几个人是专门用它来写代码?就算用它来写代码,你能够保证你用的lib都是最新的吗? 如果你说这些你都能够保证,那好,我无话可说。 :)

相对于risc机器,就完全不一样了,指令就那么多,虽然也有更新,但那是数量上相对比较少,并且定长的isa可以有效的构造流水线,加快指令级并行,提高频率,另外大量的die面积可以用来构造通用型register和cache,往往对于计算机来说,内存墙问题才是真正影响到速度的关键!与此同时,工程师们可以通过simd,乱序,超标量技术,多核等技术来加快速度。收到的效果往往比cisc要好很多,好啦,今天就讲这么多吧,改天我再给大家用举例的形式讲一讲cisc与risc的区别

参考文献

Sweetman D, 李鹏, 鲍峥, 等. MIPS 体系结构透视[J]. 2008.

JL· 亨尼西 (美), Hennessy J L, DA· 帕特森 (美), 等. 计算机体系结构: 量化研究方法: 英文版·[M]. 机械工业出版社, 2003.

Dayid A. Patter son, John L. Hennes sy[J]. 计算机组成与设计: 硬件软件接口, 2006: 368-383.

计算机组织与体系结构: 性能设计[M]. 斯托林斯 清华大学出版社有限公司, 2006.

我对risc及cisc机器的认识,布布扣,bubuko.com

时间: 2024-10-13 21:57:28

我对risc及cisc机器的认识的相关文章

处理器架构——从RISC与CISC到x86、ARM、MIPS

1.CISC(Complex Instruction SetComputer,复杂指令集计算机) 复杂指令集(CISC,Complex Instruction Set Computer)是一种微处理器指令集架构(ISA),每个指令可执行若干低阶操作,诸如从内存读取.储存.和计算操作,全部集于单一指令之中. CISC特点: 1.指令系统庞大,指令功能复杂,指令格式.寻址方式多: 2.绝大多数指令需多个机器周期完成: 3.各种指令都可访问存储器: 4.采用微程序控制: 5.有专用寄存器,少量: 6.

risc与cisc

RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前CPU的两种架构.它们的区别在于不同的CPU设计理念和方法. 早期的CPU全部是CISC架构,它的设计目的是要用最少的机器语言指令来完成所需的计算任务.比如对于乘法运算,在CISC架构的CPU上,您可能需要 这样一条指令:MUL ADDRA, ADDRB就可以将ADDRA和ADDRB中的数相乘并将结果储存在ADDRA中.将ADDRA, ADDRB中的数据读入寄存器,相乘和将结果写回内存的操作全部依赖于CPU中设计的逻辑来实现.这种架

2.1.3 RISC VS CISC(译)

70年代有过超复杂指令的实验,可能是用解释器做的.设计者尝试缩小“机器能做什么”和“高级语言需要什么”之间的语义鸿沟.几乎没有任何人考虑过设计更简单的机器,就像现在没有太多研究关心如何设计低耗能的电子表格,网络,Web服务器,等等. 有一个团体反抗这种趋势,尝试吸收西摩·克雷在高性能计算机上的理念,该团体领导人是IBM的约翰·科克.这些工作导致了一个实验性质的微型计算机的诞生,它就是801.虽然IBM从未生产该机器,而且研究结果多年以后才被发布(Radin,1982),但是消息传出后其他人也开始

一文解读RISC与CISC

RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前CPU的两种架构.它们的区别在于不同的CPU设计理念和方法. 早期的CPU全部是CISC架构,它的设计目的是要用最少的机器语言指令来完成所需的计算任务.比如对于乘法运算,在CISC架构的CPU上,您可能需要这样一条指令:MUL ADDRA, ADDRB就可以将ADDRA和ADDRB中的数相乘并将结果储存在ADDRA中.将ADDRA, ADDRB中的数据读入寄存器,相乘和将结果写回内存的操作全部依赖于CPU中设计的逻辑来实现.这种架构

RISC和CISC的对比

简称 全称 涉及理念 优点 缺点 CISC 复杂指令集 让每条指令能够完成比较复杂的功能. 由于指令的功能比较强大,所以对于程序员来说比较方便. 由于指令功能复杂,所以CPU设计难度比较大,功耗比较大. RISC 精简指令集 让每条指令只实现最基本的功能. 指令功能比较简单,所以CPU设计难度比较小,功耗比较低. 由于指令功能简单,要实现复杂功能得依靠程序员自己去组合指令.

CPU指令集设计RISC和CISC

CPU指令集 硬件实现具有速度快,成本高,灵活性差,软件实现与之相反.因此出现频率高的基本功能首选硬件实现.指令集的不同反映了设计原理.制造技术和系统类别. RISC 精简指令集计算机(Reduced Instruction Set Computer) 硬件电路直接控制方案 CISC 复杂指令集计算机(Complex Instruction set Computer) 微程序控制方案 原文地址:https://www.cnblogs.com/uestcman/p/9589186.html

arm指令系统(RISC|CISC)

一: CISC(Complex Instruction Set Computer)复杂指令计算机 CISC是台式计算机系统的基本处理部件,每个微处理器的核心是运行指令的电路.指令由完成任务的多个步骤所组成,把数值传送进寄存器或进行相加运算.CISC是一种执行整套计算机指令的微处理器,起源于80 年代的MIPS主机(即RISC 机),RISC机中采用的微处理器统称RISC处理器.这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS).因为计算机执行每个指令类型都需要额外的晶体管

计算机指令集CISC与RISC

当接触一新CPU时商家会首先描述它是RISC指令集,这意味着什么,从这个描述你能了解多少CPU特性信息? 复杂指令集计算机(CISC) 长期来,计算机性能的提高往往是通过增加硬件的复杂性来获得.随着集成电路技术.特别是VLSI(超大规模集成电路)技术的迅速发展,为了软件编程方便和提高程序的运行速度,硬件工程师采用的办法是不断增加可实现复杂功能的指令和多种灵活的编址方式.甚至某些指令可支持高级语言语句归类后的复杂操作.至使硬件越来越复杂,造价也相应提高.为实现复杂操作,微处理器除向程序员提供类似各

CISC和RISC是什么?它们的特点和区别?

CISC的英文全称为“Complex Instruction Set Computer”,即“复杂指令系统计算机”,从计算机诞生以来,人们一直沿用CISC指令集方式.早期的桌面软件是按CISC设计的,并一直沿续到现在.目前,桌面计算机流行的x86体系结构即使用CISC.微处理器(CPU)厂商一直在走CISC的发展道路,包括Intel.AMD,还有其他一些现在已经更名的厂商,如TI(德州仪器).IBM以及VIA(威盛)等.在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作