微處理器外文文獻翻譯、中英文翻譯_第1頁
微處理器外文文獻翻譯、中英文翻譯_第2頁
微處理器外文文獻翻譯、中英文翻譯_第3頁
微處理器外文文獻翻譯、中英文翻譯_第4頁
微處理器外文文獻翻譯、中英文翻譯_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

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之前,工程師利用芯片或其他零部件開發(fā)計算機,從此揭開了微型計算機發(fā)展的序幕。1974年,利用Intel8088微處理開始生產(chǎn)家用電腦,它能處理8個二進制數(shù),1979年推出的Intel8088,第一次打開了市場。IBM公司運用這塊芯片推出了個人電腦,電腦發(fā)展經(jīng)歷了8088、80286、80386、80486、奔騰、奔騰II、奔騰III、奔騰4,所有這些微處理都是因特爾公司生產(chǎn)的,它們都是在8088的設(shè)計基礎(chǔ)上開發(fā)的,奔騰4能執(zhí)行8088上的任一套指令,但是它比8088快5000倍。從以下表格我們可以看出因特爾公司近幾年來所生產(chǎn)的各種處理器。(表格2)名 稱時間晶體管數(shù)量微 米時鐘頻率數(shù)據(jù)位寬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之間存在一定的關(guān)系,最大的時鐘頻率是生產(chǎn)進程的一個函數(shù),并且它在芯片內(nèi)會延遲,晶體管和MIPS之間有一定的關(guān)系,例如8088在5兆赫茲時就運行一次,但只是以0.33MIPS的速度來執(zhí)行(大于每15時鐘周期執(zhí)行一條指令)?,F(xiàn)在的處理器通常能達(dá)到每一個時鐘周期執(zhí)行兩條指令的速度,那種運算速度的提高與芯片上的晶體管數(shù)量有直接關(guān)系。微處理器的內(nèi)部結(jié)構(gòu):微處理器執(zhí)行告訴處理器該做什么的一系列的機器指令,在這個指令的基礎(chǔ)上,微處理器完成3個基本的功能:1、微處理器用它的算術(shù)邏輯單元,能夠完成像加減乘除這一系列算術(shù)操作,現(xiàn)在的微處理器包含有完整的浮點處理器,它們能夠完成非常復(fù)雜的浮點數(shù)的操作。2、微處理器能把數(shù)據(jù)從一個存儲單元移到另一個存儲單元。3、微處理器能做出決定,并且在那些決定的基礎(chǔ)上發(fā)出一系列新的指令。這些或許就是微處理器能完成的復(fù)雜的功能,但那些僅是它的3個基本功能,下面的圖表說明微處理器是如何執(zhí)行這些簡單功能的:微處理器有地址總線,它把地址送到儲存器,它還有一個數(shù)據(jù)總線,把數(shù)據(jù)送到儲存器或者從儲存器里接收數(shù)據(jù),它也有讀寫總線,告訴儲存器是想設(shè)置還是想取出這個定了位置的儲存單元,它還有時鐘線,告訴時鐘脈沖記錄處理器的結(jié)果,以及重新設(shè)置線把編碼器重新設(shè)置到零(或者其他什么的)以及重新執(zhí)行命令。我們假定這兒的位置和數(shù)據(jù)總線均為8位寬。下面是這個簡單微處理器的結(jié)構(gòu)表:(圖表1.1)圖表1.11、記錄器A,B和C 都是構(gòu)成觸發(fā)器的簡單的鎖存器。2、位置鎖恰好記錄器A,B和C。3、編碼計算器是具有特別遞增能力的鎖,當(dāng)接到指令時,它就增加1或者重新設(shè)置到零。4、數(shù)據(jù)邏輯單元可能和8位的加法器一樣簡單,或者它可能會做加、減、乘和除8位數(shù)值,我們假定這兒屬于后者。5、檢測記錄器是一個特殊的鎖,它能夠把經(jīng)過比較的數(shù)值鎖在算術(shù)邏輯單元里,算術(shù)邏輯單元就能正常的比較兩個數(shù)字,并判斷他們是否相等,是否一個大于另一個等,檢測記錄器也能正常鎖住一個階段加法的進位位,它把這些數(shù)值儲存在觸發(fā)器上,然后信息譯碼器能用這些數(shù)值來做出判斷。6、圖表中6個標(biāo)注了“3State”的方框,這些是三態(tài)緩沖器,它能傳遞a 1 ,a 0 或者它能基本上斷開它信息的輸出,它允許多個信息輸出,連接到電源線,但是他們中只有一個能準(zhǔn)確驅(qū)動a 1 或a 0 到流水線上去。7、信息記錄器和譯碼器要控制其余所有的部件。雖然這些圖表上沒有顯示這些結(jié)構(gòu),但是信息譯碼里將有控制線做以下事情:1、告訴A記錄器鎖定當(dāng)前數(shù)據(jù)總線上的數(shù)值2、告訴B記錄器鎖定當(dāng)前數(shù)據(jù)總線上的數(shù)值3、告訴C記錄器鎖定當(dāng)前數(shù)據(jù)總線上的數(shù)值4、告訴編碼計算器鎖定當(dāng)前數(shù)據(jù)總線上的數(shù)值5、告訴位地址記錄器鎖定當(dāng)前數(shù)據(jù)總線上的數(shù)值6、告訴信息記錄器 鎖定當(dāng)前數(shù)據(jù)總線上的數(shù)值7、告訴編碼計算器增加數(shù)值8、告訴編碼計算器重新設(shè)置到零9、激活6個三態(tài)緩沖器中的任意一個 10、告訴算術(shù)邏輯單元該執(zhí)行什么指令11、告訴檢測記錄器鎖定算術(shù)邏輯單元的檢測結(jié)果12、激活RD線13、激活WR線進入信息譯碼器的是那些檢測記錄器,時鐘流水線以及信息記錄器里面的二進制數(shù)字行大約十億條指令。隨機存貯器、只讀存貯器、位址和數(shù)據(jù)總線。讀、寫一般說來都與隨機存貯及只讀存貯有關(guān)。在我們的樣本微處理器中,我們有8位總線地址寬,8位數(shù)據(jù)總線寬,那意味著微處理器能存入(28)256個字節(jié),它一次能讀或?qū)?個二進字位,我們假定這個簡單的微處理器只讀存貯0開始的位置上有128個字節(jié)及隨機存貯在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論