home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 2 / HACKER2.BIN / 366.PENTIUM.TXT < prev    next >
Text File  |  1993-04-20  |  16KB  |  328 lines

  1. Intel Pentium(TM) Processor Technical Backgrounder
  2.  
  3. Intel's Pentium(TM) Processor: The Next Generation of Power
  4.  
  5. The Pentium(TM) processor is the newest and most powerful member
  6. of Intel'sx86 family of microprocessors. While incorporating new
  7. features and improvements made possible by advances in
  8. semiconductor technology, the Pentium processor is 100% code
  9. compatible with previous members of x86 family, preserving the
  10. value of user's software investments.
  11.  
  12. The Pentium processor incorporates a superscalar architecture,
  13. improved floating point unit, separate on-chip code and
  14. write-back data caches, 64- bit external data bus, and other
  15. features designed to provide a platform for high-performance
  16. computing.
  17.  
  18. The State of Processor Design Art
  19.  
  20. In recent years, developments in the art of semiconductor design
  21. and manufacturing have made it possible to produce increasingly
  22. more powerful microprocessors in smaller and smaller packages.
  23. Chief among these developments has been the decreasing size of
  24. components. Microprocessor designers are now working with CMOS
  25. (complementary metal-oxide semiconductor) process technology
  26. with features of less than a micron (one- millionth of a meter)
  27. in size.
  28.  
  29. The use of sub-micron components allows designers to fit more of
  30. them on a chip. The number of transistors in each member of the
  31. x86 family has continued to grow, culminating in the Pentium
  32. processor, which is implemented in 0.8 micron CMOS technology
  33. and has 3.1 million transistors.
  34.  
  35. The increase in transistors has made it possible to integrate
  36. components that were previously external to the CPU (such as
  37. math coprocessors and caches) and place them on-board the chip.
  38. Placing components on-board decreases the time required to
  39. access them and increases performance dramatically. Another way
  40. to decrease the distance between components (and therefore
  41. increase the speed of communication between them) is to provide
  42. multiple levels of metal for interconnection. Intel's current
  43. microprocessor technology utilizes a 3 metal layer, the layout
  44. of which requires special computer-aided design tools.
  45.  
  46. The Pentium processor utilizes the latest in microprocessor
  47. design technology to provide performance comparable to that of
  48. alternative architectures used in scientific and engineering
  49. workstations, while maintaining compatibility with the immense
  50. installed base of software now available for the x86 family of
  51. microprocessors.
  52.  
  53. Intel's x86 family
  54.  
  55. The history of the personal computer industry is intimately
  56. associated with the history of Intel's x86 chip family. In 1985,
  57. Intel introduced the ground-breaking Intel386TM DX CPU, a 32-bit
  58. microprocessor that executed 3 to 4 million instructions per
  59. second (MIPS). Available in speeds ranging from 16 MHz up to 33
  60. MHz, the 80386 addresses up to 4 gigabytes of physical memory,
  61. and up to 64 terabytes of "virtual memory" (a technology
  62. borrowed from mainframe computers that allows systems to work
  63. with programs and data larger than their actual physical memory.)
  64.  
  65. The 80386 provided for true, robust multitasking and the ability
  66. to create "virtual 8086" systems, each running securely in its
  67. own 1-megabyte address space. Like its predecessors, the i386 DX
  68. microprocessor spawned a new generation of personal computers,
  69. which had the ability to run 32-bit operating systems and
  70. ever-more complicated applications, all the while maintaining
  71. compatibility with previous members of the x86 family.
  72.  
  73. In 1989, Intel shipped the Intel486TM DX microprocessor, which
  74. incorporated an enhanced 386-compatible core, math coprocessor,
  75. cache memory, and cache controller--a total of 1.2 million
  76. transistors--all on a single chip. Operating at an initial speed
  77. of 25MHz, the Intel486 DX CPU processed up to 20 MIPS. At its
  78. current peak speed of 50 MHz, the Intel486 DX CPU processes up
  79. to 41 MIPS. By incorporating RISC principles in its CPU core
  80. (specifically, instruction pipelining), the Intel486 DX CPU is
  81. able to execute most instructions in a single clock cycle. In
  82. spite of these powerful new features, the Intel486 DX
  83. microprocessor maintains 100% compatibility with previous
  84. members of the x86 family, thereby preserving customers'
  85. investment in software.
  86.  
  87. With the 1992 introduction of the Intel486TM DX2 microprocessor,
  88. Intel
  89.  
  90. increased the speed of the 486 family by as much as 70 percent.
  91. The DX2 family features a technology called "clock doubling,"
  92. which allows the processor to operate twice as fast internally
  93. as externally. The Intel486 DX2 CPU is nevertheless
  94. pin-compatible with the Intel486 DX processor. At its current
  95. peak speed of 66 MHz, the Intel486 DX2 CPU executes up to 54
  96. MIPS.
  97.  
  98. The Pentium processor is the next step in Intel's commitment to
  99. provide the highest possible performance at the best price,
  100. while maintaining compatibility with previous Intel processors.
  101.  
  102. First Superscalar x86 Compatible Processor
  103.  
  104. The heart of the Pentium processor is its superscalar design,
  105. built around two instruction pipelines, each capable of
  106. performing independently. These pipelines allow the Pentium
  107. processor to execute two integer instructions in a single clock
  108. cycle, nearly doubling the chip's performance relative to a
  109. Intel486 chip at equal frequency.
  110.  
  111. The Pentium processor's pipelines are similar to the single
  112. pipeline of the Intel486 CPU, but they have been optimized to
  113. provide increased performance. Like the Intel486 CPU's pipeline,
  114. the pipelines in the Pentium processor execute integer
  115. instructions in 5 stages: Prefetch, Instruction Decode, Address
  116. Generate, Execute, and Write Back. When an instruction passes
  117. from Prefetch to Instruction Decode, the pipeline is then free
  118. to begin another operation.
  119.  
  120. In many instances, the Pentium processor can issue two
  121. instructions at once, one to each of the pipelines, in a process
  122. known as " instruction pairing." In this case, the instructions
  123. must both be "simple", and the v- pipe always receives the next
  124. sequential instruction after the one issued to the u-pipe.  Each
  125. pipeline has its own ALU (arithmetic logic unit), address
  126. generation circuitry, and interface to the data cache.
  127.  
  128. While the Intel486 microprocessor incorporated a single 8 Kbyte
  129. cache, the Pentium processor features two 8K caches, one for
  130. instructions and one for data. These caches act as temporary
  131. storage places for instructions and data obtained from slower,
  132. main memory; when a system uses data, it will likely use it
  133. again, and getting it from an on-chip cache is much faster than
  134. getting it from main memory.
  135.  
  136. The Pentium processor's caches are 2-way set-associative caches,
  137. an improvement over simpler, direct-mapped designs. They are
  138. organized with 32-byte lines, which allows the cache circuitry
  139. to search only 2 32-byte lines rather than the entire cache. The
  140. use of 32-byte lines (up from 16- byte lines on the 486 DX) is a
  141. good match of the Pentium processor's bus width (64 bits) with
  142. burst length (4 chunks.)
  143.  
  144. When the circuitry needs to store instructions or data in a
  145. cache that is already filled, it discards the least recently
  146. used information (according to an "LRU" algorithm) and replaces
  147. it with the information at hand.
  148.  
  149. The data cache has two interfaces, one to each of the pipelines,
  150. which allows it to provide data for two separate operations in a
  151. single clock cycle. When data is removed from the data cache
  152. (and only then), it is written into main memory, a technique
  153. known as write-back caching. Write- back caching provides better
  154. performance than simpler write-through caching, in which the
  155. processor writes data to the cache and main memory at the same
  156. time (though the Pentium processor can be dynamically configured
  157. to support write-through caching).
  158.  
  159. To ensure that the data in the cache and in main memory are
  160. consistent with one another (especially a concern with
  161. multiprocessor systems), the data cache implements a cache
  162. consistency protocol known as MESI. This protocol defines four
  163. states, which are assigned to each line of the cache based on
  164. actions performed on that line by a CPU. By obeying the rules of
  165. the protocol during memory read/writes, the Pentium processor
  166. maintains cache consistency and circumvents problems that might
  167. be caused by multiple processors using the same data.
  168.  
  169. The use of separate caches for instructions and data works in
  170. conjunction with other elements of the Pentium processor's
  171. design to provide increased performance and faster throughput
  172. compared to the Intel486 microprocessor. For example, the first
  173. stage of the pipeline is Prefetch, during which instructions are
  174. obtained from the instruction cache. With a single cache,
  175. conflicts might occur between instruction prefetches and data
  176. accesses. Providing separate caches for instructions and data
  177. precludes such conflicts and allows both operations to take
  178. place simultaneously.
  179.  
  180. The Pentium processor also increases performance by using a
  181. small cache known as the Branch Target Buffer (BTB) to provide
  182. dynamic branch prediction. When an instruction leads to a
  183. branch, the BTB "remembers" the instruction and the address of
  184. the branch taken. The BTB uses this information to predict which
  185. way the instruction will branch the next time it is used,
  186. thereby saving time that would otherwise be required to retrieve
  187. the desired branch target. When the BTB makes a correct
  188. prediction, the branch is executed without delay, which enhances
  189. performance.
  190.  
  191. The combination of instruction pairing and dynamic branch
  192. prediction can speed operations considerably. For example, a
  193. single iteration of the classic Sieve of Eratosthenes benchmark
  194. requires 6 clock cycles to execute on the Intel486
  195. microprocessor. The same code executes in only 2 clock cycles on
  196. the Pentium processor.
  197.  
  198. Improved Floating Point Unit
  199.  
  200. The floating point unit in the Pentium processor has been
  201. completely redesigned over that in the Intel486 microprocessor.
  202. It incorporates an 8- stage pipeline, which can execute one
  203. floating point operation every clock cycle. (In some instances,
  204. it can execute two floating point operations per clock--when the
  205. second instruction is an Exchange.)
  206.  
  207. The first four stages of the FPU pipeline are the same as that
  208. of the integer pipelines. The final four stages consist of a
  209. two-stage Floating Point Execute, rounding and writing of the
  210. result to the register file, and Error Reporting. The FPU
  211. incorporates new algorithms that increase the speed of common
  212. operations (such as ADD, MUL, and LOAD) by a factor of 3 times.
  213.  
  214. Performance Improvements
  215.  
  216. The Pentium processor's new architectural features--its
  217. superscalar design, separate instruction and data caches,
  218. write-back data caching, branch prediction, and redesigned
  219. FPU--will enable the development of new applications software,
  220. in addition to improving the performance of current applications
  221. in a manner that is completely transparent to the end user.
  222.  
  223. Internally, the Pentium processor uses a 32-bit bus, like that
  224. of the Intel486. However, the external data bus to memory is
  225. 64-bits wide, doubling the amount of data that may be
  226. transferred in a single bus cycle. The Pentium processor
  227. supports several types of bus cycles, including burst mode,
  228. which loads large (256-bit) portions of data into the data cache
  229. in a single bus cycle. The 64-bit data bus allows the Pentium
  230. processor to transfer data to and from memory at rates up to 528
  231. Mbyte/sec, a more than 3-fold increase over the peak transfer
  232. rate of the 50 MHz Intel486 (160 Mbyte/sec).
  233.  
  234. Several instructions (such as MOV and ALU operations) have been
  235. hardwired into the Pentium processor, which allows them to
  236. operate more quickly. In addition, numerous microcode
  237. instructions execute more quickly due to the Pentium processor's
  238. dual pipelines. Finally, the Pentium processor features an
  239. increased page size, which results in less page swapping in
  240. larger applications.
  241.  
  242. The result of the Pentium processor's new architectural features
  243. and enhancements to the 486 architecture is performance
  244. improvement ranging from 3 to 5 times (5 to 10 times for
  245. floating point intensive applications) when compared to a 33 MHz
  246. 486 DX and 2.5 times when compared to the 66 MHz Intel486 DX2
  247. CPU.
  248.     
  249. Such dramatic performance improvements will meet the demands of
  250. computing in a number of areas: advanced multitasking operating
  251. systems that support graphical user interfaces, such as Windows
  252. NT, OS/2, and new Unix implementations; compute-intensive
  253. graphics applications such as 3-D modeling, computer-aided
  254. design/engineering (CAD/CAE),  large-scale financial analysis, 
  255. high-throughput client/server; handwriting and voice
  256. recognition; network applications; virtual reality; electronic
  257. mail that combines many of the above areas; and new applications
  258. yet to be developed.
  259.     
  260. Data Integrity
  261.     
  262. The Pentium processor employs a number of techniques to maintain
  263. the integrity of the data with which it is working. Error
  264. detection is performed on two levels: via parity checking at the
  265. external pins; and internally, on the on-chip memory structures
  266. (cache, buffers, and microcode ROM.)
  267.     
  268. For situations where data integrity is especially crucial, the
  269. Pentium processor supports Functional Redundancy Checking (FRC).
  270. FRC requires the use of two Pentium chips, one acting as the
  271. master and the other as the "checker". The two chips run in
  272. tandem, and the checker compares its output with that of the
  273. master Pentium processor to assure that errors have not
  274. occurred. The use of FRC results in an error detection rate that
  275. is greater than 99 percent.
  276.  
  277. The Pentium processor includes a number of built-in features for
  278. testing the reliability of the chip. These include: a Built-In
  279. Self Test that tests 70% of the Pentium processor's components
  280. upon resetting the chip; an implementation of the IEEE 1149.1
  281. standard (Test Access Port and Boundary Scan Architecture),
  282. which provides a standard interface for manufacturers to test
  283. the external connections to the Pentium processor; and Probe
  284. Mode which provides access to the software visible Pentium
  285. processor registers for the purpose of determining the current
  286. state of the processor.
  287.  
  288. The Pentium processor also provides performance monitoring
  289. features that will make it easier for developers to take fullest
  290. advantage of the Pentium processor's superscalar architecture.
  291. System developers will be able to monitor the "hit rates" of the
  292. instruction and data caches, as well as the length of time the
  293. Pentium processor spends waiting for the external bus, which
  294. will help in the optimal design of external memory. The ability
  295. to measure address generation interlocks and parallelism will
  296. help compiler authors develop the most effective methods for
  297. instruction scheduling.
  298.  
  299. So that system developers may design systems with different
  300. features for specific applications, the Pentium processor
  301. incorporates a System Management Mode (SMM) similar to that of
  302. the Intel386 SL architecture. Power management and security
  303. features are two areas for which SMM is useful.
  304.  
  305. High Performance While Maintaining Compatibility
  306.  
  307. The Pentium processor is a high-performance microprocessor that
  308. incorporates the latest state-of-the-art design principles to
  309. meet the needs of newly developing areas of applications
  310. software, while nevertheless maintaining complete compatibility
  311. with the $50 billion installed base of software currently
  312. running on members of the x86 family.
  313.  
  314. Users will experience dramatic performance improvements while
  315. running their current software, and can anticipate new
  316. applications that take advantage of the Pentium processor's
  317. high-performance features.
  318.  
  319.  
  320.  
  321. Intel486, i486, Intel386 and Pentium are trademarks of Intel
  322. Corporation.
  323.  
  324.  
  325.  
  326.  
  327.  
  328.