微处理器外文文献翻译、中英文翻译

上传人:Q145****609 文档编号:12883142 上传时间:2020-06-01 格式:DOCX 页数:17 大小:47.10KB
返回 下载 相关 举报
微处理器外文文献翻译、中英文翻译_第1页
第1页 / 共17页
微处理器外文文献翻译、中英文翻译_第2页
第2页 / 共17页
微处理器外文文献翻译、中英文翻译_第3页
第3页 / 共17页
点击查看更多>>
资源描述
MicroprocessorsA microprocessor is a computation engine that is fabricated on a single chip. The first microprocessor was the Intel 4004, introduced in 1971 .The 4004 was not very powerful all it could do was add and subtract, and it could only do that 4 bits at a time. But it was amazing that everything was on one chip. Prior to the 4004, engineers built computers either from collections of chips or from discrete components. The 4004 powered one of the first portable electronic calculators.The first microprocessor to make it into a home computer was the Intel 8080, a complete 8-bit computer on the chip, introduced in 1974. The first microprocessor to make a real splash in the market was the Intel 8088 , introduced in 1979 and incorporated into the IBM PC. The PC market moved from the 8088 to the 80286 to the 80386 to the 80486 to the Pentium to the Pentium II to the Pentium III to the Pentium 4. All of these microprocessors are made by Intel and all of them are improvements on the basic design of the 8088. The Pentium 4 can execute any piece of code that ran on the original 8088, but it does it about 5,000 times faster!The following table shows the differences between the different processors that Intel has introduced over the years.Table1.2NameDateTransistorsMicron1ClockspeedData width2MIPS3808019746,00062 MHz8 bits0.648088197929,00035 MHz16 bits8-bit bus0.33802861982134,0001.56 MHz16 bits1803861985275,0001.516 MHz32 bits58048619891,200,000125 MHz32 bits20Pentium19933,100,0000.860 MHz32 bits64-bit bus100Pentium II19977,500,0000.35233 MHz32 bits64-bit bus300Pentium III19999,500,0000.25450 MHz32 bits64-bit bus510Pentium 4200042,000,0000.181.5 GHz32 bits64-bit bus1,700From this table you can see that, in general, there is a relationship between clock speed and MIPS. The maximum clock speed is a function of the manufacturing process and delays within the chip. There is also a relationship between the number of transistors and MIPS. For example, the 8088 clocked at 5 MHz but only executed at 0.33 MIPS(about one instruction per 15 clock cycles). Modern processors can often execute at a rate of two instructions per clock cycle. That improvement is directly related to the number of transistors on the chip.Inside a Microprocessor A microprocessor executes a collection of machine instructions that tell the processor what to do. Based on the instruction, a microprocessor does three basic things:1. Using its ALU (Arithmetic/Logic Unit), a microprocessor can perform mathematical operations like addition, subtraction, multiplication and division. Modern Microprocessors contain complete floating point processors that can perform extremely sophisticated operations on large floating point numbers.2. A microprocessor can move data from one memory location to another.3. A microprocessor can make decisions and jump to a new set of instructions based on those decisions.These may be very sophisticated things that a microprocessor does, but those are its three basic activities. The following diagram shows an extremely simple microprocessor capable of doing those three things:This microprocessor has an address bus that sends an address to memory, a data bus that can send data to memory or receive data from memory, an RD (read) and WR (write) line to tell the memory whether it wants to set or get the addressed location, a clock line that lets a clock pulse sequence the processor and a reset4 line that resets the program counter to zero (or whatever) and restarts execution. And lets assume that both the address and data buses are 8 bits wide here.Here are the components of this simple microprocessor (Figure 1.1):Figure 1.11. Registers A, B and C are simply latches made out of flip flops.2. The address latch is just like registers A, B and C.3. The program counter is a latch with the extra ability to increment by 1 when told to do so, and also to reset to zero when told to do so.4. The ALU could be as simple as an 8 - bit adder, or it might be able to add, subtract, multiply and divide 8 bit values. Lets assume the latter here.5. The test register is a special latch that can hold values from comparisons performed in the ALU. An ALU can normally compare two numbers and determine if they are equal, if one is greater than the other, etc. The test register can also normally hold a carry bit from the last stage of the adder. It stores these values in flip-flops and then the instruction decoder can use the values to make decisions.6. There are six boxes marked “3-State” in the diagram. These are tri-state buffers5. A tri-state buffer can pass a 1, a 0 or it can essentially disconnect its output. A tri-state buffer allows multiple outputs to connect to a wire, but only one of them to actually drive a 1 or a 0 onto the line.7. The instruction register and instruction decoder are responsible for controlling all of the other components.Although they are not shown in this diagram, there would be control lines from the instruction decoder that would:1. Tell the A register to latch the value currently on the data bus2. Tell the B register to latch the value currently on the data bus3. Tell the C register to latch the value currently on the data bus4. Tell the program counter register to latch the value currently on the data bus 5. Tell the address register to latch the value currently on the data bus6. Tell the instruction register to latch the value currently on the data bus7. Tell the program counter to increment8. Tell the program counter to reset to zero9. Activate any of the six tri-state buffers (six separate lines)10. Tell the ALU what operation to perform11. Tell the test register to latch the ALUs test bibs12. Activate the RD line 13. Activate the WR lineComing into the instruction decoder are the bits from the test register and the clock line, as well as the bits from the instruction register.RAM and ROM the address and data buses, as well as the RD and WR lines connect either to RAM or ROM-generally both. In our sample microprocessor, we have an address bus 8 bits wide and a data bus 8 bits wide. That means that the microprocessor can address (28) 256 bytes of memory, and it can read or write 8 bits of the memory at a time. Lets assume that this simple microprocessor has 128 bytes of ROM starting at address 0 and 128 bytes of RAM starting at address 128.ROM stands for read-only memory. A ROM chip is programmed with a permanent collection of pre-set bytes. The address bus tells the ROM chip which byte to get and place on the data bus. When the RD line changes state, the ROM chip presents the selected byte onto the data bus.RAM stands for random-access memory. RAM contains bytes of information, and the microprocessor can read or write to those bytes depending on whether the RD or WR line is signaled. One problem with todays RAM chips is that they forget everything once the power goes off. That is why the computer needs ROM.By the way, nearly all computers contain some amount of ROM (it is possible to create a simple computer that contains no RAM-many microcontrollers do this by placing a handful of RAM bytes on the processor chip itself-but generally impossible to create one that contains no ROM). On a PC, the ROM is called the BIOS (Basic Input/Output System). When the microprocessor starts, it begins executing instructions it finds in the BIOS. The BIOS instructions do things like test the hardware in the machine, and then it goes to the hard disk to fetch the boot sector. This boot sector is another small program, and the BIOS stores it in RAM after reading it off the disk. The microprocessor then begins executing the boot sectors instructions from RAM. The boot sector program will tell the microprocessor to fetch something else from the hard disk into RAM, which the microprocessor then executes, and so on. This is how the microprocessor loads and executes the entire operating system.Microprocessor Instructions Even the incredibly simple microprocessor shown here will have a fairly large set of instructions that it can perform. The collection of instructions is implemented as bit patterns, each one of which has a different meaning when loaded into the instruction register. Humans are not particularly good at remembering bit patterns, so a set of short words are defined to represent the different bit patterns. This collection of words is called the assembly language of the processor. An assembler can translate the words into their bit patterns very easily, and then the output of the assembler is placed in memory for the microprocessor to execute. If you use C language programming, a C compiler will translates the C code into assembly language.So now the question is, “How do all of these instructions look in ROM?” Each of these assembly language instructions must be represented by a binary number . These numbers are known as opcodes. The instruction decoder needs to turn each of the opcodes into a set of signals that drive the different components inside the microprocessor. Lets take the ADD instruction as an example and look at what it needs to do:During the first clock cycle, we need to actually load the instruction. Therefore the instruction decoder needs to:Activate the tri-state buffer for the program counterActivate the RD lineActivate the data-in tri-state bufferLatch the instruction into the instruction registerDuring the second clock cycle, the ADD instruction is decoded. It needs to do very little:Set the operation of the ALU to additionLatch the output of the ALU into the C register During the third clock cycle, the program counter is incremented (in theory this could be overlapped into the second clock cycle).Every instruction can be broken down as a set of sequenced operations like these that manipulate the components of the microprocessor in the proper order. Some instructions, like this ADD instruction, might take two or three clock cycles. Others might take five or six clock cycles.Microprocessor Performance The number of transistors available has a huge effect on the performance of a processor. As seen earlier, a typical instruction in a processor like an 8088 took 15 clock cycles to execute. Because of the design of the multiplier, it took approximately 80 cycles just to do one 16-bit multiplication on the 8088. With more transistors, much more powerful multipliers capable of single-cycle speeds become possible.More transistors also allow for a technology called pipelining6. In a pipelined architecture, instruction execution overlaps. So even though it might take five clock cycles to execute each instruction, there can be five instructions in various stages of execution simultaneously. That way it looks like one instruction completes every clock cycle.Many modern processors have multiple instruction decoders, each with its own pipeline. This allows for multiple instruction streams, which means that more than one instruction can complete during each clock cycle. This technique can be quite complex to implement, so it takes lots of transistors.The trend in processor design has been toward full 32-bit ALUs with fast floating point processors built in and pipelined execution with multiple instruction streams. There has also been a tendency toward special instructions that make certain operations particularly efficient. There has also been the addition of hardware virtual memory support and L1 caching on the processor chip. All of these trends push up the transistor count, leading to the multi-million transistor powerhouses available today. These processors can execute about one billion instructions per second!微处理器微处理器是建在一块芯片上的一个计算器,1971年因特尔公司推出世界上第一款微处理器Intel4004。Intel4004功能不齐全,它只能做加减,并且一次只能处理4位,但令人吃惊的是一切都在一块芯片上。在Intel 4004之前,工程师利用芯片或其他零部件开发计算机,从此揭开了微型计算机发展的序幕。1974年,利用Intel8088微处理开始生产家用电脑,它能处理8个二进制数,1979年推出的Intel8088,第一次打开了市场。IBM公司运用这块芯片推出了个人电脑,电脑发展经历了8088、80286、80386、80486、奔腾、奔腾II、奔腾III、奔腾4,所有这些微处理都是因特尔公司生产的,它们都是在8088的设计基础上开发的,奔腾4能执行8088上的任一套指令,但是它比8088快5000倍。从以下表格我们可以看出因特尔公司近几年来所生产的各种处理器。(表格2)名 称时间晶体管数量微 米时钟频率数据位宽MIPS3808019746,00062 MHz8 位0.648088197929,00035 MHz16位8-位总线0.33802861982134,0001.56 MHz16位1803861985275,0001.516 MHz32位58048619891,200,000125 MHz32位20奔腾19933,100,0000.860 MHz32位64-位总线100奔腾II19977,500,0000.35233 MHz32位64-位总线300奔腾III19999,500,0000.25450 MHz32位64-位总线510奔腾4200042,000,0000.181.5 GHz32位64-位总线1,700从这个表中,大体可以看出时钟频率和MIPS之间存在一定的关系,最大的时钟频率是生产进程的一个函数,并且它在芯片内会延迟,晶体管和MIPS之间有一定的关系,例如8088在5兆赫兹时就运行一次,但只是以0.33MIPS的速度来执行(大于每15时钟周期执行一条指令)。现在的处理器通常能达到每一个时钟周期执行两条指令的速度,那种运算速度的提高与芯片上的晶体管数量有直接关系。微处理器的内部结构:微处理器执行告诉处理器该做什么的一系列的机器指令,在这个指令的基础上,微处理器完成3个基本的功能:1、微处理器用它的算术逻辑单元,能够完成像加减乘除这一系列算术操作,现在的微处理器包含有完整的浮点处理器,它们能够完成非常复杂的浮点数的操作。2、微处理器能把数据从一个存储单元移到另一个存储单元。3、微处理器能做出决定,并且在那些决定的基础上发出一系列新的指令。这些或许就是微处理器能完成的复杂的功能,但那些仅是它的3个基本功能,下面的图表说明微处理器是如何执行这些简单功能的:微处理器有地址总线,它把地址送到储存器,它还有一个数据总线,把数据送到储存器或者从储存器里接收数据,它也有读写总线,告诉储存器是想设置还是想取出这个定了位置的储存单元,它还有时钟线,告诉时钟脉冲记录处理器的结果,以及重新设置线把编码器重新设置到零(或者其他什么的)以及重新执行命令。我们假定这儿的位置和数据总线均为8位宽。下面是这个简单微处理器的结构表:(图表1.1)图表1.11、记录器A,B和C 都是构成触发器的简单的锁存器。2、位置锁恰好记录器A,B和C。3、编码计算器是具有特别递增能力的锁,当接到指令时,它就增加1或者重新设置到零。4、数据逻辑单元可能和8位的加法器一样简单,或者它可能会做加、减、乘和除8位数值,我们假定这儿属于后者。5、检测记录器是一个特殊的锁,它能够把经过比较的数值锁在算术逻辑单元里,算术逻辑单元就能正常的比较两个数字,并判断他们是否相等,是否一个大于另一个等,检测记录器也能正常锁住一个阶段加法的进位位,它把这些数值储存在触发器上,然后信息译码器能用这些数值来做出判断。6、图表中6个标注了“3State”的方框,这些是三态缓冲器,它能传递a 1 ,a 0 或者它能基本上断开它信息的输出,它允许多个信息输出,连接到电源线,但是他们中只有一个能准确驱动a 1 或a 0 到流水线上去。7、信息记录器和译码器要控制其余所有的部件。虽然这些图表上没有显示这些结构,但是信息译码里将有控制线做以下事情:1、告诉A记录器锁定当前数据总线上的数值2、告诉B记录器锁定当前数据总线上的数值3、告诉C记录器锁定当前数据总线上的数值4、告诉编码计算器锁定当前数据总线上的数值5、告诉位地址记录器锁定当前数据总线上的数值6、告诉信息记录器 锁定当前数据总线上的数值7、告诉编码计算器增加数值8、告诉编码计算器重新设置到零9、激活6个三态缓冲器中的任意一个 10、告诉算术逻辑单元该执行什么指令11、告诉检测记录器锁定算术逻辑单元的检测结果12、激活RD线13、激活WR线进入信息译码器的是那些检测记录器,时钟流水线以及信息记录器里面的二进制数字行大约十亿条指令。随机存贮器、只读存贮器、位址和数据总线。读、写一般说来都与随机存贮及只读存贮有关。在我们的样本微处理器中,我们有8位总线地址宽,8位数据总线宽,那意味着微处理器能存入(28)256个字节,它一次能读或写8个二进字位,我们假定这个简单的微处理器只读存贮0开始的位置上有128个字节及随机存贮在128开始的位置上有128个字节。ROM代表只读存贮器。ROM芯片是用来永久性收集预置字节的位总线告诉ROM芯片取哪个字节及放在哪条数据总线上。当RD线变化状态时,ROM芯片就会把被选择的字节呈现到数据总线上去。RAM代表随机存贮器,RAM包括信息字节微处理器能读或写给那些依靠RD或WR线是否注册的字节。RAM芯片的一个问题就是当断掉电源时,它上面的一切信息就不会保存下来那就是计算机需要ROM的原因。 顺便说一下,几乎所有的计算机都包括一定量的ROM(开发一个不包含RAM的简单电脑是可能的许多微控制器通过在处理器芯片本身上面放少量RAM字节就可以完成,但一般说来,一个不包含ROM的电脑是不可能的)。在PC机上,ROM被叫做BI0S(基本输入/输出系统)当微处理器开始运行时,它就开始执行它在BIOS中找到的指令。BIOS指令做一些检查机器硬件是否出故障的事情,然后此指令到硬盘上去获取引导程序扇区这个引导程序。扇区是另一个小程序,BIOS从磁盘上读取后把它存入RAM微处理器,然后开始从RAM上执行引导程序扇区的指令。引导程序将告诉微处理器到硬盘上去读取一些别的信息存贮到RAM。在那儿,微处理器然后执行等等,这就是微处理器读取和执行的整个操作系统。这儿显示的相当简单的微处理器将有它能执行的相当大数量的指令,这些指令作为二进制数字符来执行。其中的每一个都有不同的意思当被载入信息记录器时人类特别不善于记住二进字符,这些词语被叫做处理的汇编语言。汇编器能非常容易地把这些词语翻译成它们的字符,然后,汇编器的输出就被放在存贮器里供微处理器执行。如果你用C语言编程、C编译程序将把C编码译成汇编语言。那么现在问题就在于所有这些指令在ROM中如何呈现,每一个这些汇编语言指令都必须代表二进制的数。这些数字就叫做操作码,这个指令译码器需要将每一个Opcodes变成一套指令。它们的驱动微处器内部的不同部件,咱们用ADD指令做例子来看看需要做的一切。在第一个时钟周期中,我们需要准确的读取指令,因此指令解码器需要为简码计数器激活三态缓冲器,激活RD线,激活三态缓冲器里的数据线把指令锁定在指令记录器。在第二个时钟周期中,ADD指令被编译了,它几乎不需要做什么。把ALU操作看到加的位置上。把ALU的输出锁进C寄存器。在第三个时钟周期,编码的数量在递增,C理论上说,这可能与第二个时钟周期重叠每一个指令都会像那些以适当顺序伪造的微处理一样作为结果指令出故障,有些指令,像ADD命令,可能花二、三个时钟周期,另外的可能要花五、六个时钟周期。微处理器的操作: 可用的晶体管数量对处理器的操作有巨大的影响,正如早就预见到的像8088处理器里的主要指令花了15个时钟周期来完成,由于在8088上安装了乘法器,做一个16个二进制的乘法花了大约80个时钟周期。随着晶体管的增加,计算能力更强的乘法器具有单一周期的能力,更多的晶体管也考虑到一个叫做流水线技术,在一个流水线系统结构中,有些指令执行要重叠,因此尽管可能花5个时钟周期来执行一个指令。但可能有5个不同的进程的指令在同时执行,那样看起来好像一个指令完成每一个时钟周期。许多现代的处理器有多个指令解码器,每一个都有自己的流水线。这考虑到了多条指令,那意味着在每一个时钟周期中,不只完成一个指令,这个技术可能对于执行来说相当复杂,因此它运用了许多晶体管。在处理器设计过程中已趋向于32-bit算术逻辑单元。带有快速浮点处理器及各种指令的流水线,也趋向于特殊的指令,使某种操作特别有效,也有附有实质存贮的硬件及常于处理器芯片处的L1。所有这些趋向推动了晶体数,促成了数百万今天可用的晶体群。这些处理器每秒钟能执行大约十亿条指令。17
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!