微处理器工作原理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微处理器工作原理

1. 引言

2. 微处理器的结构

3. 微处理器指令

4. 微处理器的性能和发展趋势 引言

您在浏览本页面时使用的计算机便通过微处理器来完成其工作。微处理器是所有标准计算机的心脏,无论该计算机是桌面计算机、服务器还是笔记本电脑。您正在使用的微处理器可能是奔腾、K6、PowerPC 、Sp arc 或者其他任何品牌和类型的微处理器,但是它们的作用大体相同,工作方式也基本类似。

如果您曾经疑惑计算机中的微处理器是干什么用的,或者对各种类型的微处理器之间的差异感到迷惑,请继续阅读下面的内容。在本文中,您将了解到简简单单的数字逻辑电路技术如何让计算机完成诸如玩游戏或是对文档进行拼写检查的工作。

微处理器(又称为CPU 或中央处理单元)是装配在单颗芯片上的一个完整的计算引擎。第一颗微处理器是1971年问世的Intel 4004。4004的能力不算强大_它只能执行加减运算,而且每次只能对4位的数据进行运算。但是它是一个很奇妙的产品,因为所有东西都集成在一颗芯片中。在4004出现之前,工程师们要么使用一堆芯片来制造计算机,要么使用零散部件来搭建出计算机(一次连接一个晶体管)。4004曾被用来生产第一款便携式电子计算器。

使计算机进入寻常百姓家的第一款微处理器是Intel 8080,它是一个完整的8位计算机芯片,于1974年问世。而迅速在市场中走红的第一款微处理器则是1979年推出的Intel 8088,大概在1982年左右面世的IBM PC 便使用了此微处理器。如果您熟悉PC 市场及其历史,便会知道PC 市场经历了从8088到80286、80386、80486,再到奔腾、奔腾II 、奔腾III 乃至奔腾4的发展过程。所有这些微处理器都是由英特尔制造的,而且都是对8088基本设计的改进。奔腾4可以执行最初的8088所能运行的所有代码,但是它的速度是8088的5000倍。

微处理器的发展过程:Intel

下表可帮助您了解 Intel 在不同时间推出的不同处理器之间的差异。

<--

-->Intel4004芯片 <-- -->Intel8080

数据来自Intel微处理器快速参考指南和TSCP基准测试成绩

与此表有关的信息:

∙日期是该款处理器首次推出的年份。许多处理器会在首次发布之后在多年中不断推出具有更高时钟频率的型号。

∙晶体管数量是指芯片上晶体管的数量。可以看到,芯片上包含的晶体管数量在逐年稳步上升。

∙微米是指芯片上最细的电路的宽度(单位为微米)。可以用人的头发做个比较,头发的宽度为10 0微米。随着芯片外形尺寸不断缩小,晶体管数量却在不断增加。

∙时钟频率是指芯片的最大时钟速度。我们将在下一节中详细介绍时钟频率。

∙数据宽度是指ALU的宽度。8位的ALU可以对两个8位(8比特)数字进行加减乘除运算,而3 2位的ALU可以计算32位的数字。8位ALU如果要对两个32位数字进行加法操作,必须执行四条相加指令,而32位ALU则只需要执行一条指令。很多情况下,外部数据总线的宽度与ALU 相同,但也有不同的情况。8088的ALU为16位,而总线为8位,而现代的奔腾处理器的数据总线宽度为64位,ALU为32位。

∙MIPS代表“每秒百万条指令”,是衡量CPU性能的粗略标准。对于现代CPU的许多工作,MIPS 指标在很大程度上已经失去了意义,但是您可以将它作为一个大致的量度,根据本栏中的数据来了解CPU的性能强弱。

从本表中可以看到,总体来说,时钟频率和MIPS之间存在一定关系。最大时钟频率与制造工艺和芯片内的延迟密切相关。此外,在晶体管数量和MIPS之间也存在一定联系。例如,8088的时钟频率为5MHz,但是只能以0.33MIPS的速度执行指令(大约每15个周期执行1条指令)。现代的处理器经常可以在每个时钟周期内执行两条指令。这种能力改进与晶体管的数量有直接关系,我们将在下一节中对此加以讨论。

微处理器的结构

为了理解微处理器的工作原理,首先看看它的内部结构和了解其工作逻辑会很有帮助。在这个过程中,您还可以了解到汇编语言——微处理器的固有语言——以及工程师们为了提高处理器速度所做的大量工作。

微处理器执行一组机器指令,这组指令可向处理器告知应执行哪些操作。微处理器就会根据指令执行三种基本工作:

∙通过使用ALU(算术/逻辑单元),微处理器可以执行数学计算。例如:加法、减法、乘法和除法。

现代的微处理器包含完整的浮点处理器,它可以对很大的浮点数执行非常复杂的浮点运算。

∙微处理器可以将数据从一个内存位置移动到另一个位置。

∙微处理器可以做出决定,并根据这些决定跳转到一组新指令。

微处理器能够执行许多非常复杂的工作,但是所有工作都属于这三种基本操作的范畴。下图显示了一个能够执行上述三种操作的非常简单的微处理器:

这是一个进行了最大程度简化的微处理器。此微处理器具有:

∙一条地址总线(总线宽度可以8位、16位或32位),用于向内存发送一个地址

∙一条数据总线(总线宽度可以是8位、16位或32位),能够将数据发送到内存或从内存取得数据

∙一条RD(读)和WR(写)线路,告诉内存它是希望写入某个地址位置还是获得某个地址位置的内容

∙一条时钟线路,将时钟脉冲序列发送到处理器

∙复位线路,用于将程序计数器重置为零(或者其他内容)并重新开始执行

在本例中,我们假定地址和数据总线的宽度都是8位的。

以下是这个简单的微处理器的各个组成部分:

∙寄存器A、B和C就是一些用触发器制造的锁存器。(有关详细信息,请参见布尔逻辑的应用一文的“边缘触发锁存器”部分。)

∙地址锁存器与寄存器A、B和C极其类似。

∙程序计数器也是一个锁存器,但是它有一种额外的能力,也就是能够在执行每条语句后将计数器加一,并在被告知应进行重置时将计数器重置为零。

∙ALU可以像一个8位加法器一样简单(有关详细信息,请参见布尔逻辑的应用一文中有关加法器的部分),也可以较为复杂,能够对8位的值进行加法、减法、乘法和除法运算。我们假定是后

面一种加法器。

∙测试寄存器是一种特殊的锁存器,可以存放在ALU中执行的比较运算的结果。ALU通常可以比较两个数字,并确定它们是否相等以及其中一个数字是否大于另一个数字等。测试寄存器通常还

可以保存加法器上一次计算产生的进位。它将这些值存放在触发器中,随后指令解码器可以使用

这些值做出决定。

∙图中有六个标记有“3-State”(三态)的方框。它们是三态缓冲区。三态缓冲区可以输出1、0或者彻底断开其输出(可以将其想像为一个将输出线从电路中彻底断开的开关)。三态缓冲区能够将

多种输出连接到电路中,但是线路上的某一个输出实际上代表的是1或0。

∙指令寄存器和指令解码器负责控制所有其他组件。

线,它们的作用是:

∙通知A寄存器锁存当前在数据总线上传递的值

∙通知B寄存器锁存当前在数据总线上传递的值

∙通知C寄存器锁存当前由ALU输出的值

∙通知程序计数器寄存器锁存当前在数据总线上传递的值

∙通知地址寄存器锁存当前在数据总线上传递的值

∙通知指令寄存器锁存当前在数据总线上传递的值

∙通知程序计数器进行递增

∙通知程序计数器重置为零

∙激活所有六个三态缓冲区(六条单独的线路)

∙通知ALU要执行的操作

∙通知测试寄存器锁存ALU的测试位

∙激活RD线路

∙激活WR线路

来自测试寄存器和时钟线路(以及指令寄存器)的数据位会进入到指令解码器中。

RAM和ROM

上一节中我们讨论了地址和数据总线,以及RD和WR线路。这些总线和线路连接到RAM或ROM——通

常是同时连接到二者。在我们作为例子的微处理器中,有一个宽度为8位的地址总线和一个宽度为8位的

数据总线。也就是说,该微处理器可以寻址(28) 256个字节的内存空间,并且可以向内存读取或写入8位

相关文档
最新文档