RISC和CISC
risc, cisc等指令集
risc, cisc等指令集计算机指令集是计算机体系结构的重要组成部分,主要用于指导和控制计算机硬件进行各种运算和操作。
在计算机发展的早期阶段,两个主要的指令集体系结构方案被广泛应用,它们分别是RISC (Reduced Instruction Set Computer)和CISC(Complex Instruction Set Computer)。
本文将分别从RISC和CISC的定义、特点、应用和优缺点等方面进行探讨,以便对两种指令集结构有更深入的了解。
RISC,即精简指令集计算机,它的设计原则是将指令集中精简,指令的执行周期时间一致。
RISC指令集中的指令相对较少,每条指令的功能单一而简洁。
这种设计可以使得RISC指令的执行更加高效,因为每条指令的执行时间和资源消耗都得到了精确控制。
RISC指令集通常包含一些基本的算术和逻辑操作指令,以及一些数据传送指令和条件判断指令等。
CISC,即复杂指令集计算机,它的设计原则是将指令集中的指令设计得更加复杂、功能更加丰富。
CISC指令集中的指令相对较多,每条指令的功能可以比较复杂,包含多个操作步骤。
CISC指令集的设计初衷是为了减少编程的工作量,使得程序可以用更少的指令来完成更复杂的操作,提高编程的高效性。
RISC和CISC在应用上有所不同。
RISC指令集主要被应用在计算机的高性能领域,如超级计算机、网络服务器等。
RISC指令集由于指令精简、执行效率高的特点,可以更好地发挥计算机硬件的性能,提高系统的整体运算速度。
而CISC指令集主要被应用在个人计算机、嵌入式系统等领域。
CISC指令集由于指令功能丰富、编程简单的特点,可以使得编程的工作量减少,提高软件的开发效率。
虽然RISC和CISC各有优势,但也存在一些缺点。
在RISC指令集中,由于指令数量少,需要进行的操作可能需要多条指令的组合,因此整体的编程复杂度较高。
而在CISC指令集中,由于指令功能复杂,可能需要多个时钟周期来完成一条指令的执行,导致指令执行的效率稍低。
RISC和CISC的区别
一、RISCRISC (reduced instruction set computer ,精简指令集计算机)是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RISC机), RISC 机中采用的微处理器统称RISC处理器。
这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS )。
因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。
1 . RISC体系的指令特征精简指令集:包含了简单、基本的指令,透过这些简单、基本的指令,就可以组合成复杂指令。
同样长度的指令:每条指令的长度都是相同的,可以在一个单独操作里完成。
单机器周期指令:大多数的指令都可以在一个机器周期里完成,并且允许处理器在同一时间内执行一系列的指令。
2 . RISC体系的优缺点优点:在使用相同的晶片技术和相同运行时钟下,RISC系统的运行速度将是CISC的2〜4倍。
由于RISC处理器的指令集是精简的,它的记忆体管理单元、浮点单元等都能设计在同一块晶片上。
RISC处理器比相对应的CISC处理器设计更简单,所需要的时间将变得更短,并可以比CISC处理器应用更多先进的技术,开发更快的下一代处理器。
缺点:多指令的操作使得程式开发者必须小心地选用合适的编译器,而且编写的代码量会变得非常大。
另外就是RISC体系的处理器需要更快记忆体,这通常都集成于处理器内部,就是L1 Cache (一级缓存)。
二、CISCCISC是复杂指令系统计算机(Complex Instruction Set Computer )的简称,微处理器是台式计算机系统的基本处理部件,每个微处理器的核心是运行指令的电路。
指令由完成任务的多个步骤所组成,把数值传送进寄存器或进行相加运算。
1. CISC体系的指令特征使用微代码。
指令集可以直接在微代码记忆体(比主记忆体的速度快很多)里执行,新设计的处理器,只需增加较少的电晶体就可以执行同样的指令集,也可以很快地编写新的指令集程式。
精简指令集和复杂指令集的区别
精简指令集和复杂指令集的区别RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前CPU的两种。
它们的区别在于不同的CPU设计理念和⽅法。
CPU架构是⼚商给属于同⼀系列的CPU产品定的⼀个规范,主要⽬的是为了区分不同类型CPU的重要标⽰早期的CPU全部是CISC架构,它的设计⽬的是要⽤最少的机器语⾔指令来完成所需的计算任务。
⽐如对于乘法运算,在CISC架构的CPU 上,您可能需要这样⼀条指令:MUL ADDRA, ADDRB就可以将ADDRA和ADDRB中的数相乘并将结果储存在ADDRA中。
将ADDRA, ADDRB中的数据读⼊寄存器,相乘和将结果写回内存的操作全部依赖于CPU中设计的逻辑来实现。
这种架构会增加CPU结构的复杂性和对CPU⼯艺的要求,但对于编译器的开发⼗分有利。
⽐如上⾯的例⼦,C程序中的a*=b就可以直接编译为⼀条乘法指令。
今天只有Intel及其兼容CPU还在使⽤CISC架构。
RISC架构要求软件来指定各个操作步骤。
上⾯的例⼦如果要在RISC架构上实现,将ADDRA, ADDRB中的数据读⼊寄存器,相乘和将结果写回内存的操作都必须由软件来实现,⽐如:MOV A, ADDRA; MOV B, ADDRB; MUL A, B; STR ADDRA, A。
这种架构可以降低CPU的复杂性以及允许在同样的⼯艺⽔平下⽣产出功能更强⼤的CPU,但对于编译器的设计有更⾼的要求。
复杂指令集计算机(CISC) 长期来,计算机性能的提⾼往往是通过增加硬件的复杂性来获得.随着集成电路技术.特别是VLSI(超⼤规模集成电路)技术的迅速发展,为了软件编程⽅便和提⾼程序的运⾏速度,硬件⼯程师采⽤的办法是不断增加可实现复杂功能的指令和多种灵活的编址⽅式.甚⾄某些指令可⽀持⾼级语⾔语句归类后的复杂操作.⾄使硬件越来越复杂,造价也相应提⾼.为实现复杂操作,微处理器除向程序员提供类似各种寄存器和机器指令功能外.还通过存于只读存贮器(ROM)中的微程序来实现其极强的功能,傲处理在分析每⼀条指令之后执⾏⼀系列初级指令运算来完成所需的功能,这种设计的型式被称为复杂指令集计算机(Complex Instruction Set Computer-CISC)结构.⼀般CISC计算机所含的指令数⽬⾄少300条以上,有的甚⾄超过500条.精简指令集计算机(RISC) 采⽤复杂指令系统的计算机有着较强的处理⾼级语⾔的能⼒.这对提⾼计算机的性能是有益的.当计算机的设计沿着这条道路发展时.有些⼈没有随波逐流.他们回过头去看⼀看过去⾛过的道路,开始怀疑这种传统的做法:IBM公司没在纽约Yorktown的JhomasI.Wason研究中⼼于1975年组织⼒量研究指令系统的合理性问题.因为当时已感到,⽇趋庞杂的指令系统不但不易实现.⽽且还可能降低系统性能.1979年以帕特逊教授为⾸的⼀批科学家也开始在美国加册⼤学伯克莱分校开展这⼀研究.结果表明,CISC存在许多缺点.⾸先.在这种计算机中.各种指令的使⽤率相差悬殊:⼀个典型程序的运算过程所使⽤的80%指令.只占⼀个处理器指令系统的20%.事实上最频繁使⽤的指令是取、存和加这些最简单的指令.这样-来,长期致⼒于复杂指令系统的设计,实际上是在设计⼀种难得在实践中⽤得上的指令系统的处理器.同时.复杂的指令系统必然带来结构的复杂性.这不但增加了设计的时间与成本还容易造成设计失误.此外.尽管VLSI技术现在已达到很⾼的⽔平,但也很难把CISC的全部硬件做在⼀个芯⽚上,这也妨碍单⽚计算机的发展.在CISC中,许多复杂指令需要极复杂的操作,这类指令多数是某种⾼级语⾔的直接翻版,因⽽通⽤性差.由于采⽤⼆级的微码执⾏⽅式,它也降低那些被频繁调⽤的简单指令系统的运⾏速度.因⽽.针对CISC的这些弊病.帕特逊等⼈提出了精简指令的设想即指令系统应当只包含那些使⽤频率很⾼的少量指令.并提供⼀些必要的指令以⽀持操作系统和⾼级语⾔.按照这个原则发展⽽成的计算机被称为精简指令集计算机(Reduced Instruction Set Computer-RISC)结构.简称RISC.CISC与RISC的区别 我们经常谈论有关"PC"与"Macintosh"的话题,但是⼜有多少⼈知道以Intel公司X86为核⼼的PC系列正是基于CISC体系结构,⽽ Apple 公司的Macintosh则是基于RISC体系结构,CISC与RISC到底有何区别? 从硬件⾓度来看CISC处理的是不等长指令集,它必须对不等长指令进⾏分割,因此在执⾏单⼀指令的时候需要进⾏较多的处理⼯作。
cisc(复杂指令集)与risc(精简指令集)的区别
CISC(复杂指令集)与RISC(精简指令集)的区别复杂指令集计算机(CISC)长期来,计算机性能的提高往往是通过增加硬件的复杂性来获得.随着集成电路技术.特别是VLSI(超大规模集成电路)技术的迅速发展,为了软件编程方便和提高程序的运行速度,硬件工程师采用的办法是不断增加可实现复杂功能的指令和多种灵活的编址方式.甚至某些指令可支持高级语言语句归类后的复杂操作.至使硬件越来越复杂,造价也相应提高.为实现复杂操作,微处理器除向程序员提供类似各种寄存器和机器指令功能外.还通过存于只读存贮器(ROM)中的微程序来实现其极强的功能,傲处理在分析每一条指令之后执行一系列初级指令运算来完成所需的功能,这种设计的型式被称为复杂指令集计算机(Complex Instruction Set Computer-CISC)结构.一般CISC计算机所含的指令数目至少300条以上,有的甚至超过500条.精简指令集计算机(RISC)采用复杂指令系统的计算机有着较强的处理高级语言的能力.这对提高计算机的性能是有益的.当计算机的设计沿着这条道路发展时.有些人没有随波逐流.他们回过头去看一看过去走过的道路,开始怀疑这种传统的做法:IBM公司没在纽约Yorktown的JhomasI.Wason 研究中心于1975年组织力量研究指令系统的合理性问题.因为当时已感到,日趋庞杂的指令系统不但不易实现.而且还可能降低系统性能.1979年以帕特逊教授为首的一批科学家也开始在美国加册大学伯克莱分校开展这一研究.结果表明,CISC存在许多缺点.首先.在这种计算机中.各种指令的使用率相差悬殊:一个典型程序的运算过程所使用的80%指令.只占一个处理器指令系统的20%.事实上最频繁使用的指令是取、存和加这些最简单的指令.这样-来,长期致力于复杂指令系统的设计,实际上是在设计一种难得在实践中用得上的指令系统的处理器.同时.复杂的指令系统必然带来结构的复杂性.这不但增加了设计的时间与成本还容易造成设计失误.此外.尽管VLSI技术现在已达到很高的水平,但也很难把CISC的全部硬件做在一个芯片上,这也妨碍单片计算机的发展.在CISC中,许多复杂指令需要极复杂的操作,这类指令多数是某种高级语言的直接翻版,因而通用性差.由于采用二级的微码执行方式,它也降低那些被频繁调用的简单指令系统的运行速度.因而.针对CISC的这些弊病.帕特逊等人提出了精简指令的设想即指令系统应当只包含那些使用频率很高的少量指令.并提供一些必要的指令以支持操作系统和高级语言.按照这个原则发展而成的计算机被称为精简指令集计算机(Reduced Instruction Set Computer-RISC)结构.简称RISC.CISC与RISC的区别我们经常谈论有关"PC"与"Macintosh"的话题,但是又有多少人知道以Intel公司X86为核心的PC系列正是基于CISC体系结构,而 Apple公司的Macintosh则是基于RISC体系结构,CISC与RISC到底有何区别?从硬件角度来看CISC处理的是不等长指令集,它必须对不等长指令进行分割,因此在执行单一指令的时候需要进行较多的处理工作。
RISC与CISC的区别
RISC的英文全称为“Reduced Instruction Set Computer”,中文即“精简指令集计算机”。
RISC构架的指令格式和长度通常是固定的(如ARM是32位的指令)、且指令和寻址方式少而简单、大多数指令在一个周期内就可以执行完毕。
CISC(complex instruction set computer)即复杂指令集计算机,在20世纪90年代前被广泛的使用,其特点是通过存放在只读存储器中的微码(microcode)来控制整个处理器的运行。
一条指令往往可以完成一串运算的动作,但却需要多个时钟周期来执行。
随着需求的不断增加,设计的指令集越来越多,为支持这些新增的指令,计算机的体系结构会越来越复杂。
然而,在CISC指令集的各种指令中,其使用频率却相差悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%。
而余下的80%的指令却不经常使用,在程序设计中只占20%,显然,这种结构是不太合理的。
为改变这种状况,1980年Patterson和Ditzel 两位学者完成了一篇题为《精简指令集计算机概述》的开创性论文,全面提出了精简指令集的设计思想,随后,柏克来大学的研究生依照此理论基础,设计出了第一颗精简指令集处理器RISC I,这颗处理器远比当时已经相当流行的CISC处理器简单的多,在设计上所花费的功夫也降低许多,但整体功能上的表现却与CISC处理器不相上下。
从此处理器设计方向便分别向着这两个大的方向发展。
实际上1980年以来,所有新的处理器体系结构都或多或少地采用了RISC的概念,甚至有些典型的CISC处理机中也采用了些RISC设计思想,比如Intel公司的80486、Pentium系列等。
而RISC思想最成功也是第一个商业化的实例就是ARM,当然,它也放弃了一些RISC特征而保留了一些CISC特征。
RISC和CISC在构架上有着几个不同的地方。
1)首先是指令集的设计上,RISC构架的指令格式和长度通常是固定的(如ARM是32位的指令)、且指令和寻址方式少而简单、大多数指令在一个周期内就可以执行完毕;CISC构架下的指令长度通常是可变的、指令类型也很多、一条指令通常要若干周期才可以执行完。
简述risc和cisc的区别
简述risc和cisc的区别在计算机技术的许多变革中,复杂指令集计算机(CISC)过渡到精简指令集计算机(RISC)体系结构的转变是很重要的一个方面。
正是RISC的出现发展大大推动了嵌入式系统性能的提高和功能的完善。
什么是CISC和RISC ?CISC的英文全称为Complex InstrucTIon Set Computer,即复杂指令系统计算机,从计算机诞生以来,人们一直沿用CISC指令集方式。
早期的桌面软件是按CISC设计的,并一直沿续到现在。
目前,桌面计算机流行的x86体系结构即使用CISC。
微处理器(CPU)厂商一直在走CISC的发展道路,包括Intel、AMD,还有其他一些现在已经更名的厂商,如TI(德州仪器)、IBM以及VIA(威盛)等。
在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。
顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。
CISC架构的服务器主要以IA-32架构(Intel Architecture,英特尔架构)为主,而且多数为中低档服务器所采用。
RISC的英文全称为Reduced InstrucTIon Set Computer,即精简指令集计算机,是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RISC机),RISC机中采用的微处理器统称RISC处理器。
这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。
因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。
特点区别各方面如下:1、指令系统CISC计算机的指令系统比较丰富,有专用指令来完成特定的功能。
因此,处理特殊任务效率较高。
RISC设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。
对不常。
处理器知识-RISC和CISC架构分析对比
处理器知识: RISC和CISC架构分析对比CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构。
它们的区别在于不同的CPU设计理念和方法。
早期的CPU全部是CISC架构,它的设计目的是 CISC 要用最少的机器语言指令来完成所需的计算任务。
RISC和CISC是设计制造微处理器的两种典型技术,虽然它们都是试图在体系结构、操作运行、软件硬件、编译时间和运行时间等诸多因素中做出某种平衡,以求达到高效的目的,但采用的方法不同,因此,在很多方面差异很大。
x86架构采用CISC,而ARM采用RISC。
ARM成立于1991年,是一家出售IP(技术知识产权)的公司,所谓的技术知识产权,就有点像是卖房屋的结构设计图,至于要怎修改,哪边开窗户,以及要怎加盖其它的花园,就看买了设计图的厂商自己决定。
而ARM的架构是采用RISC架构,如同它的名称一样,Advanced RISC Machines,RISC 架构在当初的PC架构争霸战虽然败给Intel所主导的x86处理器架构,却默默在另外的领域成长壮大;小从硬盘转速控制、电信基地台的计算、汽车喷射引擎的控制、音响系统、相机引擎,大到电动机具的控制等等,都能够看见采用ARM授权架构处理器的身影。
而有了设计图,当然还要有把设计图实现的厂商,而这些就是ARM架构的授权客户群。
包括:高通、华为、联发科、TI、Freescale等。
X86是英特尔Intel首先开发制造的一种微处理器体系结构的泛称,包括Intel8086、80186、80286、80386以及80486以86结尾系列,英特尔统治整个CPU产业链长达数十年。
但是,Intel以增加处理器本身复杂度作为代价,去换取更高的性能,但集成的指令集数量越来越多,给硬件带来的负荷也就越来越大,无形中增加了功耗和设计难度。
ARM(Advanced RISC Machines)公司是苹果、Acorn、VLSI、Technology等公司的合资企业。
RISC和CISC的区别
RISC和CISC的区别RISC的简介RISC(reduced instruction set computer,精简指令集计算机)是一种执行较少类型计算机指令的微处理器(如下图)起源于80年代的MIPS主机,RISC机中采用的微处理器统称RISC处理器。
这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。
因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。
RISC的简单使得在选择如何使用微处理器上的空间时拥有更多的自由。
比起从前,高级语言编译器能产生更有效的代码,因为编译器使用RISC机器上的更小的指令集。
RISC微处理器不仅精简了指令系统,采用超标量和超流水线结构;它们的指令数目只有几十条,却大大增强了并行处理能力。
如:1987年Sun Microsystem公司推出的SPARC芯片就是一种超标量结构的RISC处理器。
而SGI公司推出的MIPS处理器则采用超流水线结构,这些RISC处理器在构建并行精简指令系统多处理机中起着核心的作用。
RISC处理器是当今UNIX领域64位多处理机的主流芯片。
其特点主要有:一,由于指令集简化后,流水线以及常用指令均可用硬件执行;二,采用大量的寄存器,使大部分指令操作都在寄存器之间进行,提高了处理速度;三,采用缓存-主存-外存三级存储结构,使取数与存数指令分开执行,使处理器可以完成尽可能多的工作,且不因存储器存取信息而放慢处理速度。
由于RISC处理器指令简单、采用硬布线控制逻辑、处理能力强、速度快,世界上绝大部分UNIX工作站和服务器厂商均采用RISC芯片作CPU用。
RISC芯片的工作频率一般在400MHZ数量级。
时钟频率低,功率消耗少,温升也少,机器不易发生故障和老化,提高了系统的可靠性。
单一指令周期容纳多部并行操作。
在RISC微处理器发展过程中。
曾产生了超长指令字(VLIW)微处理器,它使用非常长的指令组合,把许多条指令连在一起,以能并行执行。
CPU从指令集的特点上可以分为两类CISC和RISC我们所熟
RISC和CISCCPU从指令集的特点上可以分为两类:CISC和RISC。
我们所熟悉的Intel 系列CPU就是CISC 的CPU 的典型代表。
那么,RISC 又是什么呢?RISC是英文Reduced Instruction Set Computer的缩写,汉语意思为"精简指令系统计算机"。
相对应的CISC就是"复杂指令系统计算机"的意思。
随着大规模集成电路技术的发展,计算机的硬件成本不断下降,软件成本不断提高,使得指令系统增加了更多更复杂的指令,以提高操作系统的效率。
另外,同一系列的新型机对其指令系统只能扩充而不能减去旧型机的任意一条,以达到程序兼容。
这样一来,指令系统越来越复杂,有的计算机指令甚至达到数百条。
人们就称这种计算机为CISC (Complex Instruction Set Computer)。
如IBM公司的大、中型计算机,Intel公司的8086、80286、80386微处理器等。
日益庞大的指令系统不仅使计算机研制周期变长,而且还有难以调试、难以维护等一些自身无法克服的缺点。
于是,RISC的概念就应运而生,在1983年,一些中、小型公司开始推出RISC产品。
RISC并非只是简单地去减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理地提高运算速度上。
RISC机优先选取使用频最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻地方式种类减少;以便布线控制逻辑为主,不用或少用微码控制等措施来达到上述目的。
目前,RISC和CISC各有优势,而且界限并不那么明显了。
现代的CPU往往采用CISC的外围,内部加入了RISC的特性。
就连Intel最新的Pentium II等CISC芯片也具有了明显的RISC特征。
另外,超长指令集CPU由于融合了RISC和CISC的优势,成为未来的CPU发展方向之一。
RISC技术相信大家在日常电脑使用或CPU的广告介绍中时常听到见到“RISC”这个词,什么Pentium Ⅱ/Pro 采用先进RISC技术……K6采用RISC86结构,从而……总之大凡稍高档点的中央处理器都称采用RISC技术。
RISC和CISC的比较
RISC和CISC的比较RISC的设计重点在于降低由硬件执行指令的复杂度,因为软件比硬件容易提供更大的灵活性和更高的智能,因此RISC设计对编译器有更高的要求;CISC的设计则更侧重于硬件执行指令的功能,使CISC的指令变得很复杂。
总之RISC对编译器的要求高,CISC强调硬件的复杂性,CPU的实现更复杂。
RISC设计思想准则:1.指令集----RISC处理器减少指令集的种类,通常一个周期一条指令,也就是说指令的周期是固定的,编译器或程序员通过几条指令完成一个复杂的操作;CISC的指令长度通常不固定。
2.流水线----流水线的本质就是CPU并行运行,只是并行运行不像FPGA中的那么直接,它只是把一条指令分成几个更小的执行单元;CISC指令的执行需要调用一个微程序,明显没有RISC的指令吞吐量大。
3.寄存器----RISC的寄存器拥有更多的通用寄存器,寄存器操作较多,例如ARM具有27个寄存器,CISC的寄存器都是用于特定目的的。
4.Load-store结构----处理器只处理寄存器中的数据,这是因为访问存储器很耗时,同时对外部存储器的读写会影响其寿命;CISC能够在存储器中直接运行5.寻址方式简化,不像CISC那样的复杂众多的寻址方式是一种技术的名字。
而ARM体系结构目前被公认为是业界领先的32 位嵌入式RISC 微处理器结构。
所有ARM处理器共享这一体系结构。
因此我们可以从其所属体系比较入手,来进行X86指令集与ARM指令集的比较。
一、复杂指令集电脑CISC(Complex Instruction Set Computer)CISC是一种为了便于编程和提高记忆体访问效率的晶片设计体系。
早期的电脑使用组合语言编程,由于记忆体速度慢且价格昂贵,使得CISC体系得到了用武之地。
在20世纪90年代中期之前,大多数的微处理器都采用CISC体系──包括Intel的80x86和Motorola的68K系列等。
CISC与RISC指令
各种高级语言的语义之间有很大差别。不可能设计出一种能对所有高级语言都能提供很好支持的指令系统。
指令系统越复杂,包含的指令越多,编译时生成目标程序的方法也越多,对最终优化编译造成困难。
2.精简指令系统计算机特点
RISC也随着速度、芯片密度的不断提高,使RISC系统日趋复杂;
CISC机采用了部分RISC先进技术(强调指令流水线、分级Cache 和多设通用寄存器),其性能更加提高。 复杂的指令系 Nhomakorabea带来的问题
计算机的结构也越来越复杂,不仅增加了计算机的研制周期和成本,而且难以保证其正确性,有时还可能降低系统的性能。
庞大的指令系统中,只有算术逻辑运算、数据传送、转移、子程序调用等几十条基本指令才是常使用的,在程序中出现的概率占到80%以上;
需要大量硬件支持的复杂指令的利用率却很低,造成了硬件资源的大量浪费。
? 通过简化指令使计算机的结构更加简单合理,从而提高机器的性能。
①指令数目较少,一般都选用使用频度最高的一些简单指令;
②指令长度固定,指令格式种类少,寻址方式种类少;
③大多数指令可在一个机器周期内完成;
④通用寄存器数量多,只有存数/取数指令访问存储器,而其余指令均在寄存器之间进行操作。
采用RISC技术
指令系统越来越复杂的出发点:
① 使目标程序得到优化:把原来要用一段程序才能完成的功能,只用一条指令来实现。
② 给高级语言提供更好的支持:改进指令系统,设置一些在语义上接近高级语言语句的指令,就可以减轻编译的负担,提高编译效率。
③ 提供对操作系统的支持:操作系统日益发展,其功能也日趋复杂,这就要求指令系统提供越来越复杂的功能。
CISC(复杂指令集)与RISC(精简指令集)的区别
CISC(复杂指令集)与RISC(精简指令集)的区别复杂指令集计算机(CISC)长期来,计算机性能的提高往往是通过增加硬件的复杂性来获得.随着集成电路技术.特别是VLS I(超大规模集成电路)技术的迅速发展,为了软件编程方便和提高程序的运行速度,硬件工程师采用的办法是不断增加可实现复杂功能的指令和多种灵活的编址方式.甚至某些指令可支持高级语言语句归类后的复杂操作.至使硬件越来越复杂,造价也相应提高.为实现复杂操作,微处理器除向程序员提供类似各种寄存器和机器指令功能外.还通过存于只读存贮器(R OM)中的微程序来实现其极强的功能,傲处理在分析每一条指令之后执行一系列初级指令运算来完成所需的功能,这种设计的型式被称为复杂指令集计算机(Comple x Instru ction Set Comput er-CISC)结构.一般CISC计算机所含的指令数目至少300条以上,有的甚至超过500条.精简指令集计算机(RISC)采用复杂指令系统的计算机有着较强的处理高级语言的能力.这对提高计算机的性能是有益的.当计算机的设计沿着这条道路发展时.有些人没有随波逐流.他们回过头去看一看过去走过的道路,开始怀疑这种传统的做法:IBM公司没在纽约Yo rktow n的Jho masI .W ason研究中心于1975年组织力量研究指令系统的合理性问题.因为当时已感到,日趋庞杂的指令系统不但不易实现.而且还可能降低系统性能.1979年以帕特逊教授为首的一批科学家也开始在美国加册大学伯克莱分校开展这一研究.结果表明,CISC存在许多缺点.首先.在这种计算机中.各种指令的使用率相差悬殊:一个典型程序的运算过程所使用的80%指令.只占一个处理器指令系统的20%.事实上最频繁使用的指令是取、存和加这些最简单的指令.这样-来,长期致力于复杂指令系统的设计,实际上是在设计一种难得在实践中用得上的指令系统的处理器.同时.复杂的指令系统必然带来结构的复杂性.这不但增加了设计的时间与成本还容易造成设计失误.此外.尽管VLSI技术现在已达到很高的水平,但也很难把C I SC的全部硬件做在一个芯片上,这也妨碍单片计算机的发展.在CISC中,许多复杂指令需要极复杂的操作,这类指令多数是某种高级语言的直接翻版,因而通用性差.由于采用二级的微码执行方式,它也降低那些被频繁调用的简单指令系统的运行速度.因而.针对CISC的这些弊病.帕特逊等人提出了精简指令的设想即指令系统应当只包含那些使用频率很高的少量指令.并提供一些必要的指令以支持操作系统和高级语言.按照这个原则发展而成的计算机被称为精简指令集计算机(R educe d Instru ction Set Computer-RISC)结构.简称RISC.CISC与R I SC的区别我们经常谈论有关"PC"与"Macint osh"的话题,但是又有多少人知道以I n tel公司X86为核心的PC系列正是基于CISC体系结构,而 Apple公司的Mac intos h则是基于R ISC体系结构,CISC与R I SC到底有何区别?从硬件角度来看CISC处理的是不等长指令集,它必须对不等长指令进行分割,因此在执行单一指令的时候需要进行较多的处理工作。
RISC与CISC比较
RISC与CISC⽐较1.RISC与CISC的差异处理器的指令集可简单分为2种,CISC(complex instruction set computer)以及RISC(reduced instruction set computer)。
⼀开始的处理器都是CISC架构,随着时间演进,有越来越多的指令集加⼊。
由于当时编译器的技术并不纯熟,程序都会直接以机器码或是汇编语⾔写成,为了减少程序设计师的设计时间,逐渐开发出单⼀指令,复杂操作的程序码,设计师只需写下简单的指令,再交由CPU去执⾏。
但是后来有⼈发RISC的优点列举如下:指令长度固定,⽅便CPU译码,简化译码器设计。
尽量在CPU的暂存器(最快的存储器元件)⾥操作,避免额外的读取与载⼊时间。
由于指令长度固定,更能受益于执⾏线路管线化(pipeline)后所带来的效能提升。
处理器简化,晶体管数量少,易于提升运作时脉。
⽐起同时脉的CISC处理器,耗电量较低。
RISC的缺点列举如下:复杂指令需要由许多的⼩指令去完成,程序变得⽐较⼤,存储器也占⽤⽐较多,这在硬盘昂贵,常常使⽤磁带储存的时代来说,是个⼤缺点。
程序变长,代表着读取⼯作变得繁重,需要更多的时间将指令从存储器载⼊⾄处理器内。
这⾥也提供⼀个⼩⼩的概念,CISC是在RISC出现之后才出现的相对名词,并不是从⼀开始就有CISC、RISC这2种处理器架构。
2. CISC和RISC的区别前者更加专注于⾼性能但同时⾼功耗的实现(x86),⽽后者则专注于⼩尺⼨低功耗领域(ARM)。
实际上也有很多事情CISC更加合适,⽽另外⼀些事情则是RISC更加合适,⽐如在执⾏⾼密度的运算任务的时候CISC 就更具备优势,⽽在执⾏简单重复劳动的时候RISC就能占到上风。
RISC和CISC的区别
RISC和CISC的区别RISC的简介RISC(reduced instruction set computer,精简指令集计算机)是一种执行较少类型计算机指令的微处理器(如下图)起源于80年代的MIPS主机,RISC机中采用的微处理器统称RISC处理器。
这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。
因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。
RISC的简单使得在选择如何使用微处理器上的空间时拥有更多的自由。
比起从前,高级语言编译器能产生更有效的代码,因为编译器使用RISC机器上的更小的指令集。
RISC微处理器不仅精简了指令系统,采用超标量和超流水线结构;它们的指令数目只有几十条,却大大增强了并行处理能力。
如:1987年Sun Microsystem公司推出的SPARC芯片就是一种超标量结构的RISC处理器。
而SGI公司推出的MIPS处理器则采用超流水线结构,这些RISC处理器在构建并行精简指令系统多处理机中起着核心的作用。
RISC处理器是当今UNIX领域64位多处理机的主流芯片。
其特点主要有:一,由于指令集简化后,流水线以及常用指令均可用硬件执行;二,采用大量的寄存器,使大部分指令操作都在寄存器之间进行,提高了处理速度;三,采用缓存-主存-外存三级存储结构,使取数与存数指令分开执行,使处理器可以完成尽可能多的工作,且不因存储器存取信息而放慢处理速度。
由于RISC处理器指令简单、采用硬布线控制逻辑、处理能力强、速度快,世界上绝大部分UNIX工作站和服务器厂商均采用RISC芯片作CPU用。
RISC芯片的工作频率一般在400MHZ数量级。
时钟频率低,功率消耗少,温升也少,机器不易发生故障和老化,提高了系统的可靠性。
单一指令周期容纳多部并行操作。
在RISC微处理器发展过程中。
曾产生了超长指令字(VLIW)微处理器,它使用非常长的指令组合,把许多条指令连在一起,以能并行执行。
CISC和RISC是什么,二者有何区别?
CISC 和RISC 是什么,二者有何区别?
CISC 和RISC:
RISC(reduced instruction set computer,精简指令集计算机)是一种执行较少类型计算机指令的微处理器.这样一来,它能够以更快的速度执行操作。
因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令
集越大就会使微处理器更复杂,执行操作也会更慢。
纽约约克镇IBM 研究中心的John Cocke 证明,计算机中约20%的指令承担了80%的工作,他于1974 年提出了RISC 的概念。
CISC(complexinstrucTIon set computer,复杂指令集计算机)除了RISC,任何全指令集计算机都使用的是复杂指令集计算(CISC)。
目前常见使用RISC 的处理器包括DEC Alpha、ARC、ARM、MIPS、PowerPC、SPARC 和SuperH 等。
计算机体系结构RISC与CISC架构的比较
计算机体系结构RISC与CISC架构的比较计算机体系结构是指计算机中硬件和软件之间的组织方式以及它们之间的交互关系。
在计算机体系结构中,RISC(精简指令集计算机)和CISC(复杂指令集计算机)是两种主要的架构方式。
本文将对RISC和CISC架构进行比较,以探讨它们的优劣势以及应用领域。
1. 架构原理RISC架构采用简单而精简的指令集,指令长度一般为固定的32位,指令的执行时间也相对较短。
RISC架构鼓励使用寄存器进行数据操作,减少了对内存的频繁访问。
指令的执行速度快,功耗较低。
CISC架构则采用更复杂且功能更为全面的指令集,指令的长度和执行时间相对较长。
CISC架构支持多种寻址方式,可以直接对内存进行操作,因此指令的灵活性更强。
2. 指令集与指令执行RISC架构的指令集简单且规模较小,每个指令只能完成特定的功能,执行速度快。
RISC架构的指令执行耗时短,能够高效地进行流水线处理,提高了处理器的性能。
CISC架构的指令集较为复杂,包含大量功能丰富的指令。
每条指令能够完成多个操作,但执行速度相对较慢,消耗较多的处理器资源。
CISC架构的指令执行时间不稳定,难以实现高性能的流水线处理。
3. 硬件复杂度和成本RISC架构的硬件设计相对简单,指令集规模较小,对硬件的要求相对较低,因此硬件复杂度相对较低,成本也较低。
RISC架构的处理器可在较小的芯片上实现高性能。
CISC架构的硬件设计相对复杂,指令集规模较大,对硬件的要求较高,因此硬件复杂度相对较高,成本也较高。
CISC架构的处理器需要更大的芯片面积来容纳更多的电路和复杂的指令集。
4. 程序执行效率和编译器优化RISC架构的指令集简洁,指令执行时间相对较短,能够通过流水线等技术实现高效的指令并行执行,提高程序的执行效率。
而且,RISC架构的指令集易于编译器进行优化。
CISC架构的指令集复杂,指令执行时间相对较长,难以充分利用指令并行执行的优势,影响了程序的执行效率。
体系结构 RISC, CISC, x86, ARM, MIPS
体系结构: RISC, CISC, x86, ARM, MIPS硬件体系结构(Architecture)软件操作系统(Operating System)一、RISC与CISC1.CISC(Complex Instruction SetComputer,复杂指令集计算机)复杂指令集(CISC,Complex Instruction Set Computer)是一种微处理器指令集架构(ISA),每个指令可执行若干低阶操作,诸如从内存读取、储存、和计算操作,全部集于单一指令之中。
CISC特点:1.指令系统庞大,指令功能复杂,指令格式、寻址方式多;2.绝大多数指令需多个机器周期完成;3.各种指令都可访问存储器;4.采用微程序控制;5.有专用寄存器,少量;6.难以用优化编译技术生成高效的目标代码程序;在CISC指令集的各种指令中,大约有20%的指令会被反复使用,占整个程序代码的80%。
而余下的80%的指令却不经常使用,在程序设计中只占20%。
2.RISC(reduced instruction setcomputer,精简指令集计算机)精简指令集这种设计思路对指令数目和寻址方式都做了精简,使其实现更容易,指令并行执行程度更好,编译器的效率更高。
它能够以更快的速度执行操作。
这种设计思路最早的产生缘自于有人发现,尽管传统处理器设计了许多特性让代码编写更加便捷,但这些复杂特性需要几个指令周期才能实现,并且常常不被运行程序所采用。
此外,处理器和主内存之间运行速度的差别也变得越来越大。
在这些因素促使下,出现了一系列新技术,使处理器的指令得以流水执行,同时降低处理器访问内存的次数。
实际上在后来的发展中,RISC与CISC在竞争的过程中相互学习,现在的RISC指令集也达到数百条,运行周期也不再固定。
虽然如此,RISC设计的根本原则——针对流水线化的处理器优化—0—没有改变,而且还在遵循这种原则的基础上发展出RISC的一个并行化变种VLIW(包括Intel EPIC),就是将简短而长度统一的精简指令组合出超长指令,每次执行一条超长指令,等于并行执行多条短指令。
risc和cisc计算机区别?
RISC(Reduced Instruction Set Computer)和CISC(Complex Instruction Set Computer)是两种不同的计算机体系结构,它们在指令设计和执行方式上存在一些关键差异。
1. RISC(精简指令集计算机):- 指令集:RISC体系结构采用了一种精简的指令集,指令格式简洁,指令数量有限。
- 执行方式:RISC计算机的指令具有固定的长度,执行速度较快。
每个指令只执行一种操作,且操作简单。
处理器通过流水线方式高效地处理指令。
- 存储器访问:RISC架构倾向于使用寄存器之间的数据传送,减少了对内存的直接访问。
- 优点:指令执行简单、执行速度快、流水线效率高、易于硬件实现和优化。
- 缺点:程序长度较长,代码密度较低,需要更多的内存。
2. CISC(复杂指令集计算机):- 指令集:CISC体系结构具有丰富的指令集,其中每个指令可以执行复杂的操作和多个内存访问。
- 执行方式:CISC计算机的指令具有可变长度,有些指令的执行时间较长。
处理器能够执行高级操作,如字符串处理和复杂的数学运算。
- 存储器访问:CISC架构倾向于在存储器中直接操作数据,并支持内存到内存的操作。
- 优点:指令集丰富,灵活,能够进行复杂的操作,减少了对内存的访问次数。
- 缺点:指令设计复杂,执行效率相对较低,流水线处理困难,对于硬件设计和性能优化的要求较高。
总体而言,RISC架构以其精简、高效和易于优化的特点在现代计算机领域占据了主导地位。
它更适合于处理大量独立操作,如高性能计算和嵌入式系统。
而CISC架构适用于需要复杂操作和高级功能的计算机应用,如个人电脑和服务器。
然而,随着技术的发展,RISC和CISC之间的差异逐渐模糊,许多处理器采用了混合型的设计。
RISC结构与CISC结构的区别与比较
RISC与CI SC结构的区别与比较摘要:在计算机技术的许多变革中,复杂指令集计算机(CISC)过渡到精简指令集计算机(RISC)体系结构的转变是很重要的一个方面。
正是RISC的出现发展大大推动了嵌入式系统性能的提高和功能的完善。
本文主要论述二者的区别并在一些方面对这两种结构进行了比较。
关键词:RISC结构C ISC结构区别比较正文:1.RISC结构1.1RISC结构的出现与发展在20世纪90年代前CIS C结构被广泛的使用,其特点是通过存放在只读存储器中的微码(microco de)来控制整个处理器的运行。
一条指令往往可以完成一串运算的动作,但却需要多个时钟周期来执行。
随着需求的不断增加,设计的指令集越来越多,为支持这些新增的指令,计算机的体系结构会越来越复杂。
然而,在CISC指令集的各种指令中,其使用频率却相差悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%。
而余下的80%的指令却不经常使用,在程序设计中只占20%,显然,这种结构是不太合理的。
为改变这种状况,1980年Patterso n和Ditz el 两位学者完成了一篇题为《精简指令集计算机概述》的开创性论文,全面提出了精简指令集的设计思想,随后,柏克来大学的研究生依照此理论基础,设计出了第一颗精简指令集处理器RISC I,这颗处理器远比当时已经相当流行的CIS C处理器简单的多,在设计上所花费的功夫也降低许多,但整体功能上的表现却与CI SC处理器不相上下。
从此处理器设计方向便分别向着这两个大的方向发展。
实际上1980年以来,所有新的处理器体系结构都或多或少地采用了RISC的概念,甚至有些典型的C ISC处理机中也采用了些RISC设计思想,比如Intel公司的80486、Pentium系列等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作码操作码:指令系统的每一条指令都有一个操作码,它表示该指令应进行什么性质的操作。
不同的指令用操作码这个字段的不同编码来表示,每一种编码代表一种指令。
组成操作码字段的位数一般取决于计算机指令系统的规模。
"操作码" 英文对照new; operation code; function code; operating code;"操作码" 在工具书中的解释1、计算机程序中所规定的要执行操作的那一部分指令*或字段(通常用代码表示)。
"操作码" 在学术文献中的解释1、其中,操作码就是指令码,占一个字节的长度,一个字节码可以有多少操作数.目前,Java虚拟机规范中定义了220个字节码指令2、第二,技术性符号也是通过0和1来定义的,例如,操作码+的定义是01100001,等等.由此可以看出,B中只有两个初始符号0和13、操作码其实就是指令序列号,用来告诉CPU需要执行哪一条指令.地址码则复杂一些,主要包括源操作数地址、目的操作数地址.在某些指令中,地址码可以部分或全部省略,比如一条空指令就只有操作码而没有地址码4、操作码是指令操作功能的记述,而操作数描述操作的对象和操作的范围.PIC16F873共有35条指令,均是长度为14位的单字节指令5、因此权限控制在业务接口上进行,按管理功能点划分管理操作权限,将每一个管理功能点划分为一个操作,用一个全局唯一的整数表示,称为操作码6、至于其余各计数译码器因相应的按钮未被按故其输出皆为YO=“回”上述操作可按照被按按钮的编号及被接的顺序和次数简写成1328“称为操作码RISC简介RISC(reduced instruction setcomputer,精简指令集计算机)是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RISC机),RISC机中采用的微处理器统称RISC处理器。
这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。
因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。
纽约约克镇IBM研究中心的JohnCocke证明,计算机中约20%的指令承担了80%的工作,于1974年,他提出RISC的概念。
第一台得益于这个发现的电脑是1980年IBM的PC/XT。
再后来,IBM的RISCSystem/6000也使用了这个思想。
RISC这个词本身属于伯克利加利福尼亚大学的一个教师DavidPatterson。
RISC这个概念还被用在Sun公司的SPARC微处理器中,并促成了现在所谓的MIPS技术的建立,它是SiliconGraphics的一部分。
许多当前的微芯片现在都使用RISC概念。
RISC概念已经引领了微处理器设计的一个更深层次的思索。
设计中必须考虑到:指令应该如何较好的映射到微处理器的时钟速度上(理想情况下,一条指令应在一个时钟周期内执行完);体系结构需要多“简单”;以及在不诉诸于软件的帮助下,微芯片本身能做多少工作等等。
特点:除了性能的改进,RISC的一些优点以及相关的设计改进还有:@如果一个新的微处理器其目标之一是不那么复杂,那么其开发与测试将会更快。
@使用微处理器指令的操作系统及应用程序的程序员将会发现,使用更小的指令集使得代码开发变得更加容易。
@RISC的简单使得在选择如何使用微处理器上的空间时拥有更多的自由。
@比起从前,高级语言编译器能产生更有效的代码,因为编译器使用RISC机器上的更小的指令集。
除了RISC,任何全指令集计算机都使用的是复杂指令集计算(CISC)。
RISC典型范例如:MIPS R3000、HP—P A8000系列,Motorola M88000等均属于RISC微处理器。
RISC主要特点:RISC微处理器不仅精简了指令系统,采用超标量和超流水线结构;它们的指令数目只有几十条,却大大增强了并行处理能力。
如:1987年SunMicrosystem公司推出的SPARC芯片就是一种超标量结构的RISC处理器。
而SGI公司推出的MIPS处理器则采用超流水线结构,这些RISC处理器在构建并行精简指令系统多处理机中起着核心的作用。
RISC处理器是当今UNIX领域64位多处理机的主流芯片性能特点一:由于指令集简化后,流水线以及常用指令均可用硬件执行;性能特点二:采用大量的寄存器,使大部分指令操作都在寄存器之间进行,提高了处理速度;性能特点三:采用缓存—主机—外存三级存储结构,使取数与存数指令分开执行,使处理器可以完成尽可能多的工作,且不因从存储器存取信息而放慢处理速度。
应用特点;由于RISC处理器指令简单、采用硬布线控制逻辑、处理能力强、速度快,世界上绝大部分UNIX工作站和服务器厂商均采用RISC芯片作CPU用。
如原DEC的Alpha21364、IBM的PowerPC G4、HP的PA—8900、SGI的R12000A和SUN Microsystem公司的Ultra SPARC ║。
运行特点:RISC芯片的工作频率一般在400MHZ数量级。
时钟频率低,功率消耗少,温升也少,机器不易发生故障和老化,提高了系统的可靠性。
单一指令周期容纳多部并行操作。
在RISC微处理器发展过程中。
曾产生了超长指令字(VLIW)微处理器,它使用非常长的指令组合,把许多条指令连在一起,以能并行执行。
VLIW处理器的基本模型是标量代码的执行模型,使每个机器周期内有多个操作。
有些RISC处理器中也采用少数VLIW指令来提高处理速度。
Pentium4微处理器体系结构完全采用RISC体系结构。
区别:RISC 和CISC 是目前设计制造微处理器的两种典型技术,虽然它们都是试图在体系结构、操作运行、软件硬件、编译时间和运行时间等诸多因素中做出某种平衡,以求达到高效的目的,但采用的方法不同,因此,在很多方面差异很大,它们主要有:(1)指令系统:RISC 设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。
对不常用的功能,常通过组合指令来完成。
因此,在RISC 机器上实现特殊功能时,效率可能较低。
但可以利用流水技术和超标量技术加以改进和弥补。
而CISC 计算机的指令系统比较丰富,有专用指令来完成特定的功能。
因此,处理特殊任务效率较高。
(2)存储器操作:RISC 对存储器操作有限制,使控制简单化;而CISC 机器的存储器操作指令多,操作直接。
(3)程序:RISC 汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计;而CISC 汇编语言程序编程相对简单,科学计算及复杂操作的程序设计相对容易,效率较高。
(4)中断:RISC 机器在一条指令执行的适当地方可以响应中断;而CISC 机器是在一条指令执行结束后响应中断。
(5)CPU:RISC CPU 包含有较少的单元电路,因而面积小、功耗低;而CISC CPU 包含有丰富的电路单元,因而功能强、面积大、功耗大。
(6)设计周期:RISC 微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术;CISC 微处理器结构复杂,设计周期长。
(7)用户使用:RISC 微处理器结构简单,指令规整,性能容易把握,易学易用;CISC微处理器结构复杂,功能强大,实现特殊功能容易。
(8)应用范围:由于RISC 指令系统的确定与特定的应用领域有关,故RISC 机器更适合于专用机;而CISC 机器则更适合于通用机。
种类:目前常见使用RISC的处理器包括DEC Alpha、ARC、ARM、MIPS、PowerPC、SPARC和SuperH等。
CISC定义:复杂指令集计算机(Complex Instruction Set Computer,CISC)早期的计算机部件比较昂贵,主频低,运算速度慢。
为了提高运算速度,人们不得不将越来越多的复杂指令加入到指令系统中,以提高计算机的处理效率,这就逐步形成复杂指令集计算机体系。
为了在有限的指令长度内实现更多的指令,人们又设计了操作码扩展。
然后,为了达到操作码扩展的先决条件——减少地址码,设计师又发现了各种寻址方式,如基址寻址、相对寻址等,以最大限度地压缩地址长度,为操作码留出空间。
Intel公司的X86系列CPU是典型的CISC体系的结构,从最初的8086到后来的Pentium系列,每出一代新的CPU,都会有自己新的指令,而为了兼容以前的CPU平台上的软件,旧的CPU的指令集又必须保留,这就使指令的解码系统越来越复杂。
CISC可以有效地减少编译代码中指令的数目,使取指操作所需要的内存访问数量达到最小化。
此外CISC可以简化编译器结构,它在处理器指令集中包含了类似于程序设计语言结构的复杂指令,这些复杂指令减少了程序设计语言和机器语言之间的语义差别,而且简化了编译器的结构。
为了支持复杂指令集,CISC通常包括一个复杂的数据通路和一个微程序控制器。
如图1-5所示。
微程序控制器由一个微程序存储器、一个微程序计数器(MicroPC)和地址选择逻辑构成。
在微程序存储器中的每一个字都表示一个控制字,并且包含了一个时钟周期内所有数据通路控制信号的值。
这就意味着控制字中的每一位表示一个数据通路控制线的值。
例如,它可以用于加载寄存器或者选择ALU 中的一个操作。
此外每个处理器指令都由一系列的控制字组成。
当从内存中取出这样的一条指令时,首先把它放在指令寄存器中,然后地址选择逻辑再根据他来确定微程序存储器中相应的控制字顺序起始地址。
当把该起始地址放入MicroPC中后,九重微程序内存中找到相应的控制字,并利用它在数据通路中把数据从一个寄存器传送到另一个寄存器。
由于MicroPC中的地址并发递增来指向下一个控制字,因此对于序列中的每个控制器都会重复一遍这一步骤。
最终,当执行完最后一个控制字时,就从内存中取出一条新的指令,整个过程会重复进行。
由此可见,控制字的数量及时钟周期的数目对于每一条指令都可以是不同的。
因此在CISC中很难实现指令流水操作。
另外,速度相对较慢的微程序存储器需要一个较长的时钟周期。
由于指令流水和短的时钟周期都是快速执行程序的必要条件,因此CISC体系结构对于高效处理器而言不太合适的。
CISC体系结构的计算机存在以下一些问题(1)指令的2/8规律CISC计算机系统中,各种指令的使用频率相差悬殊。
大量的统计数字表明,大概有20%的比较简单的指令被反复使用,使用量约占整个程序的80%;而有80%左右的指令则很少使用,其使用量约占整个程序的20%。
VLSI制造工艺要求CPU控制逻辑的规整性进入20世纪80年代后,VLSI技术的发展非常迅速,往往每3到4年集成度就提高了一个数量级。
VLSI工艺要求规整性,而CISC 处理器中,为了实现大量复杂的指令,控制逻辑极不规整,给VLSI工艺造成很大困难。