有关CPU的进展和汇编语言的实例设计.doc
《有关CPU的进展和汇编语言的实例设计.doc》由会员分享,可在线阅读,更多相关《有关CPU的进展和汇编语言的实例设计.doc(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、有关CPU的进展和汇编语言的实例设计【摘要】CPU (Central Processing Unit)是计算机的核心,负责处理、运算计算机内部的所有数据。本文研究了CPU的构成和原理,并介绍了与CPU关系密切的汇编语言,利用汇编语言编写了一下典型的实例。第一章是CPU和汇编语言的一些简介;第二章介绍了CPU的结构原理、控制方式和控制流程等方面的内容;第三章从CPU的历史入手,对CPU的发展前景进行了展望;第四章中总结了一些汇编语言的作用和特点;第五章中利用汇编语言编写了一些典型的实例来加深对汇编语言的认识。【关键字】CPU;汇编语言;实例设计【Abstract】CPU (Central Pro
2、cessing Unit) is the core of the computer, in responsible of dealing and calculating all the data inside the computer. In the passage, we study structure and principle of CPU,and introduce the assembly language which is close to the CPU utilization, and the typical example of assembly language. The
3、first chapter is a short introduction of CPU and assembly language. The second chapter is the CPU control mode and structural principle, control process etc. The third chapter starts from the history of CPU, and prospects the development of CPU. The fourth chapter summarizes some assembly language f
4、unctions and features. The fifth chapter using assembly language some typical examples to deepen the understanding of assembly language.【keywords】CPU;Assembly Language,;example design目录1引言12CPU的基本原理22.1CPU 的基本组成32.2CPU的工作原理43CPU的最新进展93.1CPU发展的简史93.2CPU的发展GPU和CPU的融合104汇编语言的作用和特点114.1汇编语言的作用114.2汇编语言的
5、主要特点125汇编语言典型实例设计165.1条件转移指令165.2算术运算指令185.3移位运算指令205.4综合实例216结束语24参考文献251引言CPU是中央处理单元(Central Processing Unit)的缩写,它可以被简称做微处理器(Microprocessor),不过经常被人们直接称为处理器(processor)。CPU是计算机的核心,其重要性好比大脑对于人一样,因为它负责处理、运算计算机内部的所有数据。CPU的发展可以说决定着微型计算机技术的发展。2计算机的工作是依靠机器语言来实现的,而机器语言由于编写的程序不易读、出错率高、难以维护等原因,不能得到广泛应用。在机器语言
6、的基础上,用助记符代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。由于在某些领域中汇编语言的特点较适合编写程序,因此汇编语言得到了广泛的应用。52CPU的基本原理 2.1 CPU 的基本组成 CPU 通常包含运算部件、寄存器组、微命令产生部件、时序系统等主要部件,由 CPU 内部的总线将这些部件连接起来,实现它们之间的信息交换。其中,运算部件和一部分寄存器属于传统运算器部分,另一部分寄存器、微命令产生部件、时序系统等则属于传统控制器部分。 2.1.1运算部件 运算部件的任务是对操作数进行加工处理。基本的运算部件
7、主要由三部分组成,如图 1-1 所示。 (1)输入逻辑 操作数可以来自各种寄存器,也可以来自 CPU 内部的数据线。每次运算最多只能对两个数据进行操作。(2)算术、逻辑运算部件 ALU (Arithmetic Logic Unit)是运算部件的核心,完成具体的运算操作。它的主要部件就是一个加法器,负责对两个操作数进行求和运算。(3)输出逻辑 运算结果可以直接送往接收部件,也可以经左移或右移后再送往接收部件,所以输出逻辑往往具有移位功能,常用移位门(多路选择器),通过斜位传送实现左移、右移或字节交换。 2.1.2寄存器组 计算机工作时,CPU 需要处理大量的控制信息和数据信息,例如对指令信息进行
8、译码,以便产生相应控制命令;对操作数进行算术或逻辑运算加工,并且根据运算结果决定后续操作,等等。因此,在 CPU 中需要设置若干寄存器,暂时存放这些信息。2.1.3微命令产生部件 计算机的工作体现为指令序列的连续执行,实现信息传送要靠微命令的控制,因此在 CPU 中设置微命令产生部件,根据控制信息产生微命令序列,对指令功能所要求的数据传送进行控制,且在数据传送至运算部件时控制完成运算处理。微命令产生部件可由若干组合逻辑电路组成,也可以由专门的存储逻辑组成。因此,产生微命令的方式也就分为组合逻辑控制方式和微程序控制方式两种。 2.1.4时序系统 计算机的工作常常是分步执行的,需要有一种时间信号作
9、为分步执行的标志,如周期、节拍等。节拍是执行一步操作所需的时间,一个周期可能包含几个节拍。这样,一条指令在执行过程中,根据不同的周期、节拍信号,就能在不同的时间发出不同的微命令,完成不同的操作。 周期、节拍、脉冲等信号称为时序信号,产生时序信号的部件称为时序发生器或时序系统,它由一个振荡器和一组计数分频器组成。振荡器是一个脉冲源,输出频率稳定的主振脉冲,也称时钟脉冲,为 CPU 提供时钟基准。时钟脉冲经过一系列计数分频,产生所需的节拍(时钟周期)信号或持续时间更长的工作周期(机器周期)信号。2.2 CPU的工作原理2.2.1运算器基本原理一ALU的组成利用集成电路技术,可将若干位全加器、并行进
10、位链、输入选择门等 3 部分集成在一块芯片上,称为多功能算术、逻辑运算部件 ALU。下面以一位ALU单元(图2-1)来分析。一位 ALU 单元可划分为 3 部分。 (1)一位加法器:包括由两个半加器构成的一位全加器和由与或非门构成的一位进位门。 (2)一位输入选择器:由一对与或非门构成。本位输入两个操作数iA、iB或者 Ai、Bi,4 个控制信号 S3、S2、S1、S0,可选择 16 种功能。 (3)控制门:用来选择 ALU 做算术运算或逻辑运算。当输入控制信号 M=0 时,开门接收低位来的进位信号 Ci-1,执行算术运算;当 M=1 时,关门不接收 Ci-1,执行逻辑运算,即按位进行运算,与
11、进位无关。二运算方法计算机中各种复杂的运算处理都可以根据算法分解为四则运算或基本的逻辑运算,而四则运算最终可以归结为加法运算。下面以定点加减法为例,讨论CPU中算法的逻辑实现。计算机中,带符号的数有原码、补码、反码等几种表示方法。原码加减运算复杂,而补码加减运算则比较简单,因而计算机中基本采用补码加减法。补码加减是指:操作数用补码表示,连同符号位一起运算,结果也用补码表示。补码加减所依据的基本关系是: (X+Y)补=X补+Y补(X-Y)补=X补+(-Y补)补码加减算法运算规则如下。 参与运算的操作数用补码表示,符号位作为数的一部分直接参与运算,所得运算结果即为补码表示形式。 若操作码为加,则两
12、数直接相加。 若操作码为减,则将减数变补后再与被减数相加。2.2.2寄存器与寄存器寻址方式PU是所有运算进行的地方,内存中的两个数不能直接进行运算,寄存器是为了完成运算提供“场地”的记忆单元。在指令中,指定操作数或操作数存放位置的方法称为寻址方式。其中寄存器寻址方式是一种简单快捷的寻址方式,源和目的操作数都可以是寄存器。寄存器寻址方式有以下两个主要优点, 从 CPU 的寄存器中读取操作数要比访问主存快得多,所需时间大约是从主存中读数时间的几分之一到几十分之一。因此在 CPU 中设置足够多的寄存器,以尽可能多地在寄存器之间进行运算操作,已成为提高工作速度的重要措施之一。 由于寄存器数远少于主存储
13、器的单元数,所以指令中存放寄存器号的字段位数也就大大少于存放主存地址码所需位数。采用寄存器寻址方式,可以大大减少指令中一个地址的位数,从而有效地缩短指令长度。这也就减少了读取指令的时间,提高了工作速度。表1通用寄存器的主要用途寄存器的分类寄存器主要用途通 用寄 存 器数据 寄存器AX乘、除运算,字的输入输出,中间结果的缓存AL字节的乘、除运算,字节的输入输出,十进制算术运算AH字节的乘、除运算,存放中断的功能号BX存储器指针CX串操作、循环控制的计数器CL移位操作的计数器DX字的乘、除运算,间接的输入输出变址寄存器SI存储器指针、串指令中的源操作数指针DI存储器指针、串指令中的目的操作数指针变
14、址寄存器BP存储器指针、存取堆栈的指针SP堆栈的栈顶指针指令指针IP/EIP标志位寄存器Flag/EFlag32位 CPU的段寄存器16位CPU的 段寄存器ES附加段寄存器CS代码段寄存器SS堆栈段寄存器DS数据段寄存器新增加的段寄存器FS附加段寄存器GS附加段寄存器2.2.3CPU时序控制方式 计算机的许多工作,如指令的执行常常需要分步进行,因此应在微命令的形成逻辑中引入有关的时间标志,即时序信号,使计算机的操作能在不同的时间段中有序地完成。很显然,这些操作是受时序信号同步控制的。计算机中还有一些操作,如系统总线上的一些数据传送则不受时序信号同步控制。我们将计算机的操作与时序信号之间的关系称
15、为时序控制方式。按照同步或非同步的关系,可将时序控制方式分为同步控制和异步控制两大类。在实际应用中常会发生许多变化,如在同步控制的基础上加入异步应答的方式等。一同步控制方式 同步控制方式是指用统一发出的时序信号对各项操作进行同步控制。这里的时序信号指的就是前述的周期、节拍、脉冲等信号;各项操作中有的需要在一段时间内进行,有的则需要在某个时刻定时完成。在同步控制方式中,操作时间被划分为许多长度固定的时间段,一个时间段就是一个节拍,也称时钟周期。每个时钟周期完成一步操作,至于一步操作要做哪些事,不同的机器有不同的安排。时钟周期作为基本的时序单位,一旦确定,便固定不变,这是同步控制方式的主要特点。C
16、PU 根据统一的时钟周期为指令的执行安排严格的时间表,各操作必须按时间表执行。同步控制方式的优点是时序关系简单,时序划分规整,控制不复杂,控制部件在结构上易于集中,设计方便。因此在 CPU内部、其他部件或设备内部,广泛采用同步控制方式。在系统总线上,如果各部件、设备之间的传送距离不太长,工作速度的差异不太大,或者传送所需的时间比较固定,也广泛采用同步控制方式。 同步控制方式的缺点是在时间的安排上可能不合理。因为各步操作实际所需的时间可能不同,如果将它们安排在统一的固定时钟周期内完成,必然要根据最长操作所需的时间来确定时钟周期的宽度,而对于需时较短的操作则存在着时间上的浪费。在这种情况下,为了合
17、理利用时间,系统总线上的传送操作也可采用异步控制方式来实现。 二异步控制方式 异步控制方式是指各项操作不受统一时序信号(如时钟周期)的约束,而是根据实际需要安排不同的时间。各操作之间的衔接、各部件之间的数据传送均采用异步应答方式。应答的双方分别称为主设备与从设备,主设备是指能申请并且掌握总线控制权的设备(主动的一方);从设备是指响应主设备要求的设备(被动的一方),从设备不能掌握总线权。应答过程由主设备启动。在这一过程中,首先由主设备申请使用总线,获得批准后主设备掌握总线控制权,向总线发送操作命令、总线地址等信息。之后,主设备向从设备提出传送要求,并且询问从设备是否准备好。从设备回答,如果还未准
18、备就绪,主设备便等待;如果从设备已经准备好,主设备便可与之进行数据传送,将数据送往从设备,或从从设备接收数据。从主设备提出申请到获得批准、从主设备发出询问到收到从设备回答等阶段所需的时间,以及实际传送时间都可根据需要而变化,体现了异步的含义。 异步控制方式的优点是时间安排紧凑、合理,能按不同部件、不同设备的实际需要分配时间;缺点是控制比较复杂。因此很少在 CPU 内部或设备内部采用异步控制方式,而是用它来控制某些场合下的系统总线操作。三联合控制方式所谓联合控制方式,是同步和异步控制方式的结合。对于不同的操作序列以及其中的每个操作,实行部分同意、部分区别对待的方式。亦即,把各操作序列中那些可以同
19、意的部分,安排在一个具有固定周期、节拍和严格时钟同步的时序信号控制下执行,而把那些难于统一起来,甚至执行时间都难于确定的操作另行处理,不用时钟信号同步,按照实际需要占用操作时间,通过“结束起始”方式和公共的同步控制部分衔接起来。现代计算机大多采用同步控制方式或联合控制方式。2.2.4CPU的控制流程计算机对信息进行处理是通过不断执行程序来实现的。程序是能完成某个确定算法的指令序列,所以计算机进行信息处理的过程就是不断地取指令、分析指令和执行指令这样一个周而复始的过程。CPU控制流程如图2-2所示,它由以下4步完成:(1)取指令。由程序计数器(PC)指出当前指令地址,通过执行“MAR(PC)”和
20、“Read”命令,从主存中取出指令。(2)分析指令。对取出的指令进行分析,指出它执行什么操作,产生相应的操作控制信号。如果参与操作的数据在主存中,则还需要形成操作数地址。(3)执行指令。根据指令分析得到的“操作命令”和“操作数地址”,按一定的算法行程相应的操作控制命令序列,通过运算器、存储器以及外部设备的具体执行,实现每条指令的功能。(4)对异常情况和某些请求的处理。当机器出现某些异常情况,此时有这些部件或设备发出“中断请求”信号,待执行完毕当前指令后,CPU相应该请求,中止当前执行的程序,转去执行中断服务程序。当处理完毕后,再返回源程序继续运行。2.2.5CPU的实例分析Pentium 微处
21、理器是 INTEL80x86 系列微处理器的第五代产品,其性能比它的前一代产品有较大幅度的提高。与相同工作频率下的 80486 相比,整数运算性能提高一倍,浮点运算性能提高近四倍。常用的整数运算指令与浮点运算指令采用硬件电路实现,不再使用微码解释执行,使指令的执行速度进一步加快。Pentium 微处理器之所以有如此高的性能,在于该微处理器体系结构采用了一系列新的设计技术,如双执行部件、超标量体系结构、集成浮点部件、64 位数据总线、指令动态转移预测、回写数据高速缓存、错误检测与报告等。1(1)超标量体系结构 Pentium 微处理器具有 3 条指令执行流水线:两条独立的整数指令流水线(分别称为
22、 U流水线与 V 流水线)与一条浮点指令流水线。两条整数指令流水线都拥有它们独立的算术逻辑运算部件,地址生成逻辑和高速数据缓存接口。每个时钟周期可以同时执行两条指令,因而相对同一频率下工作的 80486 来说,其性能几乎提高一倍。这种能够一次同时执行多条指令的处理器结构称为超标量体系结构。 (2)浮点指令流水线与浮点指令部件 浮点指令流水线具有八级,实际上它是 U 流水线的扩充。U 流水线的前四级用来准备一条浮点指令,浮点部件中的后四级执行特定的浮点运算操作并且报告执行错误。此外在浮点部件中,对常用的浮点指令(加、减、除)采用专用硬件电路执行,而不像其他指令由微码来执行。因此,大多数浮点指令都
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 有关 CPU 进展 汇编语言 实例 设计
限制150内