版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
m'微处理器工作原理1.引言2.微处理器的结构3.微处理器指令4.微处理器的性能和发展趋势引言您在浏览本页面时使用的计算机便通过微处理器来完成其工作。微处理器是所有标准计算机的心脏,无论该计算机是桌面计算机、服务器还是笔记本电脑。您正在使用的微处理器可能是奔腾、K6、PowerPC、Sparc或者其他任何品牌和类型的微处理器,但是它们的作用大体相同,工作方式也基本类似。如果您曾经疑惑计算机中的微处理器是干什么用的,或者对各种类型的微处理器之间的差异感到迷惑,请继续阅读下面的内容。在本文中,您将了解到简简单单的数字逻辑电路技术如何让计算机完成诸如玩游戏或是对文档进行拼写检查的工作。微处理器(又称为CPU或中央处理单元)是装配在单颗芯片上的一个完整的计算引擎。第一颗微处理器是1971年问世的Intel4004。4004的能力不算强大_它只能执行加减运算,而且每次只能对4位的数据进行运算。但是它是一个很奇妙的产品,因为所有东西都集成在一颗芯片中。在4004出现之前,工程师们要么使用一堆芯片来制造计算机,要么使用零散部件来搭建出计算机(一次连接一个晶体管)。4004曾被用来生产第一款便携式电子计算器。<--04芯片>Ii<--使计算机进入寻常百姓家的第一款微处理器是Intel8080,它是一个完整的8位计算机芯片,于1974年问世。而迅速在市场中走红的第一款微处理器则是04芯片>Ii<--1979年推出的Intel8088,大概在1982年左右面世的IBMPC便使用了此微处理器。如果您熟悉PC市场及其历史,便会知道PC市场经历了从8088到80286、80386、80486,再到奔腾、奔腾II、奔腾III乃至奔腾4的发展过程。所有这些微处理器都是由英特尔制造的,而且都是对8088基本设计的改进。奔腾4可以执行最初的8088所能运行的所有代码,但是它的速度是8088的5000倍。-->Intel8080微处理器的发展过程:Intel下表可帮助您了解Intel在不同时间推出的不同处理器之间的差异。名称日期晶体管数量微米时钟频率数据宽度MIPS808019746,00062MHz8位0.648088197929,00035MHz16位8位总线0.33802861982134,0001.56MHz16位1803861985275,0001.516MHz32位58048619891,200,000125MHz32位20
奔腾19933,100,0000.860MHz32位64位总线100奔腾II19977,500,0000.35233MHz32位64位总线~300奔腾III19999,500,0000.25450MHz32位64位总线~510奔腾4200042,000,0000.181.5GHz32位64位总线~1,700奔腾4“Prescott”2004125,000,0000.093.6GHz32位64位总线~7,000数据来自Intel微处理器快速参考指南和TSCP基准测试成绩与此表有关的信息:什么是芯片?芯片又称集成电路。通常,它是一个很小、很薄的硅片,上面蚀刻有组成微处理器的晶体管。芯片可能只有2.5厘米见方大小,但是却包含几千万个晶体管。较简单的处理器可能在几毫米见方的芯片上刻有几千个晶体管。日期是该款处理器首次推出的年份。许多处理器会在首次发布之后在多年中不断推出具有更高时钟频率的型号。晶体管数量是指芯片上晶体管的数量。可以看到,芯片上包含的晶体管数量在逐年稳步上升。微米是指芯片上最细的电路的宽度(单位为微米)。可以用人的头发做个比较,头发的宽度为100微米。随着芯片外形尺寸不断缩小,晶体管数量却在不断增加。时钟频率是指芯片的最大时钟速度。我们将在下一节中详细介绍时钟频率。数据宽度是指ALU的宽度。8位的ALU可以对两个8位(8比特)数字进行加减乘除运算,而32位的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(算术/逻辑单元),微处理器可以执行数学计算。例如:加法、减法、乘法和除法。现代的微处理器包含完整的浮点处理器,它可以对很大的浮点数执行非常复杂的浮点运算。微处理器可以将数据从一个内存位置移动到另一个位置。微处理器可以做出决定,并根据这些决定跳转到一组新指令。微处理器能够执行许多非常复杂的工作,但是所有工作都属于这三种基本操作的范畴。下图显示了一个能够执行上述三种操作的非常简单的微处理器:砒眄t^mrrwarM三态缓冲区1三态砒眄t^mrrwarM三态缓冲区1三态'|缓冲区I程序1地址计数器1锁存器■三态 |三态1缰冲区1缓沖区■指令寄存認时钟■线路4复僮这是一个进行了最大程度简化的微处理器。此微处理器具有:一条地址总线(总线宽度可以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位的数据。我们假定这个简单的微处理器有128字节的ROM,其地址从0开始,此外还有128字节的RAM,其地址从128开始。<>ROM芯片ROM代表只读内存。ROM芯片使用永久性的预设字节进行了编程。地址总线通知ROM芯片应取出哪些字节并将它们放在数据总线上。当RD线的状态更改后,ROM芯片会将选择的字节放在数据总线上。RAM代表随机存取内存。它包含多个字节的信息,微处理器可以读取或写入这些字节,而具体操作取决于信号是由RD线路给出的还是WR线路给出的。RAM芯片的一个缺点是,在电源中断后,保存的所有信息都会消失。这也就是为何计算机需要使用ROM的原因。顺便说一下,几乎所有计算机都包含一定数量的ROM(可以制造出不包括任何RAM的简单计算机—许多微控制器便做到了这一点,方法是将少量的RAM字节放在处理器芯片自身中——但是,通常不_>ram芯片可能制造出不包含任何ROM的计算机)。在PC中,ROM称作BIOS(基本输入输出系统)。在微处理器启动时,它开始执行在BIOS中找到的指令。BIOS指令会执行对计算机中的硬件进行测试这样的工作,然后访问硬盘以读取启动扇区(有关详细信息,请参见硬盘工作原理)。该启动扇区是另一个小型程序,在将其从磁盘中读出后,BIOS将它存储在RAM中。然后,微处理器开始从RAM中执行启动扇区的指令。启动扇区程序会通知微处理器将其余指令从硬盘读入RAM,微处理器随后又会执行这些指令,以此类推。这就是微处理器加载和执行整个操作系统的过程。微处理器指令虽然前面例子中的微处理器非常简单,但是它仍然可以执行相当多的指令。指令集通过位模式的方式实现每一个位模式在加载到指令寄存器中后都有不同的含义。由于人们不能很好记住这些位模式,所以定义了一些简短的单词来表示不同的位模式。这些单词的集合称作处理器的汇编语言。汇编程序可以将这些单词轻松翻译成它们的位模式,然后会将汇编程序的输出放在内存中供处理器执行。以下是设计人员可以为例子中的微处理器建立的一组汇编语言指令:LOADAmem——将某个内存地址的数据加载到寄存器A中LOADBmem——将某个内存地址的数据加载到寄存器B中CONBcon——将一个常量值加载到寄存器B中SAVEBmem——将寄存器B的内容保存到某个内存地址SAVECmem——将寄存器C的内容保存到某个内存地址ADD——将A和B相加并将结果保存在C中SUB——将A和B相减并将结果保存在C中MUL——将A和B相乘并将结果保存在C中DIV——将A和B相除并将结果保存在C中COM——将A和B进行比较并将结果保存在测试寄存器中JUMPaddr——跳转到某个地址JEQaddr——如果相等则跳转到某个地址JNEQaddr——如果不相等则跳转到某个地址JGaddr——如果大于则跳转到某个地址JGEaddr——如果大于或等于则跳转到某个地址JLaddr——如果小于则跳转到某个地址JLEaddr——如果小于或等于则跳转到某个地址STOP——停止执行如果你读过C语言入门教程一文,那么会知道下面这段简单的C代码可计算5的阶乘(5的阶乘=5!=5X4X3X2X1=120):a=1;f=1;while(a<=5){f=f*a;a=a+1;}在程序执行末尾,变量f中包含了5的阶乘。汇编语言C编译器可将这段C代码编译为汇编语言。假定此处理器中RAM的地址从128开始,而ROM(包含汇编语言程序)的地址从0开始,那么对于我们这个简单的微处理器来说,该汇编语言看起来如下所示://假定a位于地址128处//假定F位于地址129处0 CONB1 //a=l;SAVEB128CONB1 //f=1;SAVEB1294LOADA128//如果a>5,则跳转到175CONB56COM7JG178LOADA129//f=f*a;9LOADB12810MUL11SAVEC12912LOADA128//a=a+1;13CONB114ADD15SAVEC12816JUMP4//进行循环,返回到比较部分17STOPROM那么,现在的问题是:所有这些指令在ROM中是什么样的?所有这些汇编语言指令必须以二进制数字的形式表示。为了简单起见,我们假定每条汇编语言指令具有一个唯一的编号,如下所示:LOADA-1LOADB-2CONB-3SAVEB-4SAVECmem-5ADD-6SUB-7MUL-8DIV-9COM-10JUMPaddr -11•JEQaddr-12• JNEQaddr -13•JGaddr-14•JGEaddr-15JLaddr-16JLEaddr-17STOP-18这些数字称作opcode(优化代码)。在ROM中,我们的小程序看起来如下所示://假定a位于地址128处//假定F位于地址129处地址opcode/值03//CONB1
1124//SAVEB128312843//CONB15164//SAVEB129712981//LOADA1289128103//CONB51151210//COM1314//JG171431151//LOADA12916129172//LOADB12818128198//MUL205//SAVEC12921129221//LOADA12823128243//CONB1251266//ADD275//SAVEC128281282911//JUMP43083118//STOP您可以看到,七行C代码变成了18行汇编语言,并且变成了ROM中的32个字节。解码指令解码器需要将每个opcode转变为一组能够驱动微处理器内部各个部件的信号。让我们以ADD指令为例,看看解码器都执行了哪些工作:在第一个时钟周期,我们需要实际载入该指令。因此,指令解码器需要:激活程序计数器的三态缓冲区激活RD线路激活data-in(读入数据)三态缓冲区将指令锁存在指令寄存器中在第二个时钟周期中,对ADD指令进行解码。需要做的工作很少:将ALU的操作设置为加法将ALU的输出锁存到C寄存器中在第三个时钟周期中,程序计数器会进行递增(理论上这个过程与第二个时钟周期是重叠进行的)。所有指令都会像这样分解成一组有序操作,按照正确的顺序操作微处理器的各个组件。有些指令(例如这条ADD指令)需要2或3个时钟周期即可完成。而其他指令则可能需要5或6个时钟周期才能完成。微处理器的性能和发展趋势可用晶体管的数量对处理器性能有巨大影响。如上所述,在8088这样的处理器中,通常要花费15个时钟周期才能执行一条指令。由于乘法器的设计方式,在8088上进行16位的乘法运算大约需要80个时钟周期。而晶体管越多,就越有可能在一个周期中执行更多的乘法运算。晶体管数量的增多还使我们能够使用一种称为流水线的技术。在流水线式的体系结构中,指令的执行过程是相互重叠的。所以,虽然需要花费5个时钟周期来执行每条指令,但是可以同时执行5条指令的各个阶段。这样,表面看起来在每个时钟周期内即可执行完一条指令。许多现代的处理器具有多个指令解码器,每一个都有自己的流水线。这样便存在多个指令流,也就是说每个时钟周期可以完成多条指令。但是这种技术实现起来非常复杂,因此需要使用大量的晶体管。发展趋势处理器设计的发展趋势主要是:完全32位的ALU(内置快速浮点处理器)和多指令流的流水线式执行方式。处理器设计的最新进展是64位ALU,预计在下一个十年中家用PC就会用上这种处理器。此外,还存在为处理器添加可高效执行某些操作的特殊指令(例如MMX指令)的趋势,以及在处理器芯片中增加硬件虚拟内存支持和L1缓存的趋势。所有这些趋势都进一步增加了晶体管的数量,导致现在的处理器包含数千万个晶体管。而这些处理器每秒大约可以执行十亿条指令!64位处理器64位处理器在1992年就已经开发成功,预计它们在21世纪将逐步成为主流产品。I英特尔和AMD都开发出了64位芯片,MacG5也是一款64位处理器产品。64位处理器具有64位ALU、64位寄存器、64位总线等等。要64位处理器的原因之一是它们具有更大的地址空间。32位芯片通常只能访问最大2GB或4GB的RAM空间。这听起来似乎是一个很大的空间,是因为当前的大多数家用计算机只配备了256MB到512MB的RAM。但是,对于服务器和运行大型数据库的计算机来说,4GB的内存空间限制是一个严重问题。而且,即使是家用计算机,如果按照当前趋势继续发展,也很快会遇到2GB或4GB限制这个问题。64位芯片则不存在上述限制,因为在可以预见的未来,64位RAM地址空间都可以说是一个无限大的地址空间一一2人64字节的RAM大概相当于十亿吉字节的RAM。凭借64位地址总线以及主板上宽阔的高速数据总线,64位计算机还可以为硬盘驱动器和显卡这样的设备提供更快的I/O(输入/输出)速度。这些特点可极大地提升系统的性能。服务器肯定会受益于64位技术,但是它对于普通用户有何意义呢?除了解除RAM限制之外,目前我们还不是很清楚64位芯片能够为普通用户提供那些切实的好处。但是它们可以更快地处理数据(能够计算很复杂的实数)。进行视频编辑和处理超大图像的人会受益于这种强大的计算能力。高端游戏也会从中受益,但是需要对它们进行重新编码以利用64位技术。而阅读电子邮件、浏览网络和编辑Word文档的人实际则不需要使用这种处理器。<--PageBreak-->0FFF或者FFFFFH是怎么转换2进制'如何知道他们的容量补充问题:例如30H到HHHHF他们之间的容量是怎么技术的在线等''请高手指教''回答:最佳答案30HFFFFH,有H后缀的数是十六进制数,十六进制数转换成二进制数,是将十六进制数的每一位都用四位二进制数取代就行。比如十六进制数30H,就是二进制数00110000B,类似十进制数,最高位的0无意义,可以去掉,此数为二进制数110000B。这里容量的说法不确切,在描述计算机存储设备容量时,都以十进制数大小来表述,单位有B,KB,MB,GB,TB等°1B就是一位信息(2人0),1KB就是1024位信息(2人10),1TB=1024GB1GB=1024MB1MB=1024KB1KB=1024B30HFFFFH,有H后缀的数是十六进制数,十六进制数转换成二进制数,是将十六进制数的每一位都用四位二进制数取代就行。比如十六进制数30H,就是二进制数00110000B,类似十进制数,最高位的0无意义,可以去掉,此数为二进制数110000B。这里容量的说法不确切,在描述计算机存储设备容量时,都以十进制数大小来表述,单位有B,KB,MB,GB,TB等°1B就是一位信息(2"0),1KB就是1024位信息(2"10),1TB=1O24GB1GB=1O24MB1MB=1O24KB1KB=1024BHex,16进制D,代表10进制O,代表8进制不过后面两个用的不8086的指令集MOV功能:把源操作数送给目的操作数语法:MOV目的操作数,源操作数格式:MOVr1,r2MOVr,mMOVm,rMOVr,dataXCHG功能:交换两个操作数的数据语法:XCHG格式:XCHGr1,r2XCHGm,rXCHGr,mPUSH,POP功能:把操作数压入或取出堆栈语法:PUSH操作数POP操作数格式:PUSHrPUSHMPUSHdataPOPrPOPmPUSHF,POPF,PUSHA,POPA功能:堆栈指令群格式:PUSHFPOPFPUSHAPOPALEA,LDS,LES功能:取地址至寄存器语法:LEAr,mLDSr,mLESr,mXLAT(XLATB)功能:查表指令语法:XLATXLATm算数运算指令ADD,ADC功能:加法指令语法:ADDOP1,OP2ADCOP1,OP2格式:ADDr1,r2ADDr,mADDm,rADDr,data影响标志:C,P,A,Z,S,OSUB,SBB功能:减法指令语法:SUBOP1,OP2SBBOP1,OP2格式:SUBr1,r2SUBr,mSUBm,rSUBr,dataSUBm,data影响标志:C,P,A,Z,S,OINC,DEC功能:把OP的值加一或减一语法:INCOPDECOP格式:INCr/mDECr/m影响标志:P,A,Z,S,ONEG功能:将OP的符号反相(取二进制补码)语法:NEGOP格式:NEGr/m影响标志:C,P,A,Z,S,OMUL,IMUL功能:乘法指令语法:MULOPIMULOP格式:MULr/mIMULr/m影响标志:C,P,A,Z,S,O(仅IMUL会影响S标志)DIV,IDIV功能:除法指令语法:DIVOPIDIVOP格式:DIVr/mIDIVr/mCBW,CWD功能:有符号数扩展指令语法:CBWCWDAAA,AAS,AAM,AAD功能:非压BCD码运算调整指令语法:AAAAASAAMAAD影响标志:A,C(AAA,AAS)S,Z,P(AAM,AAD)DAA,DAS功能:压缩BCD码调整指令语法:DAADAS影响标志:C,P,A,Z,S位运算指令集AND,OR,XOR,NOT,TEST功能:执行BIT与BIT之间的逻辑运算NOTr/语法:ANDr/m,r/m/dataORr/m,r/m/dataXORr/m,r/m/dataTESTr/m,r/m/datamNOTr/影响标志:C,O,P,Z,S(其中C与O两个标志会被设为0)NOT指令不影响任何标志位SHR,SHL,SAR,SAL功能:移位指令语法:SHRr/m,data/CLSHLr/m,data/CLSARr/m,data/CLSALr/m,data/CL影响标志:C,P,Z,S,OROR,ROL,RCR,RCL功能:循环移位指令语法:RORr/m,data/CLROLr/m,data/CL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 立春农事活动全解析
- 2024年合作开发合同的合作方式及分工
- 2024年修订版:高端精密仪器制造技术许可合同
- 2024年临时货车租赁合同
- 2024年修订:线上教育平台会员合同
- 2024年出租车行业维修救援合同
- 超市生鲜食品配送服务方案
- 艺术在生活中的体现模板
- 卵巢过度刺激综合征的护理
- 直播销售员培训
- 《中国心力衰竭诊断和治疗指南2024》解读
- GA/T 2138-2024法庭科学涉火案件电气物证检验技术规程
- 2024-2030年中国熊胆粉市场未来发展预测及投资前景分析报告
- 12J609防火门窗图集
- 《新媒体编创-图文短视频直播(微课版)》教案
- 2024-2030年中国数字嗅觉技术行业市场发展趋势与前景展望战略分析报告
- DL∕T 2041-2019 分布式电源接入电网承载力评估导则
- 多媒体课件设计与制作智慧树知到期末考试答案章节答案2024年佳木斯大学
- 钢琴调律专业申报表(含人才需求调研报告)
- 子宫内膜癌保留生育功能多学科诊疗中国专家共识
- 河北省石家庄2023-2024学年八年级上学期期中数学试题(有答案)
评论
0/150
提交评论