第1章 绪论
1.1 微处理器、微型计算机和微型计算机系统
计算机按体积、性能、价格通常分为巨型机、大型机、中型机、小型机和微型计算机(简称微机)五类。从系统结构和基本工作原理角度来看,微型计算机与其他几类计算机并没有本质上的区别,它们都由五大部分组成,也就是运算器、控制器、存储器、输入设备和输出设备。微型计算机与其他几类计算机所不同的是,微型计算机广泛采用了集成度相当高的器件和部件,因此微型计算机具有体积小、重量轻、耗电省、可靠性高、结构灵活、价格低廉、维护方便和应用面广等特点。
微型计算机中的运算器和控制器合起来称为中央处理器(central processing unit,CPU),CPU已经能够集成在一块集成电路芯片上,这就是微处理器,又称微处理机。
微型计算机由CPU、主存储器、输入/输出(input/output,I/O)接口电路和系统总线构成,如图1.1.1所示。CPU如同微型计算机的心脏,它的性能决定了整个微型计算机的各项关键指标。主存储器一般由随机存储器和只读存储器构成。I/O接口电路是外部设备和微型计算机之间传送信息的部件。系统总线是CPU与其他部件之间传输地址、数据和控制信息的通道。总线结构是微型计算机的一个结构特点。有了总线结构以后,系统中各功能部件之间的相互关系变为各个部件与总线的单一关系。一个部件只要符合总线标准,就可以连接到采用这种总线标准的系统中,便于系统功能的扩展。
图1.1.1 微型计算机的基本结构
尽管各种微型计算机的系统总线类型和标准有所不同,但它主要包含三种不同功能的总线,即数据总线(data bus,DB)、地址总线(address bus,AB)和控制总线(control bus,CB)。
数据总线用来传输数据。从结构上看,数据总线是双向的,数据既可以从CPU送到其他部件,也可以从其他部件送到CPU。数据总线的位数(也称为宽度)是微型计算机的一个重要指标。在微型计算机中,数据的含义是广义的,数据总线上传送的不一定是真正的数据,也可能是指令代码、状态量,有时还可能是一个控制量。
地址总线专门用来传送I/O接口电路和主存储器的地址信息。一般情况下,地址是从CPU送出去的,所以地址总线一般是单向的。地址总线的位数决定了CPU可以直接寻址的主存地址范围。在8086~Pentium系列微型计算机系统中,主存储器以字节(即8位二进制数)为单位存储信息。每一字节单元有一个唯一的存储器地址,称为物理地址。主存储器的物理地址空间是线性的。地址一般用二进制数来表示,当然它是无符号整数,书写格式中一般用十六进制数表示。
最大可以访问的物理地址空间,由CPU地址线的位数决定,例如,一个微型计算机的地址总线为16位,最大主存空间(容量)为64KB,8086微处理器的地址总线为20位,所以,最大主存容量为1MB。
控制总线用来传输控制信号,其中包括CPU送往主存储器和I/O接口电路的控制信号,如读信号、写信号、中断响应信号等,还包括其他部件送到CPU的信号,如时钟信号、中断请求信号、准备就绪信号等。
微型计算机系统(简称微机系统)由微型计算机、I/O设备、系统软件、电源、面板和机架等组成。
1.2 CISC与RISC结构的微处理器
1. CISC和RISC技术
在计算机指令系统的优化发展过程中,出现过两个截然不同的优化方向:复杂指令集计算机(complex instruction set computer,CISC)技术和精简指令集计算机(reduced instruction set computer,RISC)技术。它们的区别在于不同的CPU设计理念和方法。计算机指令集指的是CPU能够直接识别的计算机底层的机器指令。随着计算机系统复杂度的不断提高,要求计算机指令系统的构造能使计算机的整体性能更快、更稳定。早期人们采用的优化方法是通过设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件指令实现,以此来提高计算机的执行速度,这样,指令就会比较繁杂,这种计算机系统就称为CISC。早期的CPU全部是CISC结构,它的设计目标是要用尽量少的机器语言指令来完成所需的计算任务。
20世纪80年代人们发展了另一种优化方法,其基本思想是尽量简化计算机指令,采用功能简单、能在一个时钟节拍内完成的基本指令,而把较复杂的功能用一段子程序来实现,这种计算机系统就称为RISC。RISC技术的精华就是通过简化计算机指令功能,缩短指令的平均执行周期,同时大量使用通用寄存器来提高子程序执行的速度,有利于并行计算应用和提高效率。
2. RISC与CISC的主要区别
RISC指令系统仅包含那些必要的、经常使用的指令,不经常使用的指令的功能往往通过基本指令组合来完成。所以,RISC完成特殊功能时,效率可能比较低,不过由于其有利于流水技术和超标量技术的应用,因此可以弥补这个不足。相反,CISC的指令系统比较丰富,一些特殊的功能都有对应的指令,因此处理特殊任务效率较高。
RISC对存储器操作相对简单,简化了对存储器访问的控制。而CISC的存储器操作指令较多,对存储器的访问有更多的指令直接操作,要求的控制逻辑也较复杂。由于指令简单,RISC汇编语言程序一般需要较大的主存空间,实现特殊功能时程序复杂,不易设计。相反,CISC汇编语言程序编程相对简单,计算及复杂操作的程序设计相对容易,效率较高。
RISC CPU的电路构成比CISC CPU简单,因此面积小,功耗也更低。CISC CPU电路复杂,同水平比RISC CPU面积大、功耗大。RISC CPU结构比较简单,布局紧凑规整,设计周期较短,比较容易采用一些并行计算的最新技术。CISC CPU结构复杂,设计周期长,技术更新难度大。从使用角度看,RISC微处理器结构简单,指令规整,性能容易把握,易学易用。CISC微处理器结构复杂,功能强大,实现特殊功能较容易。
3. 典型的RISC与CISC微处理器
Intel 80x86系列微处理器是典型的CISC体系结构。早期微处理器生产商一直在走CISC的发展道路,包括Intel、AMD、TI、Cyrix以及VIA等厂商。在CISC微处理器中,出发点是程序的各条指令是按顺序串行执行的,指令长度变化范围很大,实现并行机制比较困难,并且效率较低,执行速度比较慢,如1985年推出的Intel 80386和1984年推出的MC 68020,指令条数分别为111条和101条,寻址方式分别为11种和16种,指令为变长格式。
到20世纪80年代后期,RISC技术已经发展成为支持微处理器的主流技术,各厂商纷纷推出了32位RISC微处理器,如IBM公司的PowerPC和Power2、Sun公司的SPARC、HP公司的PA-RISC 7000、MIPS公司的R系列,以及基于ARM(advanced RISC machine)技术方案架构、采用ARM技术的微处理器。
1.3 微处理器及微型计算机发展简况
由于计算机技术的发展和大规模集成电路于1970年研制成功,1971年10月,美国Intel公司首先推出Intel 4004微处理器,这是实现4位运算的单片处理器,构成运算器和控制器的所有元件都集成在一片大规模集成电路芯片上,这是第一片微处理器。
从1971年第一片微处理器推出,微处理器经历了以下发展历程。
1. 4位微处理器
20世纪70年代初期出现4位微处理器,一般称为第一代微处理器,其典型产品有Intel 4004,工作频率为108kHz。
2. 8位微处理器
1974~1977年是8位微处理器时期,一般称为第二代微处理器,其典型产品有Intel公司的8080、8085,Motorola公司的6502,Zilog公司的Z80。基于这些微处理器,人们开发出了一系列微型计算机系统,开始了真正的微型计算机时代。直到目前,8位微处理器仍在一些领域应用,当然,其组成结构与早期的8位微处理器有了很大不同。
3. 16位微处理器
1978~1980年是16位微处理器时期,一般称为第三代微处理器,其典型产品有Intel公司的8086/8088、Zilog公司的Z8000、Motorola公司的MC 68000。以Intel 8086为代表的16位微处理器的出现,使微处理器和微型计算机系统性能产生了本质性的提高,其寻址能力、运算能力可以支持较复杂的系统和应用软件。尤其是基于8086微处理器和磁盘操作系统(disk operating system,DOS)的IBM个人计算机(personal computer,PC)的出现,使微型计算机的应用迅速发展,同时也推动了微处理器和微型计算机相关软硬件技术与产业的迅速发展。
4. 32位微处理器
20世纪80年代初期开始出现32位微处理器,之后十余年32位微处理器迅速发展,32位微处理器的发展又可分为几个阶段。
一般把1981~1992年这一阶段称为第四代微处理器的时期,这是最初的32位微处理器。32位微处理器的出现,使微型计算机技术和微型计算机系统功能上了一个台阶,触发了一系列微型计算机技术的发展,使微型计算机信息处理能力大幅提高,进而可以支持更加方便的人机交互方式,使微型计算机迅速在办公等信息处理领域得到应用,功能上可与传统中小型计算机相比,形成了当前微型计算机系统软硬件的框架体系。其典型产品有Zilog公司的Z80000、Motorola公司的MC 68020、Intel公司的80386和80486。
1993年Intel公司推出了32位微处理器Pentium,之后又推出Pentium系列的其他微处理器,通常认为其为第五代微处理器。其结构上与以往的微处理器有明显的变化,使微处理器的技术发展到了一个新的阶段,标志着微处理器完成了从CISC向RISC时代的过渡。Pentium微处理器具有64位的外部数据总线和32位的地址总线,微处理器内部采用超标量超流水线技术。Pentium芯片内采用双Cache结构(指令Cache和数据Cache),数据Cache采用回写技术,节省了处理时间,采用8级流水线和部分指令固化技术,芯片内设置分支目标缓冲器,采用动态分支程序预测技术,提高了流水线处理速度。Pentium系列处理器主频为66MHz时,其速度可达每秒1亿条指令。这一阶段的微处理器还有IBM公司的RISC微处理器PowerPC,以及AMD公司的K5/K6和Cyrix公司的M1等。
Intel公司在2000年推出的Pentium 4系列微处理器使微处理器整体性能进一步提升,主频可达1.3~3.8GHz,前端总线速度为400MHz,后又提升到533MHz、800MHz。引入双核技术,在支持双倍数据速率(double data rate,DDR)主存的基础上引入DDR2主存技术,流水线级数增加到了31级,进一步完善了分支预测机制,引入了更快的指令执行单元和更先进的数据预取算法。
5. 64位微处理器
2001年Intel公司发布了其第一款64位微处理器Itanium,在Itanium微处理器中体现了一种全新的设计思想,完全是基于平行并发计算而设计的。
2002年Intel公司发布了Itanium 2微处理器。Itanium 2微处理器是Intel公司的第二代64位系列产品,Itanium 2微处理器是以Itanium架构为基础建立与扩充的产品,可与专为第一代Itanium微处理器优化编译的应用程序兼容,并大幅提升了50%~100%的效能。Itanium 2微处理器系列以低成本、高效能提供高阶服务器、工作站的应用支持。
AMD公司2003年推出了兼容32
展开