Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Piotr Gwizdała Generations of the computer processors Index 1. First generation processors……………………………………….2 2. The second generation processors – 80286....................................3 3. Third generation processors – 386.................................................5 4. Fourth generation processors.........................................................6 5. The 5th generation of the processors.............................................9 6. 6th generation – 686 processors....................................................11 7. The 7th generation processors – Pentium 4.................................13 8. 8th generation processors – 64bit processors..............................14 9. Multiple core processors generation.............................................15 10. Improvements and actualizations of the processor.....................16 11. The codenames of the processors..................................................17 12. Bibliography………………………………………………………18 1 1. First generation processors. In the beginning of the personal computers age, the IBM was the biggest PC assembler. The company chose the Intel’s chips and processors to be used in their PCs setting the standard for the next generations to come. a. 8086 and 8088 processors 8086 was introduced in 1978. The first big innovation in the 8086 family processors was the possibility to address 1MB of memory, due to 20 bit address bus. The 8086 had the 16 bit registers and 16 bit data bus that required the 16 bit motherboard, that at these times was quite expensive. Intel decided to release the, often called handicapped, version of 8086 called 8088. It had the 8bit data bus instead of 16bit which significantly lowered the price of motherboard and devices that could work with the processor. There was no virtual way to distinguish between those two processors. Both of them were running the 16bit software, and IBM was advertising both of them as a new generation processors. In fact, both of them could run the 16bit software, but 8088 due to the smaller data bus was working a little slower. But as a cheaper alternative to 8086 was a good decision from Intel’s side, especially taking into account the competition of Apple II – the IBM’s PC with Intel’s processor was a little cheaper. The interesting thing about the processors of the first generation is that 8086 appeared in 1978 and the first PC with it appeared in 1981, which is slightly different from what we have nowadays that the companies cooperate and release the working computer system on the same date together. To sum up, the 8088 was a bit slower than 8086. In both of them it was taking 12 cycles to finish every instruction and for example 8088 was working with the speed of 4.77MHz. The other thing worth noticing is that in reality 8086 was giving to the user 640kB of memory. The rest of 1MB address space was dedicated to operating system and other purposes. 2 Intel’s 8086 Intel’s 8088 AMD’s processor compatible with Intel’s 8088. b. 80186 and 80188 processors The first processor of 8018x series was 80186 introduced in 1982. The 80188 has the same relationship to 80186 as the 8086 to 8088. The main difference between the 8086 family is that 80186 family processors have most of the components integrated inside one chip. It let them work faster with the speed of 6MHz, but with the same efficiency of 12 cycles per each instruction. These processors were mainly used in embedded systems, due to it’s integrity and being suppressed soon by 80286. 80186 processor by Intel. 3 c. 8087 coprocessor It was a processor that was oriented at numerical only computing. Introduced in 1976 was often called the math processor or math chip. It was performing high-level math operation at many times the speed of the main processor. It was significantly improving the efficiency of the applications requiring a lot of computing. 2. The second generation processors – 80286 The second generation processors was a big step forward in the efficiency domain. The 80286 chip abbreviated to 286 was introduced in 1982. Together with it there was released the 80287 coprocessor, but in fact it was the same chip as 8087 but mad to be compatible with 286. The biggest innovations in the 286 processor were protected mode of execution, improved DMA controller, increased speed and efficiency, and some several versions of 286 including version for laptops. The main advantages of 286 were that it opened the new possibilities for programmers. The new 24bit data bus was allowing to address up to 16MB of memory. It was working way faster, started with 6MHz to reach in later versions the 25MHz. Not only the speed of execution was improved, but also the efficiency. The instruction was being executed in average of 4.5 cycles each. So for example 80186 at 6MHz would execute 500 thousand instructions during one second, whilst the 80286 also at 6MHz would execute 1333 thousand instructions during one second. The effective gain – 160%. The processors were still not requiring the cooling fan. But the Intel did not omit some significant mistakes in this family of processors. It was not possible to switch back from protected mode of execution to the real mode of execution. The only way to do it was by restarting the processor. The addressing even that was allowing to do the new kinds of software was not really used, as hardly any computer at the moment had 1MB of memory. The last problem was cooperation with 287 coprocessor that was quite inefficient. If the program was written in some way, the execution with the coprocessor could be even slower than the one without coprocessor. It was caused because of synchronization problems, as the coprocessor was the 4 same chip as 8087, it was working with different clock speed than the 286 processor causing synchronization problems. The AMD’s processor compatible with Intel’s 286 and Intel’s 286. 3. Third generation processors – 386 The next Intel’s processors generation was the generation of 32bit internal registers processors – the 386 series. There were many types of 386 processor to fit the market better. The main types were: a. 386DX – the first introduced by Intel. It was providing the corrected protected mode of execution and the completely new virtual mode that was allowing the programmers to do even more (like addressing to 64TB of virtual memory that was giving actually unlimited memory space) It was working with the speed of 16-33MHz offering the same execution efficiency as 286, plus the new programming possibilities. It also had the Memory Management Unit that was implementing the segmentation mechanism. The problem with this processors was that they were very expensive, so they were not very good marketing product. As earlier, Intel released the processor that was one step forward than the actual state of modern technology. They had to think about some another version of their powerful 386DX. 5 b. 386SX – cheaper version of DX with 24bit memory addressing (up to 16MB rather than 4GB as in 386DX). This processor was introduce as said before due to the market conditions. AMD’s and Cyrix’s processors were getting better and cheaper. Intel decided as earlier to reduce the address bus to 24bits which made the processors cheaper, but also slower. In the end the 386SX was the 3rd generation processor but with the performance level of 2 nd generation processors. The advantage it had was the compatibility with the new software. c. 386SL – laptop version of 386. This version of the processor had lower power consumption. It was also providing the means to implement the power management in the operating system by the Power Management Interrupt. d. 80387 Coprocessor – without synchronization issues – worked with the same clock speed as the main processor, but still it was almost the same old chip. Intel’s 386DX processor. 4. Fourth generation processors. The fourth generation of the processors was the first fully pipelined processor generation of Intel. The producer’s of the processors noticed that when the instruction is being executed, there are several stages like for example IF – Instruction fetch, ID – instruction decoding, EX – execution, MEM – access to the memory, WB – writing back the result of the instruction. In all the earlier generations there was always just one instruction in the processor being executed at the moment, that is when the instruction was at the stage let’s say MEM, all the other stages were waiting idle. The innovative idea was to introduce pipeline, that 6 would let more instructions to enter to the processor and be executed stage by stage like in the car’s assembly line in the factory. So, when 1st instruction is about to be finished, that is it is on WB stage, just behind it there is already 2nd instruction on MEM stage, behind it there is 3rd on EX stage, the 4th on ID stage and the 5th on IF stage. In the next clock cycle all the instructions move step forward, the 1st is being finished and disappears from processor and the 6 th instruction enters to the IF stage. With that manner every clock cycle there will be finished one instruction, even though execution of every each in particular lasts for 5 clock cycles. The processors using that technology were way faster than the non-pipeline ones. What is more, the 4 th generation processors were having the level 1 cache with 90-95% hit ratio. Some versions had also built-in math coprocessor. The clock speed was reaching up to 133MHz. The 4 th generation was a big step forward in efficiency field. a. Intel’s processors – 486 series 486DX was introduced in 1989. It not only provided all the 4th generation improvements, but was also compatible with the past processors. It had the built in math processor and 8kB external level 1 cache. 486DX2 was nearly identical to 486DX but it had implemented the frequency multiplier. It meant that the processor could work with the clock speed being the multiply of the FSB motherboard clock speed. It allowed the processors to work faster using the same speed of FSB. The level 1 cache was implementing a buffer between processor and slower memory. 486DX2 was running with the 2 times faster speed than the FSB. The 486DX4 released later was running 3 times faster, being also almost the same chip. Over that there were many variations of 486 by Intel: i486DX , 7 i486SL , i486DXL, i486SX (P23) , i486DX2 (P24), i486DX-S (P4S) , i486DX2-S (P24S), i486SX-S (P23S) , i486SXL, i486SX2, IntelDX4WB, i486DX2WB, i486DX2, 80486DX4… The main differences were the clock speed, the voltage and power management features, the size of cache and cache strategy, the clock speed multiplayer (DX2 and DX4) etc. The Intel also released some Overdrive processors to be able to update the existing 486 system. They were providing some additional instructions, bigger and better organized cache etc that resulted in better performance of updated system. b. AMD’s processors of 4th generation At that point the other companies were becoming stronger and closer to Intel’s processors. AMD’s 486 compatible processor named 5x86 was multiplying the system’s bus working at speed of 33MHz by 4 resulting in speed of 133MHz. It had built-in cache of 16kB supporting write-back strategy. By many, it was considered to be the fastest processor of the generation which was significant success for AMD. c. Cyrix processors The Cyrix processors were compatible with most of the motherboards designed for 486 processors. The Cyrix, similarly to AMD was using the confusing code numbers of the processors borrowed from Intel’s nomenclature. The Cyrix processors were less efficient, but they were much cheaper than the Intel’s originals, so after all they found themselves the place on the market, as the PCs were becoming more and more popular. 8 The Intel’s 486DX4, the AMD’s 486DX2-80, Intel’s 486DX2 and Cyrix’s 486SLC. All taking the names of Intel’s nomenclature. Intel could not obtain the copyright on the name of 486, so in the next generation resigned of continuing this name convention to avoid confusion in his clients. 5. The 5 th generation of the processors. As commented above, the Intel quit the naming convention and called it’s new processor with codename Pentium, released in 1992. It was the first Complex Instruction Set Computing type of processor (CISC) implementing the superscalar computing. The superscalar computing concept in Pentium processor was implemented by two pipelines (working similar as ones in 4th generation processors.) The first pipeline called U could execute all the instructions from the instruction set, whilst V could execute only the most simple, but yet the most frequently executed instructions. The result was that sometimes the Pentium processor was behaving like the two 486 processors (because of two pipelines) sharing the registers and system bus, executing the same program. If the instructions could be executed in parallel, that is if there was no hazard situation and one instruction could be executed by the pipeline V, the instructions were executed simultaneously. In not Pentium optimized code in around 20-30% of the time there were executed two instructions at the same time. Further optimizing could increase that rate. What is more, the 64bit data bus increased data exchange with RAM. The 9 registers remained 32bits. Later there were introduced some additional instructions for improving performance with multimedia processing, called MMX. The cache was divided into the cache of data and instruction, There were branch prediction mechanisms to cache instructions better, FPU unit was remade and it was working better and faster… but contained some bugs. a. 5th generation Intel models The first models were codenamed P5 and P54C were produced in technology of 0.80 and 0.60 micrometer. As mentioned earlier, these first Pentium processors were having a FPU bug. The bug was heavily criticized although it was occurring in about 1 over 9 billion divides with random numbers. But the mistake could be significant (up to 3rd significant digit). The worst thing was that when the bug was discovered, Intel said that they knew about it that created an outrage. The later Pentium models were produced in technology of 0.35 to 0.25 micrometer. Their clock speed was reaching the 300MHz in case of Pentium MMX. The Pentium processors in 5th generation started to be produced in 1993 and the last Pentium MMX was released in 1999. Pentium MMX was the first processor done in technology of 0.25 micrometer and with special set of Multimedia instructions, developed by Intel's Research & Development Center in Haifa, Israel. New 57 seven instructions operating on different data types (e.g. 32bit integer, as well as 8bit, 16bit and 64bit integers), if were having the software support like later DirectX, were improving the performance a lot. In later versions the level 1 cache was doubled from 16kB to 32kB. b. AMD’s 5th generation processors. The AMD’s processors were compatible with Pentium. The most important is the AMD K5, that at the stage of the project could be the very successful processor, but AMD lacked the experience in manufacturing the processors. In the end the ambitious project including speculative 10 instruction execution ended up with branch prediction unit 4 times larger than the one from Intel’s company but performing with the same efficiency. The project was closer in architecture to 6 th generation’s Pentium Pro, but it had the performance of the processors from the 5th generation. After all AMD learned a lot with that project, making the next AMD K6 a really good processor. AMD K5 processor, Pentium MMX and some Pentium family processors. 6. 6th generation – 686 processors The 686 processors represent a new generation with features not found in the previous generation units. The 686 processor family began when the Pentium Pro was released in November 1995. Since then, Intel has released many other 686 chips, all using the same basic 686 core processor as the Pentium Pro – released already in 1995. The processors among many new features included dividing the CISC instructions into simpler RISC instructions. Then the instructions were executed in parallel, if possible, by multiple execution units. The instructions could be even executed out of order. The speculative execution mechanism was used, and the advanced branch prediction to improve cache and speculative execution mechanisms. 11 a. Pentium Pro It was introduced after negotiations with Microsoft about their future products. Unfortunately Windows 95 was mainly 16bit. Pentium Pro started to be sold as NT and Unix dedicated processor. After all it’s performance was up to 35% higher for 32bit programs. Unfortunately it was just 20% faster in 16bit instruction programs, what considering it’s price blocked it’s early entrance to the market. It was also suffering from another FPU bug, while converting in some conditions the float to int. b. Pentium II It was introduced in 1997, produced in technology of 0.35 / 0.25 micrometer, with clock up to 300MHz. Contains MMX instruction set, but due to high heat production was placed in a slot instead of socket. Contains also level 2 cache outside the CPU. It was released in two other versions: low-end Pentium II Celeron and high-end Pentium II Xeon, but soon it was superseded by Pentium III. c. Pentium III It is similar to Pentium II but naturally works with higher clock speed. The first processors were made in 0.25 micrometer technology, and the last Pentium III reached 0.13 micrometers. It had the new set of instructions called SSE – Streaming SIMD Extensions. (SIMD – Single instruction Multiple Data). Provides many floating-point versions of the MMX instructions and more, which improves the multimedia processing. It required support from software, which was included starting from Windows 98 with its DirectX 6.1 that let the Pentium III show it’s very good efficiency. d. AMD K6, K6-2 and K6-3 AMD K6 is based on the Nx686 microprocessor that NexGen was designing when it was acquired by AMD. It was PIN – compatible with 12 Pentium (Socket-7) and included MMX instructions. Reached speeds of 300MHz having its L1 cache of 64kB. It became quite successful being a good and inexpensive alternative for Intel’s processors. The K6-2 included 21 new instructions – a response to Intel’s SSE, called 3D Now! and 64kB cache L1 plus up to 1024kB of L2 cache on the motherboard. K6-3 included integrated L2 cache, but still using cache on motherboard as L3 cache, that was the first widely used processor with 3 levels of cache. These processors became a real competition for Intel’s processors and encouraged AMD to try to take over the initiative by producing the processors having their proper socket connector – Athlon that became a big success. e. AMD Athlon and Athlon XP These were the first widely used AMD processors that used their own socket to connect to motherboard (not compatible with Intel). In first versions included external L2 cache of size 512kB. Later cache was integrated and reduced to 256kB (XP). The AMD finally fixed their biggest issue since a long time – they included in the processor the completely new FPU – triple issued and pipelined – very modern and effective at the moment. These processors also contained Intel’s SSE instructions. They were released also in economical version known as Duron with limited cache memory. 7. The 7 th generation processors – Pentium 4 Pentium 4 was Introduced in 2000, and started from 0,18 micrometers at 1.3GHz and reached 0.09 micrometers technology running 3.8GHz. It introduced new sets of SSE instructions: SSE2 and later SSE3. The L1 cache started from 8 to 16kB, L2 cache up to 1MB. These processors were the first ones with HyperThreading technology – simulating two processors in the system (virtual processor). Let’s two threads to really run at the same time (without time division) that was letting to use the execution units better. The Pentium 4 cores had the following 13 codenames: Willarnette – the first one, Northwood – there could be differed Mobile and Mobile Pentium 4 M versions, that were anyway consuming a bit too much energy as for mobile systems. Gallatin – also know as Extreme Edition with 2MB of L3 cache – for servers. Prescott and Prescott 2M (Extreme Edition) with 64bit instructions. Pentium 4 contained incredibly high number of transistors and was reaching very big clock speeds, that cause many problems with energy consumption and heat production. 8. 8th generation processors – 64bit processors. The idea of the 64bit processors is to operate on bigger portions of data that can improve the performance a lot, but only if the support from software is provided. The first 64bit processor was released in 2001 by Intel – Itanium. One year later it was improved to Itanium 2. In 2003 AMD released Athlon 64 and later Opteron for servers use. In 2004 Intel released versions of Pentium 4 that were having 64bit instructions. The race between processor’s giants continued. a. Itanium and Itanium 2 These Intel’s processors were dedicated to be used in advanced servers and workstations. They were the first processors with all 3 levels of cache integrated. Reached to 0.3 micrometer technology, more than 592 millions of transistors and 9MB of L3 cache integrated. The scalability of these processors was incredible. b. Athlon 64 and Athlon 64FX These processors were the first 64bit processors for desktop use. Instead of CPU communicating with memory and peripheries through the North Bridge, Athlon 64 communicates with memory directly. The main differences between Athlon 64 and Athlon 64FX are in size of cache and bus length. To compare with Itanium, Athlon 64 contained 68 to 114 millions of transistors, that is almost 10 times less! It contained 12-stage pipeline, L1 cache up to 1MB, SSE2 – new 144 instructions for sound and 14 graphics. The Athlon 64 was definitely strong and difficult to beat processor. There was also released the Opteron version which was version of AMD64 architecture processor for servers and workstations. Released in 2003. There is also the version with double core of this processor. Opteron unlike Intel’s Itanium supports a wide range of chipsets for motherboard, making it more flexible choice, that was a good marketing decision. 9. Multiple core processors generation As the Intel’s processors based on NetBurst core (the same as in Pentium 4 series) reached the barrier of 4GHz, they realized that the power consumption and the amount of heat produced is too high. Continuing in that way would effect in too expensive and too noisy system cooling and maintenance. The solution for now is to research towards processors which work with lower clock speed, but execute more instructions at the same time. Like multiple core processors. a. Pentium D At first it was exactly 2 Pentium 4 Prescott processors put in one chip module (year 2005). As soon as 9 months later the new version was released including some upgrades, but still consuming a lot of energy. As the Core 2 processors were released in middle 2006, and outperformed Pentium D, the project has been abandoned together with NetBurst architecture. Pentium D marked himself in the history as the first dual core general used processor. b. AMD Athlon 64 X2 AMD Athlon 64 X2 was released in 2007 and worked with speed up to 2.4GHz. Essentially it consists of two Athlon 64 processors with some control logic. There were different versions depending on cache memory. It is able to decode Intel’s SSE3 instructions – better compatibility with the software. Memory controller was integrated in the processor, and over all it was still compatible with Athlon 64 and Opteron sockets. 15 c. Cored Duo processors by Intel Intel Core Duo was released at the beginning of 2006 and it is 32bit processor with dual core. It has up to 2MB L2 cache shared between two cores, it contains arbiter that controls access to system bus and cache. Intel was announcing that future versions will have option of switching off one of the cores to save power. The interesting part is that it was the first Intel processor used in Apple computers. d. Core 2 Duo processors by Intel Core 2 Duo was released in the middle of 2006 and basically it is the 64bit version of Core Duo. It completely outperformed the Pentium processor family. The Intel released the processor in more versions differing in the number of cores inside the processor and the cache size (in Extreme Edition it was slightly bigger). There are available processors with two, four or even six cores in one chip. 10. Improvements and actualizations of the processor. In order to improve performance of the CPU without replacing it and without changing other parts of the computer, we can think about better cooling and overclocking, which especially with several models of AMD and few of Intel can be a very efficient alternative. But still it is risky. If we want to change the CPU, it can be way easier if we have chosen a good motherboard earlier. It is good to have the motherboard with the really modern socket, that we know that it will be still used in next few years, so after we want to update CPU we can buy the better one still compatible with our motherboard. In general OverDriving packages are not recommended, as they were mainly the marketing trick, selling the product of lower performance advertised as the new generation processor. What is more it is strongly recommended to wait for at least second release of the new generation of some processor, as the first ones are usually not working too well, having bugs, issues etc. 16 11. The codenames of the processors. The last thing is that when reading the professional literature we can many times get confused with nomenclature of the CPUs. The problem is that the name used before the release almost always was different from the name used at the release (the marketing name). We have to be aware of it, and know where to find the actual codenames and their marketing equivalents, as a lot of the professional press uses the codenames, as at the moment of writing the article, the marketing name was still unknown. 12. Bibliography a. Upgrading and Repairing PCs, 15th Anniversary Edition By Scott Mueller, free online book. b. www.en.wikipedia.org and www.pl.wikipedia.org 17