42
Advanced Microprocessors Advanced Microprocessors Growth from 16 bits to 32 bits Growth from 16 bits to 32 bits did did not bring entirely new not bring entirely new architectures, as architectures, as did the change from 4 bits to 8 did the change from 4 bits to 8 bits, or the change from 8 bits to bits, or the change from 8 bits to 16 bits. 16 bits. This permits programs from earlier This permits programs from earlier microprocessors to run (usually a microprocessors to run (usually a lot faster) on the new-generation lot faster) on the new-generation microprocessor. microprocessor. The advanced microprocessors are The advanced microprocessors are very powerful computing devices. very powerful computing devices.

Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Embed Size (px)

Citation preview

Page 1: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Advanced Advanced MicroprocessorsMicroprocessors

Growth from 16 bits to 32 bits Growth from 16 bits to 32 bits did not did not bring entirely newbring entirely new architectures, as architectures, as did the change from 4 bits to 8 bits, did the change from 4 bits to 8 bits, or the change from 8 bits to 16 bits.or the change from 8 bits to 16 bits.This permits programs from earlier This permits programs from earlier microprocessors to run (usually a lot microprocessors to run (usually a lot faster) on the new-generation faster) on the new-generation microprocessor.microprocessor.

The advanced microprocessors are The advanced microprocessors are very powerful computing devices.very powerful computing devices.

Page 2: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

General Purpose General Purpose ComputersComputers

Typically, products which use these Typically, products which use these microprocessors are configured as microprocessors are configured as general-general-purpose computerspurpose computers. CPU is connected to a . CPU is connected to a bus along with memory, mass storage, bus along with memory, mass storage, general-purpose I/O, and a user interface. general-purpose I/O, and a user interface. The user interface include an graphic The user interface include an graphic display system and data entry system.display system and data entry system.

The general purpose architecture lets you The general purpose architecture lets you use a wide variety of general-purpose use a wide variety of general-purpose software to make the unit do the job you software to make the unit do the job you need to perform.need to perform.

Page 3: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Dedicated SystemDedicated System Dedicated systems with advanced Dedicated systems with advanced

microprocessors typically need a great microprocessors typically need a great deal of computing power. For example, deal of computing power. For example, the 32-bit microprocessors are very the 32-bit microprocessors are very popular for graphic display systems. popular for graphic display systems. A graphic presentation can be described A graphic presentation can be described as a multidimensional array with x and y as a multidimensional array with x and y dimensions describing the different points dimensions describing the different points of the display. The z axis is used to define of the display. The z axis is used to define attributes such as color and intensity. To attributes such as color and intensity. To manipulate these images, you must manipulate these images, you must quickly process multidimensional arrays.quickly process multidimensional arrays.

Page 4: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Numeric CoprocessorNumeric Coprocessor Frequently, advanced Frequently, advanced

microprocessors are supported by a microprocessors are supported by a numeric coprocessor. It perform such numeric coprocessor. It perform such arithmetic functions as add, subtract, arithmetic functions as add, subtract, multiply and divide on two variables.multiply and divide on two variables.

It returns a result much faster than a It returns a result much faster than a general-purpose CPU may also be general-purpose CPU may also be busy handling a display or managing busy handling a display or managing mass storage devicesmass storage deviceswhile the coprocessor is working.while the coprocessor is working.

Page 5: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Advanced Advanced MicroprocessorsMicroprocessors

Often products using advanced Often products using advanced microprocessors also require microprocessors also require sophisticated operating and sophisticated operating and application software.application software.All of this means that, to understand All of this means that, to understand and advanced microprocessor-based and advanced microprocessor-based system, you may require more system system, you may require more system knowledge than hardware knowledge than hardware knowledge.knowledge.

Page 6: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Multi-user and Multi-Multi-user and Multi-taskingtasking

One of the common applications for One of the common applications for advanced microprocessors is with advanced microprocessors is with multi-user and multi-tasking multi-user and multi-tasking operating systems.operating systems.A multi-user operating system allows A multi-user operating system allows more than one user to appear to use more than one user to appear to use the CPU at one time.the CPU at one time.Likewise, a multi-tasking operating Likewise, a multi-tasking operating system allows more than one task to system allows more than one task to appear to use the CPU at one time.appear to use the CPU at one time.

Page 7: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Multi-user and Multi-Multi-user and Multi-taskingtasking

When a microprocessor is used in this When a microprocessor is used in this mode, it is important to make sure that mode, it is important to make sure that the individual users or tasks do not have the individual users or tasks do not have access to the program performing the access to the program performing the switching between users or tasks.switching between users or tasks.

To do this, an advanced microprocessors To do this, an advanced microprocessors offer a special way of operating which is offer a special way of operating which is called called supervisory, protected, or supervisory, protected, or privileged modeprivileged mode. The advanced . The advanced microprocessor may have access to a microprocessor may have access to a number of special instruction, additional number of special instruction, additional registers and other features.registers and other features.

Page 8: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Privileged LayerPrivileged Layer

Kernel – most privilegedKernel – most privileged

System ServicesSystem Services

Operating SystemOperating System

Application Software – less Application Software – less privilegedprivileged

More Privileged

Page 9: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Multi-user and Multi-Multi-user and Multi-taskingtasking

Often Often virtual memory techniquesvirtual memory techniques is used is used where a software require access to large where a software require access to large quantities of data.quantities of data.These data are much larger than the These data are much larger than the amount of physical memory available to the amount of physical memory available to the processor. The additional memory space is processor. The additional memory space is really on a disk, but through sophisticated really on a disk, but through sophisticated memory addressing techniques. Advanced memory addressing techniques. Advanced microprocessors often include special microprocessors often include special instructions and internal hardware to instructions and internal hardware to ensure the programs work properly.ensure the programs work properly.

Page 10: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Intel X86 FamilyIntel X86 Family

During the late 1970s, Intel introduced During the late 1970s, Intel introduced the 8088 and 8086. Internally, these the 8088 and 8086. Internally, these two 16-bit microprocessors have two 16-bit microprocessors have identical architectures. The difference identical architectures. The difference between the two is the size of the between the two is the size of the external data bus.external data bus.

The 8088 has an 8-bit external data The 8088 has an 8-bit external data bus, and the 8086 uses a 16-bit bus, and the 8086 uses a 16-bit external data bus.external data bus.

Page 11: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

8088 and 80868088 and 8086

In 1981 IBM introduced a PC based on In 1981 IBM introduced a PC based on the Intel 8088.the Intel 8088.

The 8088 and 8086 evolved into faster The 8088 and 8086 evolved into faster versions with wider external data buses, versions with wider external data buses, versions with greater memory versions with greater memory addressing space, versions with addressing space, versions with advanced computing functions, and advanced computing functions, and versions which process 32-bit data versions which process 32-bit data words.words.Because these versions also have a very Because these versions also have a very similar architecture, they have a similar architecture, they have a common numbering system.common numbering system.

Page 12: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

80286 to 8048680286 to 80486

The 80286 followed the original The 80286 followed the original introductions, and it was soon introductions, and it was soon followed by the 80386 and then the followed by the 80386 and then the Intel 486.Intel 486.

The latest introduction broke the The latest introduction broke the numbering rule:numbering rule:It is simply known as the It is simply known as the PentiumPentium. . Often people speak of these Often people speak of these microprocessors by their last three microprocessors by their last three digits i.e. 286, 386, 486 digits i.e. 286, 386, 486

Page 13: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Major Attributes of the Major Attributes of the X86 X86

Scan page 230Scan page 230

Page 14: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

8088 and 80868088 and 8086

8086 and 8088 were introduced in 8086 and 8088 were introduced in the year 1978. When it came time to the year 1978. When it came time to pick a 16-bit microprocessor for the pick a 16-bit microprocessor for the first IBM PC, the Intel 8088 was first IBM PC, the Intel 8088 was chosen because its 8-bit data bus chosen because its 8-bit data bus made it easy to use the low-cost 8-bit made it easy to use the low-cost 8-bit peripheral devices built for use with peripheral devices built for use with the 8080/8085 and other 8-bit the 8080/8085 and other 8-bit microprocessors.microprocessors.

Page 15: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

PC/ATPC/AT The next major introduction was the Intel The next major introduction was the Intel

80286. IBM introduced the PC/AT (personal 80286. IBM introduced the PC/AT (personal computer/ advanced technology) version of computer/ advanced technology) version of its PC using the 286 in 1984. its PC using the 286 in 1984.

One of the features introduced with the 286 One of the features introduced with the 286 was was real and protected modesreal and protected modes of operation. of operation. In the In the realreal mode, the processor can address mode, the processor can address only 1 Mbytes of memory, whereas in the only 1 Mbytes of memory, whereas in the protectedprotected mode it can address 16 Mbytes. mode it can address 16 Mbytes.

Another new feature was the ability to work Another new feature was the ability to work with up to with up to 1Gbyte of virtual memory1Gbyte of virtual memory, and , and yet another feature added yet another feature added hardware hardware multitaskingmultitasking..

Page 16: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

8038680386

The 80386 was a major next step in the The 80386 was a major next step in the X86 family. The 80386 is a full 32-bit X86 family. The 80386 is a full 32-bit microprocessor. It has a 32-bit data bus microprocessor. It has a 32-bit data bus and a 32-bit address bus, and it uses 32-and a 32-bit address bus, and it uses 32-bit internal registers.bit internal registers.

The base 386 internal architecture is, in The base 386 internal architecture is, in many ways, very much like the 8088, many ways, very much like the 8088, 8086, and 286 architectures. The major 8086, and 286 architectures. The major difference in the base architecture is difference in the base architecture is that there are a few more registers and that there are a few more registers and some register sets are now 32 bit rather some register sets are now 32 bit rather than 16 bit.than 16 bit.

Page 17: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

386SX and 386DX386SX and 386DX

Intel introduced a special version of Intel introduced a special version of the 386 called 386SX. It uses a 16-bit the 386 called 386SX. It uses a 16-bit data bus. The original 80386 data bus. The original 80386 processor was renamed the 386DX. processor was renamed the 386DX. In addition to 32-bit processing, the In addition to 32-bit processing, the 386 microprocessors offered 386 microprocessors offered advanced virtual memory, advanced advanced virtual memory, advanced protected mode. And higher speed.protected mode. And higher speed.

Page 18: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

386SL, 386DX2, 386SL, 386DX2, 386DX4386DX4

Another variation of the 386DX is the 386SL. Another variation of the 386DX is the 386SL. This is a low-power version. The 386SL can This is a low-power version. The 386SL can operate on either 3 or 5Vdc and has special operate on either 3 or 5Vdc and has special power-management circuits which allow the power-management circuits which allow the processor to shut down when not being used. processor to shut down when not being used.

Other versions of 386 are the 386DX2 and Other versions of 386 are the 386DX2 and 386DX4. The DX2 version doubles the internal 386DX4. The DX2 version doubles the internal clock speed, thus speeding up many calculations clock speed, thus speeding up many calculations and operation. The I/O, however continues to and operation. The I/O, however continues to operate at lower speed, so there are no external operate at lower speed, so there are no external interface problems if a 386DX2 is substituted interface problems if a 386DX2 is substituted for a 386DX. The 386DX4 triples the internal for a 386DX. The 386DX4 triples the internal clock speed.clock speed.

Page 19: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

486486 The 486 is basically a large integrated The 486 is basically a large integrated

circuit which contains a fast 386 circuit which contains a fast 386 processor, a math coprocessor, a processor, a math coprocessor, a memory management unit (MMU), memory management unit (MMU), and an 8kbytes cache memory.and an 8kbytes cache memory.

It is most frequently called the 486 or It is most frequently called the 486 or the i486.the i486.

All 486 processors have a 32-bit data All 486 processors have a 32-bit data bus. bus.

Page 20: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

486486

Like the 386, the 486 has SL, DX2, Like the 386, the 486 has SL, DX2, and DX4 versions which are low-and DX4 versions which are low-power, clock-doubled, and clock-power, clock-doubled, and clock-tripling versions respectively.tripling versions respectively.

The 486 achieves its high-speed The 486 achieves its high-speed operation from fast clock speeds, an operation from fast clock speeds, an internal pipelined architectures, and internal pipelined architectures, and the use of reduced instruction set the use of reduced instruction set computing (RISC) to speed up the computing (RISC) to speed up the internal microcodeinternal microcode

Page 21: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

PentiumPentium

Neither the 386 nor the 486 was ever Neither the 386 nor the 486 was ever licensed to another IC manufacturer licensed to another IC manufacturer by Intel.by Intel.

However, they are number of IC However, they are number of IC manufacturers with their own manufacturers with their own versions of the 386 and 486 versions of the 386 and 486 processors, They are clones, not processors, They are clones, not licensed identical copies.licensed identical copies.

The Pentium is the next Intel member The Pentium is the next Intel member of the X86 family.of the X86 family.

Page 22: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

PentiumPentium

The Pentium introduces a number of The Pentium introduces a number of new features. The use of superscalar new features. The use of superscalar architecture incorporates a dual-architecture incorporates a dual-pipelined processor which lets the pipelined processor which lets the Pentium process more than one Pentium process more than one instruction per clock cycle. instruction per clock cycle.

The addition of both data and code The addition of both data and code caches on chip is also a feature caches on chip is also a feature designed to improve processing designed to improve processing speed.speed.

Page 23: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Branch PredictionBranch Prediction

A new advanced computing technique A new advanced computing technique used in the Pentium is called branch used in the Pentium is called branch prediction. Using branch prediction, the prediction. Using branch prediction, the Pentium makes an educated guess where Pentium makes an educated guess where the next instruction following a the next instruction following a conditional instruction will be.conditional instruction will be.

The Pentium has a 64-bit data bus. This The Pentium has a 64-bit data bus. This means that it can perform data transfers means that it can perform data transfers with an external device (memory, for with an external device (memory, for example) twice as fast as a processor example) twice as fast as a processor with a 32-bit data bus.with a 32-bit data bus.

Page 24: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

QuestionsQuestions Q1: The first microprocessor in the X86 family to Q1: The first microprocessor in the X86 family to

support an on-chip instruction cachesupport an on-chip instruction cachea. 8088a. 8088b. 286b. 286c. 386DXc. 386DXd. Pentiumd. Pentium

Q2: The maximum physical memory space which Q2: The maximum physical memory space which can be addressed by the 286 iscan be addressed by the 286 isa. 640kbytesa. 640kbytesb. 1Mbytesb. 1Mbytesc. 16Mbytesc. 16Mbytesd. 4Gbytesd. 4Gbytes

(Answer: Q1 a, Q2 c)(Answer: Q1 a, Q2 c)

Page 25: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Programming ModelProgramming Model The 8080 and the 8086 define the The 8080 and the 8086 define the

base programming model for the base programming model for the entire X86 family.entire X86 family.

The newer members of the X86 family The newer members of the X86 family of advanced microprocessors have of advanced microprocessors have greater computing power because greater computing power because they are faster, they use 32-bit they are faster, they use 32-bit registers instead of 16-bit registers registers instead of 16-bit registers used in earlier advanced used in earlier advanced microprocessors (8088, 8086, 80286).microprocessors (8088, 8086, 80286).

Page 26: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Basic Programming Basic Programming ModelModel

Once you understand the basic Once you understand the basic programming model for the 8088 and programming model for the 8088 and 8086 processors, you will be able to 8086 processors, you will be able to understand the improvements made with understand the improvements made with the newer models.the newer models.

The base programming model of the 16-The base programming model of the 16-bit (8088, 8086 and 286) and 32-bit (386 bit (8088, 8086 and 286) and 32-bit (386 and 486) processors is very much the and 486) processors is very much the same. The difference is in same. The difference is in register register lengthlength, , extra data segment registersextra data segment registers, , and and added featuresadded features..

Page 27: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Three Register GroupThree Register Group

The base programming model is The base programming model is made up of three register group.made up of three register group.

The first set contains eight general The first set contains eight general purpose registers called the A, B, C, purpose registers called the A, B, C, D, SI (source index), DI (destination D, SI (source index), DI (destination index), SP (stack pointer) and BP index), SP (stack pointer) and BP (base pointer) register. Depending on (base pointer) register. Depending on the specific processor, these are the specific processor, these are either 16- or 32-bit registers.either 16- or 32-bit registers.

Page 28: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

X86 Programming ModelX86 Programming Model

Scan pg 233Scan pg 233

Page 29: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

General-Purpose General-Purpose RegistersRegisters

The lower two bytes of the A, B, C, The lower two bytes of the A, B, C, and D registers are broken into low and D registers are broken into low and high bytes called AL, BL, CL, DL and high bytes called AL, BL, CL, DL and AH, BH, CH, and DH and AH, BH, CH, and DH respectively.respectively.

The full 16 bits are referred to as AX, The full 16 bits are referred to as AX, BX, CX, and DX, where X stands for BX, CX, and DX, where X stands for extended. extended.

The SI, DI, BP, and SP registers are The SI, DI, BP, and SP registers are always treated as 16-bit register.always treated as 16-bit register.

Page 30: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

32-bit Registers32-bit Registers

When the microprocessor uses 32-bit When the microprocessor uses 32-bit registers, the eight general-purpose registers, the eight general-purpose registers are called the EAX, EBX, registers are called the EAX, EBX, ECX, EDX, ESI, EDI, ESP, and EBP ECX, EDX, ESI, EDI, ESP, and EBP registers. The E tells us that these registers. The E tells us that these registers have extended length.registers have extended length.

The ALU works with these register to The ALU works with these register to give the X86 microprocessors their give the X86 microprocessors their computation and data movement computation and data movement capability.capability.

Page 31: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Second Set of RegistersSecond Set of Registers

The second set of registers are the The second set of registers are the segment segment registersregisters. This set of register consists of . This set of register consists of the code segment (CS) and stack segment the code segment (CS) and stack segment (SS) registers, and either two (286) or four (SS) registers, and either two (286) or four data segment register (80386). The data data segment register (80386). The data segment registers are called DS, ES, segment registers are called DS, ES, FSFS, , and and GSGS..

The X86 registers manage operations with The X86 registers manage operations with external memory. Address computation and external memory. Address computation and data movement are performed here. A data movement are performed here. A second ALU is dedicated to processing second ALU is dedicated to processing memory address data which works with the memory address data which works with the segment registers.segment registers.

Page 32: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

The Third Set of The Third Set of RegistersRegisters

The third set of registers includes the The third set of registers includes the instruction pointer (program counter) and instruction pointer (program counter) and flags register. The instruction pointer is flags register. The instruction pointer is either a 16-bit or a 32-bit (for the 386 and either a 16-bit or a 32-bit (for the 386 and newer processors) register. newer processors) register.

The first five bits are identical to the flag it The first five bits are identical to the flag it in the 8085 8-bit microprocessor (CF, PF, in the 8085 8-bit microprocessor (CF, PF, and AF). See next page.and AF). See next page.

The 6 to 11 were introduced with the The 6 to 11 were introduced with the 8088/8086. (ZF, SF, TF (Trap), IF, DF 8088/8086. (ZF, SF, TF (Trap), IF, DF (Direction , OF)(Direction , OF)

Page 33: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

32-bit Status Register32-bit Status Register

Scan pg 234Scan pg 234

Page 34: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

32-bit Status Register ..32-bit Status Register ..

The 12 to 14 (I/O privilege level and The 12 to 14 (I/O privilege level and nested task flag) were introduced with nested task flag) were introduced with the 286. the 286.

The flags in bits 16 and 17 ( Resume and The flags in bits 16 and 17 ( Resume and virtual mode flag) were introduced with virtual mode flag) were introduced with the 386, and the flag in bit 18(alignment the 386, and the flag in bit 18(alignment check) was introduced with the 486.check) was introduced with the 486.

These three register groups and their These three register groups and their support circuits let the X86 processors support circuits let the X86 processors manage memory operations and compute manage memory operations and compute at the same time.at the same time.

Page 35: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Pre-fetching and Data Pre-fetching and Data CachingCaching

To give the X86 processors even greater To give the X86 processors even greater speed, the processors include various levels speed, the processors include various levels of instruction pre-fetching and data caching.of instruction pre-fetching and data caching.

The newer processors have significant The newer processors have significant amounts of internal memory in which they amounts of internal memory in which they can cache data as well as code (instruction).can cache data as well as code (instruction).

The next few instructions are pre-fetched The next few instructions are pre-fetched whenever the address and data buses are whenever the address and data buses are available. The additional instructions are available. The additional instructions are fetched and stored in the processor’s pre-fetched and stored in the processor’s pre-fetch queue or code cache.fetch queue or code cache.

Page 36: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Pre-fetchingPre-fetching These pre-fetched instructions are These pre-fetched instructions are

immediately available for processing once immediately available for processing once the current instruction is complete; the current instruction is complete; therefore, when executing this software, the therefore, when executing this software, the processor does not wait for a fetch cycle. processor does not wait for a fetch cycle. Prefetching can significantly speed up Prefetching can significantly speed up execution time. execution time.

This process may not work for every This process may not work for every instruction because software does not instruction because software does not always execute one instruction after the always execute one instruction after the other. For example, branching may cause other. For example, branching may cause the next instruction to come from a very the next instruction to come from a very different location in memory.different location in memory.

Page 37: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Prefetching ..Prefetching .. The most advanced members of the X86 The most advanced members of the X86

family have special logic which analyzes family have special logic which analyzes the prefetched instructions and attempts to the prefetched instructions and attempts to anticipate branching and other such anticipate branching and other such changes so that the correct instructions are changes so that the correct instructions are prefetched.prefetched.

The more advanced X86 processors also The more advanced X86 processors also store frequently used data in memory store frequently used data in memory which is on board the processor. Again, which is on board the processor. Again, having this data right at hand, in a data having this data right at hand, in a data cache, avoids the need for an external cache, avoids the need for an external memory access cycle and therefore speeds memory access cycle and therefore speeds up processing time.up processing time.

Page 38: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

QuestionsQuestions The main difference between the The main difference between the

older and newer versions of the X86 older and newer versions of the X86 advanced microprocessors is that the advanced microprocessors is that the general purpose registers in the general purpose registers in the newer processors arenewer processors area. 8 bita. 8 bitb. 16-bitb. 16-bitc. 32-bitc. 32-bitd. 64-bitd. 64-bit

Answer: cAnswer: c

Page 39: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Question 2Question 2

You will find data segment registers You will find data segment registers called the FS and GS registers on the called the FS and GS registers on the ________ microprocessor.________ microprocessor.a. 8088a. 8088b. 8086b. 8086c. 80286c. 80286d. 80386d. 80386

Answer: dAnswer: d

Page 40: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Question 3Question 3

The length of the 8088 instruction The length of the 8088 instruction pointer ispointer isa. 4 bitsa. 4 bitsb. 8 bitsb. 8 bitsc. 16 bitsc. 16 bitsd. 32 bitsd. 32 bits

Answer: cAnswer: c

Page 41: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Question 4Question 4

A prefetch queue or code cache first A prefetch queue or code cache first appeared on theappeared on thea. 8088a. 8088b. 8086b. 8086c. 286c. 286d. 486d. 486

Answer: aAnswer: a

Page 42: Advanced Microprocessors Growth from 16 bits to 32 bits did not bring entirely new architectures, as did the change from 4 bits to 8 bits, or the change

Question 5Question 5

A separate ALU is used with the A separate ALU is used with the _______ registers to perform memory _______ registers to perform memory location calculation.location calculation.a. Segmenta. Segmentb. Flagb. Flagc. Instruction Pointerc. Instruction Pointerd. General-purposed. General-purpose

Answer: aAnswer: a