How the Pentium Pro Works

The Pentium Pro processor shares the same 64-bit inter­face to the computer found in the older, non-Pro ver­sion of the Pentium. Information—either program code or data manipulated by that code—moves in and out of the chip at the PC’s maxi­mum bus speed, which is no more than 66Mhz even in Pentium Pros that function internally at 200Mhz. Since there is no faster way to move data in and out of the processor, the Pentium Pro  L2 Cache Processor is designed to alleviate the effects of the bus bottleneck by minimizing the instances in which a clock cycle—the smallest time in which a computer can do anything—passes without the processor completing an operation. Meanwhile, the reorder buffer also is being inspected by the retirement unit. The retirement unit first checks to see if the uop at the head of the buffer has been executed. If it hasn’t, the retirement unit keeps checking it until it has been executed. Then the retirement unit checks the second and third uops. If they’re already exe­cuted, the unit simulta­neously sends all three results—its maximum—to the store buffer. There, the predic­tion unit checks them out one last time before they’re sent to their proper place in system RAM.

The Pentium Pro is made up of two silicon dies. One is the 5.5-million transistor CPU, where the software’s instructions are executed. The other is a level 2 (L2), custom-designed high-speed memory cache. Its 15.5 million transistors store up to 512K of data and code. In earlier systems, a cache as large as that was separate from the proces­sor—usually part of the computer’s motherboard.

When a uop that had been delayed is finally processed, the execute unit compares the results with those predicted by the BTB. Where the prediction fails, a component called the jump execution unit moves the end marker from the last uop in line to the uop that was pre­dicted incorrectly. This signals that all uops behind the end marker should be ignored and may be overwritten by new uops. The BTB is told that its correction was incorrect, and that information becomes part of its fu­ture predictions.