1、计算机硬件技术基础,授课教员李毅国防科技大学计算机学院,06届工学硕士 后勤工程学院自动化技术教研室 TEL:68575165(O) 986912 ,教材:计算机硬件技术基础,邹逢兴 编著,高等教育出版社,课程的性质、任务本课程是各专业的技术基础课,以Intel 8088/8086及80486,Pentium为样机,以应用为目的,通过课堂讲授、实验两个环节,熟练掌握微型计算机的工作原理,并能进行简单的底层软件编程与计算机应用硬件设计。 学习特点发展迅猛,但许多基本原理是相同的。侧重原理的学习,不过分深究具体的细节(如数百个 引脚并不一一进行研究)。次序进行了调整,选择和补充了一定内容。通过实验
2、,加深理解。,参考书目:,1、【微型计算机系统原理及应用】(第三版) 周明德著,清华大学出版社2、【INTEL 8086/8088 系列微型计算机及其应用】 张明达著, 中南工大出版社3、【IBM PC 汇编语言程序设计】 沈美明等,清华大学出版社4、【微型计算机技术】 田艾平等编著,清华大学出版社,总成绩考试60实验30平时10 平时:作业课堂纪律,为什么要学习这门课程?我对这门课程有什么希望?,第一章 微机发展、组成与工作原理,1.1 概述 1.2 Intel8086/8088的结构 1.3 外部设备,第一章 微机发展、组成与工作原理,1.1 概述 1.2 Intel8086/8088的结
3、构 1.3 外部设备,1.1 概述,1.1.1 计算机、微机发展简史 1.1.2 微机系统的三个层次 1.1.3 微机的分类 1.1.4 微机的体系结构 1.1.5 有关术语 1.1.6 微型计算机的组成及工作过程 1.1.7 微型计算机系统的主要性能指标 1.1.8 微型计算机的运算基础 1.1.9 微机发展的有关新技术,1.1.1 计算机、微机发展简史,一、计算机的发展过程计算机的发展是伴随着集成电路的发展而发展的,从二十世纪四十年代开始,集成电路技术得到了迅猛的发展,有电子管、晶体管、集成电路发展到现在的超大规模集成电路,为计算机的发展打下了坚实的基础。,1.1.1 计算机、微机发展简史
4、,、世界上第一台计算机ENIAC(第一代)1946年2月,美国研制成功 ENIAC (Electronic Numberical Intergrator And Caculator 爱尼克)。它由18000多个电子管、1500多个继电器等组成,重30吨,耗电150千瓦,占地170平方米,运算速度为每秒5000次。这是以电子管为逻辑元件的计算机,称为第一代计算机。从计算能力来看,不如现在的小计算器。 ENIAC的照片: (见下图),1.1.1 计算机、微机发展简史,2、第二代计算机是以晶体管为逻辑元件的计算机,其特点是体积小,重量轻,耗电少,工作可靠,运算速度达每秒几万至几十万次。,3、第三代计
5、算机是以集成电路为逻辑元件的计算机,其特点是体 积大为缩小,耗电极少,可靠性与速度明显提高。,4、第四代计算机是以大规模集成电路为逻辑元件的计算机,其 各方面性能进一步提高。,1.1.1 计算机、微机发展简史,5、计算机的分类 巨型机:运算速度达每秒上亿次。如我国研制的银河、曙光、神州等超级计算机。 大型机:速度和性能比巨型机稍低,其特点是有自己的专用操作系统。以上两类主要用于国防、能源、气象、航天等领域。 小型机:速度和性能再低一些,但其通用性强,应用软件丰富,适用于政府、企业、学校等领域。 工作站:常用于专门领域,如图形工作站。 PC机:即Personal Computer,个人计算机,其
6、通用性更强,广泛应用于各个领域。,1.1.1 计算机、微机发展简史,二、微机发展简史微机的核心是中央处理器CPU,CPU的发展代表了微机的发展,下面以最具代表性的Intel系列CPU为例说明。,、第一代CPU(位)1971年Intel公司推出了世界上第一个CPU:Intel4004,是用于计算器的4位微处理器,主频740KHz,1200个晶体管。,1.1.1 计算机、微机发展简史,、第二代CPU(位)从1972年到1977年,先后推出Intel8008、 8080、8085A等,主频800KHz至6MHz,含晶体管 2000至9000个。,3、第三代CPU(16位)1978年、1979年、19
7、82年,分别推出8086、 8088、80286,主频为4.77MHz至12.5MHz,含晶 体管2.9万至13.4万个。特别是1981年8088芯片 首次用于IBM PC机,从此开创了全新的PC时代。,1.1.1 计算机、微机发展简史,4、第四代CPU(32位)1985年的80386,主频33MHz,含27.5万个晶体 管;1989年的80486,是将80386和80387(数学协 处理器,支持浮点运算)及8KB高速缓存器Cache 集成在一个芯片内,并首次采用了RISC技术,其 性能较80386DX/80387的组合提高4倍,其主频逐 步提高到100MHz,单片集成了120万个晶体管。,1
8、.1.1 计算机、微机发展简史,、第五代CPU(64位)1993年推出Pentium(奔腾)处理器,即 80586,集成晶体管320万个,主频逐步提高 到166MHz ,实现了超标量体系结构,性能明 显提高;1995年Pentium Pro(多能奔腾)处 理器面世,俗称P6,集成550万个晶体管,主 频高达200MHz。,1.1.1 计算机、微机发展简史,之后,1996年的多能奔腾(MMX Pentium)处理器,MMX为Multi Media eXtended(多媒体扩展),增加了多媒体指令集(57条);1997年的奔腾(Pentium )采用了独特的双重独立总线结构,大大提高信息处理能力;
9、1999年的奔腾(Pentium ),又增加了70条新型多媒体指令SSE,动画、三维效果逼真, 500MHz的主频,集成了950万个晶体管;2000年的Pentium 4微处理器又新增了SSE2指令集(144条),给用户提供功能强大的服务:音频视频流、图形图像处理、3D、CAD、游戏等。主频1.43.4GHz,集成了17800万个晶体管。,Pentium4系列分为赛扬(Celeron)、主流奔腾(Pentium)和至强(Xeon)三个档次,分别针对低端市场、普通用户及高级图形工作站和服务器。2004年4月,又推出迅驰(Centrino)系列CPU (Pentium M),主要用于笔记本电脑。P
10、entium 4 Cenleron(赛扬):2.8GHzPentium 4 (奔腾): 1.43.6GHzPentium Xeon(至强):1.43.06GHzPentium-M Centrino(迅驰):0.91.6GHz另外:Intel公司在2002年7月启动了安腾CPU (Itanium 64位),主要用于高端产品。,1.1.1 计算机、微机发展简史,1.1.2 微机系统的三个层次,微处理器(Microprocessor)是微型计算机的核心部件,包括:算术逻辑部 件ALU、控制部件、寄存器组三个基本部分,由 一片或几片LSI、VLSI器件组成。,微机系统的三个层次,1.1.2 微机系统的
11、三个层次,微型计算机(Micro Computer)是以微处理器为核心,加上存储器、输入/输 出接口和系统总线组成的。将这几部分集成在一 个超大规模芯片上,称为单片机。,微型计算机系统(Micro Computer System)是以微型计算机为核心,配以相应的外设、 电源、辅助电路和控制微机工作的软件而构成的 完整的计算系统。软件分为系统软件(如操作系 统、语言处理程序等)和应用软件。,1.1.2 微机系统的三个层次,1.1.2 微机系统的三个层次,1.1.3 微机的分类,微机的分类,按构成分类:单片机、单板机、多板机,1.1.3 微机的分类,1.1.3 微机的分类,把CPU、内存、I/O接
12、口芯片装在多块电路板上,各印刷板插在主机板的总线插槽上,通过系统总线连接起来,构成多板机。 产品:IBM PC/XT、486机、Pentium机等90年代以来各院校“微机原理”和计算机硬件的实验机,多板机,冯.诺依曼计算机的工作原理可概述为: “存储程序” + “程序控制” 要点:1数据和程序以二进制形式不加区别地存放在存储器中2. 先将程序存入存储器中,再由控制器自动读取并执行,输 入 设 备,控制器,输 出 设 备,CPU,存储器,运算器ALU,1.1.4 微机的体系结构,1.1.5 有关术语,1. 位 ( bit ) 2. 字节 ( Byte ) 3. 字和字长 (word) 4. 位编
13、号 5. 指令、指令系统和程序 6. 寄存器 7. 译码器,1. 位 ( bit)指计算机能表示的最基本最小的单位在计算机中采用二进制表示数据和指令,故: 位就是一个二进制位,有两种状态,“0” 和 “1”,2. 字节 ( Byte )相邻的8位二进制数称为一个字节,1Byte8bit 如: 1100 00110101 0111,1.1.5 有关术语,3字和字长字是CPU内部进行数据处理的基本单位。,字长是每一个字所包含的二进制位数,常与CPU内部的寄存器、 运算装置、总线宽度一致。,1.1.5 有关术语,例 某CPU内含 8位运算器,则: 参加运算的数及结果均以 8位 表示, 最高位产生的进
14、位或借位在8位运算器中不保存, 而将其保存到标志寄存器中,字长是衡量CPU工作性能的一个重要参数。不同类型的CPU有不同的字长。如: Intel 4004 是 4 位8080 是 8 位8088/ 8086/80286 是 16 位80386/80486是 32 位,把一个字定为16 位, 1 Word = 2 Byte 一个双字定为32位 1 DWord = 2 Word= 4 Byte,4. 位编号为便于描述,对字节,字和双字中的各位进行编号。从低位开始,从右到左依次为 0、1、2,5. 指令、指令系统和程序一个CPU能执行什么操作,是工程人员设计和制造好的,是固定的,用户不能改变。指令是
15、CPU能执行的一个基本操作。如:取数、加、减、乘、除、存数 等指令系统是CPU所能执行的全部操作。不同的CPU,其指令系统不同。程序是用户在使用计算机时,为要解决的问题,用一条条指令编写的指令序列。构成程序的指令在存储器中一般都是顺序存放,要破坏这种顺序性,必须由转移指令操作。,6寄存器 寄存器是用来存放数据和指令的一种基本逻辑部件。,根据存放信息的不同,有指令寄存器、数据寄存器、地址寄存器等。,7译码器译码器是将输入代码转换成相应输出信号的逻辑电路。,指令是CPU能执行的一个基本操作; CPU的设计者对CPU的所有指令进行编码; 用户用编码形式的指令进行编程,程序存放在内存中; CPU从内存
16、取来编码形式的指令, 对指令进行译码,发出执行该指令功能所需的信号,根据译码内容的不同,可分为:指令译码器: 将指令代码转换成该指令所需的各种控制信号。地址译码器: 将地址信号转换成各地址单元相应的选通信号。,1) 构成部件 2) 工作过程,1.1.6 微型计算机的组成及工作过程,1) 构成部件,(1)总线,总线是连接多个功能部件的一组公共信号线微机中各功能部件之间的信息是通过总线传输,按信号的作用,总线分为三类:地址总线、数据总线、控制总线,三总线结构,地址总线 AB ( Address Bus) :单向 用来传送CPU输出的地址信号, 确定被访问的存储单元、I/O端口。,地址总线的条数 决
17、定CPU的寻址能力。 10根 210 1024 1K 20根 220 1024K 1M 32根 232 22 230 4G,数据总线 DB ( Data Bus ):双向用来在CPU与存储器、I/O接口之间进行数据传送。,数据总线的条数决定一次可最多传送数据的宽度。,8 根 一次传送 8位 16 根 一次传送 16位 32 根 一次传送 32位 64 根 一次传送 64位,控制总线CB ( Control Bus ) : 用于传送各种控制信号。,有的是CPU发出,如读控制信号、写控制信号;有的是发向CPU,如外设向CPU发出的中断申请信号。,(2) 中央处理器CPU,计算机的核心部件用来实现指
18、令的自动装入和自动执行,实现计算机本身的自动化。,(3) 存储器(内存)内存是存储程序和数据的部件,由地址译码器、内存单元等构成。,内存单元 内存单元的地址内存单元的内容对内存的读/写操作,内存单元存储信息的基本单元。每片内存芯片有若干个内存单元。每个单元可存储1位或多位等二进制数。,内存单元的地址为区分各内存单元,每个内存单元对应有一个地址。地址线上的数据经译码后只有唯一的内存单元被选中。,内存单元的内容每个内存单元所存储的二进制数据。,对内存的读/写操作CPU发出地址信号,选中相应的内存单元。若是读操作,CPU发出内存读控制信号,被选中的内存单元将其内容经数据总线送入CPU。若是写操作,C
19、PU发出内存写控制信号,CPU将欲写的内容经数据总线,写入被选中的内存单元。,(4)外设和输入/输出接口(I/O接口)外设的电信号、运行速度与CPU不匹配,不能与CPU直接相连,必须通过I/O接口与CPU相连。,键 盘 键盘接口 显示器 显卡 鼠 标 串行接口 网 络 网卡 打印机 并行接口 音箱、麦克风 声卡,I/O接口实例,I/O接口结构示意图,CPU通过对I/O端口进行读/写操作,实现对外设的控制。,I/O端口I/O端口的地址I/O端口的内容对I/O端口的读/写操作,I/O端口I/O接口内部通常有一个或多个寄存器,用以存放各种信息,称I/O寄存器或I/O端口。,I/O端口的地址为区分各I
20、/O端口,每个端口对应有一个端口地址。,I/O端口的内容,根据存放内容的不同可分为:状态端口,数据端口,控制端口,指I/O端口存放的二进制数据。,对I/O端口的读/写操作: (与内存的读/写操作相类似)CPU发出地址信号,选中相应的I/O端口。若是读操作,CPU发出I/O端口读控制信号,被选中的I/O端口将其内容经数据总线送入CPU。若是写操作,CPU发出I/O端口写控制信号,CPU将欲写的内容经数据总线,写入被选中的I/O端口中。,2)微机的工作过程计算机的工作原理是:“存储程序” + “程序控制”,一、微机工作过程的本质微机的工作过程其本质就是处理器执行程序的过程。程序是针对某项特定的任务
21、将若干条指令有机的组合在一起的一个整体。处理器逐条执行程序中的每一条指令,直至程序结束,就完成了指定的任务。可见:了解微机工作原理的关键就是要了解指令和指令执行的基本过程。,二、指令与程序概念1、指令指令是规定微机特定操作的命令。CPU根据指令来控制微机内部的各部分协调工作,以完成特定的操作。一种型号CPU的全部指令的集合就构成了它的指令系统,也代表了它所具备的处理能力。不同型号的CPU,指令系统也不同。指令的组成:操作码和地址码操作码指明特定操作的性质,如:算术运算地址码指明操作对象即数据的存放地址,2、程序程序是为解决某一问题而编写在一起的指令序列。程序一般分为三个层次: 机器语言程序二进
22、制代码表示的指令称为机器码指令。在计算机中,最终存放的可执行的指令都是这种形式。机器指令的集合称为机器语言,用它编写的程序为机器语言程序。优点:直接执行;缺点:繁、不直观、难记。 汇编语言程序用助记符代替机器语言指令,它们之间是一一对应的关系。用它写的程序为汇编语言程序,需汇编成机器指令才可执行。 高级语言程序高级语言是接近于自然语言和数学语言,如C语言等。用它写的程序需编译或解释成机器指令才可执行。,三、指令类别指令系统通常包括以下几类: 数据传送与交换类指令在寄存器、存储器、I/O端口之间进行数据传送与交换。这类指令最常用。 算术及逻辑运算类指令如:加、减、乘、除、移位、比较、逻辑与等指令
23、。 程序控制类指令主要包括转移指令和循环指令。转移指令分为无条件转移和条件转移指令。条件通常由CPU的标志寄存器给出,它反映当前CPU的工作状态。 CPU控制类指令如:停机、等待、锁定、CPU状态设置等指令。,四、指令与程序的执行一条指令的执行通常分为三步: 取指令:根据程序计数器PC的值从内存中取出当前指令,送至指令寄存器IR,之后PC自动加1,指向下一条指令的地址或下一字节地址;分析指令:对IR中的指令操作码译码,分析其指令性质。若指令要求操作数,则计算操作数地址;执行指令:取出操作数后,执行指令操作码规定的操作。根据指令的不同,还可能进行结果回写。程序的执行过程实际就是周而复始地执行以上
24、三步,直至程序结束。,取指令阶段( CPU读内存操作):,地址经地址寄存器 地址总线 地址译码器, 选中指令所在的内存单元,CPU发出内存读控制信号,指令从内存 数据总线 数据暂存器 指令寄存器,指令译码器对指令进行译码,由IP给出指令在内存的地址,标 志 寄存器,地址总线 AB,程序数据,数据总线 DB,控制总线 CB,地址译码器,、 指令1 指令2 指令3 指令4 、 、数据1 数据2 数据3 、,指令寄存器,数据暂存器,控制电路,指令译码器,地 址 寄存 器,指 令 指 针 寄存器,R1,R2,R3,R4,寄存器组,运 算 器,IP,五、程序执行举例程序的指令和数据存放在内存中。CPU与
25、内存之间的联系由三大总线实现,即地址总线由存储器地址寄存器MAR驱动,数据总线由存储器数据暂存器MDR关联,控制线由控制电路关联。下面给出一个假想模型机的示意图:,假想模型机的示意图,举例:在假想模型机中执行一个简单程序。 程序的内容:计算5CH+2EH,判结果是否溢出,若无溢出,结果写入内存0200H单元;若溢出,则停机。ORG 1000H 对应机器码 对应内存地址1: MOV A,5CH ;B0H 1000H;5CH 1001H2: ADD A,2EH ;04H 1002H;2EH 1003H3: JO 100AH ;70H 1004H;0AH 1005H;10H 1006H4: MOV
26、(0200H),A ;A2H 1007H;00H 1008H;02H 1009H5: HLT ;F4H 100AH,给出程序第一条指令MOV A,5CH的操作细节: 将PC初值1000H送至地址寄存器MAR PC值自动加1,指向下一个字节地址 MAR驱动地址总线,寻址内存1000H单元 CPU发读内存操作控制信号 将1000H中的B0H读出,送至数据暂存器MDR 将B0H(操作码)从MDR经内部总线送至IR ID对B0H译码,知:取某操作数送累加器A 将PC内容1001H送至地址寄存器MAR PC值自动加1,指向下一个字节地址 MAR驱动地址总线,寻址内存1001H单元 CPU发读内存操作控制
27、信号 将1001H中的5CH读出,送至数据暂存器MDR 将5CH(操作数)从MDR经内部总线送至A。,不同的指令,CPU的具体执行过程不同。 CPU 可执行的操作通常有数据传送、算术逻辑运算等等。,当一条指令需要从内存或I/O端口取得或存放数据时, CPU在执行阶段, 需对指令指定的内存单元或I/O端口进行读/写操作。,例 指令1:将寄存器R1与R3的内容相加,结果存在R3中。,指令1在CPU 内部即可完成,例 指令2:将内存中的数据2送至CPU的寄存器R2中,指令2的执行阶段包括一个到内存取数(即读内存)的过程。,例 指令3:将寄存器R3的内容送至数据3的内存单元中,指令3的执行阶段包括一个
28、向内存存数(即写内存)的过程。,当一条指令取走后, 指令指针寄存器会被修改成下一条要执行指令的地址, 这样,当一条指令执行后,又进入取指令阶段, 如此不断的重复。,微机的工作过程:取指令 执行指令 取指令 执行指令 、,举例:操作系统PC DOS启动过程,PC DOS启动过程(1)加电开机后进入系统的检测程序并执行该程序对系统的基本设备进行检测(ROM BIOS); (2)检测正常后从系统盘(一般是C盘)0面0道1扇区即逻辑0扇区读入Boot引导程序到内存的0000: 7C00处; (3)转入Boot执行之; (4)Boot判断是否为系统盘, 如果不是系统盘则提示;non-system dis
29、k or disk error Replace and strike any key when ready否则, 读入IBM BIO.COM和IBM DOS.COM两个隐含文件; (5)执行IBM BIO.COM和IBM DOS.COM两个隐含文件, 将COMMAND.COM装入内存; (6)系统正常运行, DOS启动成功。,小结:微型机计算机系统的基本结构,1.1.7 微型计算机系统的主要性能指标,1、字长( CPU内寄存器长度等)2、运算速度(CPU的工作频率)3、存储器容量(内存大小)4、外设扩展能力5、软件配置情况,1.1.7 微型计算机系统的主要性能指标,1、字长:是计算机内部一次可
30、以处理的二进制数码的位数,如8、16、32、64位。字长越长,数据精度就越高,处理速度越快,但硬件开销越大。,2、存储器容量:是衡量计算机存储信息量大小的重要指标,通常用字节表示。如8KBCache、256MB内存、40GB硬盘,一般说容量越大越好。,1.1.7 微型计算机系统的主要性能指标,3、运算速度一般用每秒能执行的指令条数来表示,而指令执行速度又由机器时钟周期决定,故主时钟频率越高,计算机运行速度越快。,4、外设扩展能力主要指配接各种外设的可能性、灵活性和适应性。扩展外设的种类、型号的范围、支持的程度将直接影响微机的综合性能,如显示分辨率、光驱、网络连接、打印机的型号等。,1.1.7
31、微型计算机系统的主要性能指标,5、软件配置情况软件配置是否齐全,直接关系到计算机性能和效率。如所能支持的操作系统及高级语言等能否满足应用要求,是否有丰富的应用软件可供选用。,1.1.8微型计算机的运算基础,在计算机中,所有的数据最终都是用二进制位 或来表示。为增强可读性和便于处理,采用 了一些数的表示方法。常用的数制有以下几种:,、十进制(D): 101D (以此为例)、二进制(B): 01100101B、八进制(Q): 145Q、十六进制(H):65H,一、数制,二、码制1、机器数和真值 机器数:在计算机中使用的,连同符号位一起数字化的数 真值:机器数所表示的真实值1011010153D01
32、10101B2、原码、反码、补码对有符号数,机器数常用原码、反码、补码表示。(以位字节数为例说明), 原码:最高位表示符号,数值位用二进制绝对值表示。例:+10101100101B-10111100101B,1.1.8微型计算机的运算基础, 补码:正数的补码与原码相同;负数的补码是将其对应的正数各位(含符号位)取反加(最低位加)得到。还原采用逆过程。例:-10110011011B, 反码:正数的反码与原码相同;负数的反码是将其对应的正数各位(含符号位)取反得到。还原采用逆过程。例:-10110011010B,1.1.8微型计算机的运算基础,注:BCD码和二进制码不能直接转换,而是要通过十进制码
33、 例:(0111 0011)BCD=73D=0100 1001B0111 0011B=115D=(0001 0001 0101) BCD,2、BCD码 压缩BCD码(又称组合BCD码)用一个字节的高位和低位各表示一位十进制数。如:10010011B表示十进制数93。 非压缩BCD码(又称未组合BCD码)用一个字节表示一位十进制数,高位常为0000,低位表示一位数。如:00001001B表示十进制数9。,1.1.8微型计算机的运算基础,3、ASCll码(美国信息交换标准代码)字母、数字、符号等各种字符都必须按照特定的规则用二进制编码才能在计算机中表示。ASCII码是一种全世界普遍采用的字符编码。
34、ASCII码用7位二进制编码表示128种字符。数字09的编码是01100000111001,它们的高3位均是011,后4位正好与其对应的二进制代码相符。 英文字母AZ的ASCII码从1000001(41H)开始顺序递增,字母az的ASCII码从1100001(61H)开始顺序递增,这样的排列对信息检索十分有利。,1.1.8微型计算机的运算基础,三、数的定点和浮点表示X=2JS S:X的尾数,表示X的全部有效数字 J:X的阶码,指出小数点的位置,值固定时表示定点数,值可变时表示浮点数 1.定点数 定点整数:J=0,S为纯整数,则小数点固定在数的最低位之后 定点小数:J=0,S为纯小数,则小数点固
35、定在数的最高位之前,1.1.8微型计算机的运算基础,2.浮点数处理混合小数,一般格式如下图(实际格式多种多样)尾数规格化:保证尾数的最高位是1,实际大小通过阶码调整举例:258.75的浮点表示 该格式浮点数能表示的数值范围:-1227-1 +(1-2-23) 227-1 该格式定点数能表示的数值范围:-231 +(231 1),1.1.8微型计算机的运算基础,四、计算机的运算 1.补码运算及溢出判断 XY补X补+Y补溢出:超出-128127 溢出判断:“双高位”法 异或操作:相同,结果为0;不同,结果为1 C1:最高数值位bn-2向符号位f(bn-1)的进位 C2:符号位f(bn-1)向进位位
36、C的进位 C1 C2 相同,无溢出;不同,有溢出。,1.1.8微型计算机的运算基础,2.BCD码运算及其十进制调整 BCD码加减运算时,每组4位二进制码表示的十进制数应遵循十进制运算规则 而计算机遵循二进制运算规则 当BCD码运算出现进位和借位时,结果就要出错十进制调整规则: 1.两个BCD数相加,若本位和大于9(1001),或虽不超过9但向高位产生了进位,则在本位作加6(0110)修正 2.两个BCD数相减,若本位差超过9,或虽不超过9但向高位有借位,则在本位做减6修正,1.1.8微型计算机的运算基础,80x86指令集主要包含三部分:8086标准指令集(90条)、8087浮点指令集(77条)
37、、多媒体扩展指令集(57条MMX指令、70条SSE指令、144条SSE2指令)。总指令数达500余条。MMX指令集:主要用于整数运算,解决图形描绘、数据压缩、音频处理等问题。SSE和SSE2指令集:主要用于:三维几何处理,获取更高水准的图形效果;三维物体及成像计算,改进动画及图像变形;以及视频图像压缩/解压缩、语音识别与处理等。,1、80x86指令集的发展,1.1.9 微机发展的有关新技术,2、流水线技术流水线结构是现代CPU设计的一项重要技术。将指令分解成若干步,每步都有相对独立的电路来处理,让各步操作重叠,从而实现多条指令的并行处理,提高处理速度。如:80486指令执行可分为六步:预取指令
38、、指令译码、地址生成、取操作数、执行指令、结果回写。所谓超标量技术是指在CPU内部集成了多条流水线,可在一个时钟周期内完成一条以上指令。Pentium以上的CPU均具有超标量结构,Pentium为2路超标量结构,Pentium4为3路超标量结构。,1.1.9 微机发展的有关新技术,3、高速缓冲存储器(Cache)技术Cache分级设计是目前CPU设计的主流思想。为提高运算速度,在CPU与主存储器之间增设小容量高速缓存Cache,其速度比主存快一个数量级。CPU运行时,通过Cache可将指令及相关的数据预先从主存取至Cache,提高了处理速度。指令与数据存放在一个Cache中,将导致二者的冲突。
39、从Pentium开始,采用指令Cache、数据Cache分开设计,且片内集成了多级Cache,处理速度更快。,1.1.9 微机发展的有关新技术,1.1.9 微机发展的有关新技术,4、动态执行技术动态执行技术是目前CPU采用的先进技术,主要用来优化CPU的流水线。其主要内容是分支预测和推测执行技术。即在分支指令执行前,预取分支指令的目标地址,避免因跳转指令造成的流水线空闲,提高流水线的效率。从Pentium开始,大部分的CPU都设置了硬件分支登记表,表中包含了CPU在执行指令时所遇到的条件分支程序的入口地址。,5、乱序执行技术乱序执行技术是配合超标量流水线工作的技术。它允许指令按照不同于程序中指
40、定的顺序发送给执行部件。其本质上是按数据流驱动原理而非指令流驱动原理,根据操作数的准备状态即谁先准备好先执行谁的原则,来决定一条指令是否立即执行。这样可以克服在执行一些会引起延时的指令时,可能会造成流水线工作停顿的问题,从而进一步提高CPU的处理速度。相关的硬件管理控制逻辑将保证正确的处理。,1.1.9 微机发展的有关新技术,6、RISC技术RISC(Reduced Instruction Set Computing)技术即精简指令集计算技术,其初衷是精简CPU指令的数目,简化芯片的复杂程度,使每条指令的执行速度更快。80486之后的CPU均注入了更多的RISC设计思想。RISC结构的CPU具
41、有以下特征:内部通用寄存器更多;采用操作数预取结构,减少内存访问;固定的指令长度;内置高性能的FPU;内置大容量的指令/数据Cache; 采用流水线技术;采用分支预测和乱序执行技术。,1.1.9 微机发展的有关新技术,作业,P37P381.4 衡量微机系统性能的主要指标有哪些?若某微机系统的运算速度为100MIPS,试问其平均指令周期为多长?1.8,1.10(一部分)1.111.181.20,Intel4004和采用4004的计算器,返回,IBM PC系列机,8088CPU,IBM PC机,IBM PC/AT机,IBM PC/XT机,返回,英特尔微处理器芯片,80386,Pentium,Pentium 4,返回,