Pentium IV
ZXNet echo conference «zxnet.pc»
From Alexei Bugai → To Alexey Ivanov 4 December 2000
_/Peace unto you, Alexey!_/
30 Nov 00 23:40, Alexey Ivanov wrote to Aleksandr Majorov about "Pentium IV":
AM>>> As written, a fundamentally new one has been used there
AM>>> technology. As far as I understand, since 1995 all stumps
AM>>> were made according to the same scheme. And P-4 is absolutely
AM>>> new :) It is planned that P-4 will be the “base” on
AM>>> next 5 years.
AI> Circuitry of the third stump, only copper and new frequency thresholds.
Exactly? :)
AL>> And I think that Intel will screw up again as usual.
AI> They changed the name so that the third would sell and the fourth would buy,
AI> and the filling is the same ;)
You see, you are once again unknowingly telling people lies ;)
-=-=-
Computer Review
#45, November 22 - 28, 2000
_Pentium 4: revolution is never half-hearted!_
Stanislav Garmatyuk
It was clear to everyone that Intel needed to release a new CPU. Competitors
literally "stepping on their heels", the Coppermine core has almost reached its
frequency limits, processor performance requirements are growing by leaps and bounds,
and by the hour, the home multimedia market is rapidly gaining momentum...
The user was no longer content with simply increasing the frequency, his soulI was yearning for something fundamentally new, fresh, unknown. And so -
Pentium 4 came out. The revolution was accomplished. But revolution is never “soft”...
Pentium 4 is not a Pentium III at all
New architecture
It’s easier to list what hasn’t changed in the new Intel processor: it’s still
64-bit and still supports the x86 instruction set. Actually, if
list exactly what the changes did not affect at all, then this is the list
ends. The Pentium 4 development team shook off the Pentium dust from its knees
III" and created the architecture of the new CPU practically from scratch.
But the old axiom “if it’s not broken, don’t fix it” is well known in the Intel R&D department.
Therefore, first let’s try to understand why it was necessary so much
remake (and in some places create anew) the Pentium 4 architecture instead
in order to further improve the Pentium Pro core (and we have already
wrote earlier that in fact this particular processor serves as the founder of the series
Pentium II/III).
How modern processors work
To begin with, a small but absolutely necessary theoretical part.
Firstly, all modern CPUs use a pipelined architecture in
its various options. This means that any command is executed not by one, but
several blocks combined into a conveyor. The first processor in which
such a solution was applied, it became Intel 486, it had a conveyor of fivesteps.
However, that's not all. The fact is that inside any modern CPU it has long been
"half RISC", i.e. in fact it executes completely different commands, and not
those that come to it from RAM. The era of processors that “directly” performed
x86 assembler commands, ended with the arrival of Intel Pentium Pro/II and AMD
K5/K6. All subsequent CPUs first convert fairly "capacious"
x86 commands into simpler RISC-like code (usually one
the command is transformed into several), the execution of which is carried out
directly the processor core. At first glance, it was such a difficult path
chosen because the kernel, which executes simple commands, “transports” much easier
high operating frequencies. In general, the debate between the low-frequency complex kernel and
high-frequency downtime has long been and unambiguously decided in favor of the latter.
At the same time, there is another opportunity to increase the speed of command execution
-- parallelization of processing. That is, several RISC-like teams
are processed in parallel - in one clock cycle, but in different sections of the conveyor. Well
and besides, starting with the Intel Pentium, the architecture of modern CPUs has become
"superscalar" (superpipelined), this means that they have several conveyors
and they work in parallel.
Conveyor architecture: pros and cons, problems and solutionsHowever, along this path a significant problem arose, associated with the lack
the conveyor architecture itself. The flow of commands entering the pipeline is very
It is advisable to make it permanent and continuous. Otherwise, due to a hitch
at any stage, those operations for which it is necessary to “know” the result
execution of the previous command, they will simply wait for its completion, and that’s it
"will freeze." To eliminate this problem, two methods are used: extraordinary
execution (Out-of-Order Execution) and branch prediction (Branch
Prediction).
Out-of-order execution is a term that should be taken literally:
commands arriving on the pipeline later are executed earlier. Let's consider
a simple example of a "program":
A=B+C
N=A+2
C=B+3
In this case, to perform the second operation it is necessary to complete the first one, so
as the value of A + 2 cannot be known until as a result of the previous
operation will not be set to A. However, to execute the third command
It is not necessary to know the results of the two previous ones! This means that the conveyor does not
idle, you should execute the first command first, then you can immediately
proceed to the third, and while it is being executed, the value of A will “arrive”,
necessary to complete the second. It is precisely by identifying such
sequences and are handled by modern CPUs, which allows them toreduce downtime.
The branch prediction mechanism is a more complicated thing, but getting
Some idea of it using the simplest example is also possible. True,
you need to know at least the basics of programming (for example, BASIC). So,
Let's imagine a loop FOR I = 1 TO 10 ... NEXT I. When compiling this loop in
machine code is converted into approximately the following sequence of commands:
10 I = 1
20...
30 I = I + 1
40 IF I <= 10 THEN GOTO 20
50...
As you can see, the transition from line 40 in ten cases is carried out to line 20 and
only in one - on line 50. The prediction mechanism is simple
will “remember” where the transition occurred according to the condition the very first time, after which
will assume that next time the transition will take place in the same place. And
will make a mistake only once out of ten! But in real problems there are
cycles with a much larger number of repetitions... Knowing what commands
will follow the jump operation, you can accordingly start decoding them
long before the operation itself is completed. And again the conveyor will be
"saved" from downtime.
Of course, all the examples given above are among the most primitive. On
practice of algorithms responsible for out-of-order execution and prediction
branching, much more complicated (and, by the way, are a sealed secret,
because the performance of a particular CPU largely depends on them). Howeverin order to understand the differences between the Pentium 4 and previous processors, you need to know how
it works" - it's simply necessary.
Pentium 4: hyperpipelining
As we said earlier - the more primitive the commands, the higher the frequency
the kernel executing them is capable of working. However, the conveyor elements also
fall under this rule: the simpler one stage of the conveyor, the more
speed he can "advance". But a simple stage can only perform
a simple action, therefore, their number should increase. Actually,
here we have already come close to answering the question why the Coppermine kernel,
the heir to the “old man” Pentium Pro, with such difficulty, was given high frequencies:
its 12-stage conveyor has already approached the very limit of its maximum
possible frequency. Even theoretically for a 0.18-micron process this value
is about 1.2 GHz, but it is well known that the theoretical limit is rarely
achievable in practice: alas, there are no “ideal” crystals. Therefore it was
a radical decision was made: to increase the length of the conveyor immediately to... 20
steps! At the same time, many parts of the CPU that were previously included in the pipeline (for example,
command decoding block), were generally taken outside its boundaries and are working
now it’s as if “on their own”. This architecture is called
"hyperpipelined" - in honor of a conveyor of unprecedented length.Naturally, the possible frequency of operation has increased, which is successfully confirmed
new Pentium 4, released immediately at frequencies of 1.4 and 1.5 GHz. And this is with
maintaining the same 0.18-micron process! However, such an increase was given
frequency work is by no means “free”.
Conveyor downtime: old problems, multiplied
to new frequencies
The previous description of the operation of the branch prediction mechanism remains
but a little unfinished: we finished it with the “winning” option: branch
predicted correctly, the processor began decoding forward commands, transition
carried out to the “guessed” address, the commands located there are ready for execution
(or even already partially fulfilled). But what happens if the "regular
was the predictor still wrong? And something “truly terrible” is happening - the entire conveyor
we have to clear out unnecessary commands and urgently begin to prepare for
execution are new, still in memory and at a completely different address.
Naturally, the CPU core during all this “debriefing” simply executes
an idle cycle, since neither prepared data nor commands are received to it.
And surely our reader has already guessed the main problem
hyperpipeline architecture of the new processor: the longer the pipeline, the
the more work goes down the drain and the longer you have to wait until it is
“cleaned out” of unnecessary commands and filled again with the necessary ones. Besideshigh operating frequency in this case automatically means that from the moment
errors in predicting a transition until it is detected as “extra” work
The processor will have time to do more. Yes, this is the reality: not always high
frequency means high speed. However, not everything is so bad...
Naturally, this problem was known long before the processor was released, and
Serious attention was paid to minimizing losses.
Predictions must come true!
In relation to the corresponding processor block, this phrase looks like
the best wish possible. And the Pentium 4 developers did everything from
It is up to them to ensure that this happens. New branch prediction block
The CPU has undergone significant modifications - the size of the buffer in which
addresses of possible transitions (BTB - Branch Target Buffer), increased to 4 KB
(512 bytes for Pentium III), in addition, the algorithm itself has been improved and
now takes into account a larger number of possible factors. As a result, according to statements
developers, the effectiveness of predictions has increased by a third, and now they
accuracy reaches 94%.
Advanced out-of-order execution
In order to find a command that claims to be executed out of order, you need
have a place to look for it. Analyze "in advance" the code contained in memory,
- the operation is expensive, and slow. Therefore, all modern processorsthere is a so-called "reservation station" in which the
decoded and ready to execute commands. Pentium 4 has a corresponding block
called the "Instruction Window", but, in essence, these two
the names mean the same thing - a buffer for instructions. Command Window
Pentium 4 has also grown significantly, now for extraordinary performance
The processor is offered “a choice” of more than 120 instructions (the exact data is not yet available
published).
Double internal ALU frequency
Arithmetic Logic Units in Pentium 4 work on
double frequency. So, for example, the ALU of the Pentium 4 1.5 GHz operates at
frequency 3 GHz! This allows you to perform many operations without actually even
one, but for half a cycle, or two operations per cycle.
SSE-2
Since the performance of the new processor very much depends on the speed
commands entering the executive blocks of the conveyor, another one “begs to be”
the way to speed up its work is to reduce the number of commands required for
performing key operations. However, within the existing x86 set this
it’s simply impossible to do: if you change anything in it, the CPU will lose
compatibility with older programs. After all, what even on the most modern
the processor can still execute code written for the founderThe entire family - Intel 8086, is a special source of pride for Intel. But
if it cannot be changed, no one forbids adding it. That's what they did - Pentium 4
supports an extended set of SIMD commands codenamed SSE-2.
First, let's understand the term itself. SIMD (Single Instruction --
Multiple Data) is a special type of instruction when, as an argument,
One team uses a fairly large array of data. SSE-2 (Streaming SIMD
Extensions 2, Streaming SIMD Extensions 2) - significantly expanded version
SSE set, familiar to us from Pentium III Coppermine. The SSE-2 kit includes
yourself 144 new instructions, specifically aimed at processing large
incoming data streams. The use of SSE-2, according to Intel, is capable of
raise productivity to unprecedented heights
multimedia applications and games - encoding/decoding audio and
video data, speech recognition, three-dimensional computer games - this is the area
applying new commands. The main emphasis is on the fact that now many
operations that previously required writing an entire program fragment can be
implemented using one or two SSE-2 instructions.
Platform for Pentium 4
Naturally, a processor with so many architectural innovations also required
a fundamentally new platform. Its role is currently performed by a new chipsetIntel i850. The main point that I would like to note is
organization of work with memory within the entire Pentium 4 <--> i850 combination.
High-speed 400 MHz RDRAM is connected to the chipset via a dual-channel
bus, the width of each channel is 32 bits. Thus, in total we have 64
bit and frequency 400 MHz, i.e. throughput of about 3.2 GBps. Next
-- more: the bandwidth of the FSB bus, over which the processor “communicates” with
chipset, also equivalent to 400 MHz! And considering that the processor itself -
64-bit, we see that in fact the bus connecting the processor and the chipset is
has the same bandwidth as the bus connecting the chipset to the memory!
And again, I would like to note that despite all the revolutionary nature of the approaches, it looks
the new Intel architecture is very harmonious - everything is really strict in it
focused on the main priorities of the Pentium 4: streaming video and audio,
Internet, multimedia, games.
First and second level cache
Regarding the L2 cache, apparently, the developers considered that “the best is the enemy.”
good", so it remained the same as the Pentium III Coppermine:
"quadruple" width 256-bit bus and operation at core frequency. But the volume
The L1 cache has been halved and is 8 KB for commands and data. Several
a strange solution, however, perhaps the point is simply that the processor “does notrubber", and taking into account the number of all other modules, the larger size L1
I just couldn't integrate it into the kernel. Moreover, do not forget that
Pentium 4 has significantly larger "hidden caches" --
in fact, both the 4 KB Branch Target Buffer and the Instruction Window
The principle of their work fully fits this definition.
TESTING
Test platform...
testing Pentium 4. Actually, why not follow them?
The manufacturer always knows better in what configuration his processor will perform
best, but the main thing for us is to make sure that the Pentium 4 can
demonstrate yourself “in all your glory.” Therefore, in this case the goals
match. So, the configuration of the test system for Intel Pentium 4:
motherboard Intel Desktop Board D850GB (i850 chipset);
two RDRAM (RIMM) PC800 modules, 64 MB each;
ELSA Gladiac video card (NVidia GeForce2 GTS, 32 MB DDR SDRAM);
hard drive Western Digital WD300BB (UltraATA/100, 7200 RPM, 30 GB);
Intel Pentium 4 1.4 and 1.5 GHz processors.
The competitor was Pentium III Coppermine (Slot 1), running on
The maximum frequency currently available on the Ukrainian market is 1 GHz. Test
system for Pentium III 1 GHz:
motherboard Intel Desktop Board VC820 (i820 chipset);
the same two RDRAM modules as in the previous configuration;
similar hard drive and video card.Testing was carried out under Windows 98SE with DirectX installed
8.0 (release). Of course, the question may arise: why productivity
Intel Pentium 4 was not comparable to Pentium III 1 GHz + i815 + PC133 SDRAM,
nor, for example, with AMD Athlon "Thunderbird"
1 GHz + VIA KT133? Of course, such a comparison would be interesting. However
at the “first acquaintance” we decided to create the most equal conditions for
"competitors", especially since the most important question at the moment is not
How does the performance of the new Intel processor compare with the product?
competing firms, but how the changes in architecture made to
Pentium 4, for its performance. Therefore, the choice was logical
"opponent" processor (previous generation Pentium), and memory (RDRAM in both
cases).
Test programs
We tried to cover as wide a range of tasks as possible that can
require the use of a modern, powerful CPU. However, the main focus is still
made for multimedia and gaming applications, since Intel itself
positions the Pentium 4 primarily for them. That's why there are so many in our tests
games and “game-like” tests. In addition to the familiar SYSmark 2000 to our readers,
Quake III Arena and has recently been used as the main
Direct3D test Unreal, both MadOnion 3DMark 2000 andlittle-known (but supported by Hardware T&L!) Tirtanium.
I would also like to dwell in more detail on the Pentium 4 Application test
Launcher. In fact, it is similar in construction to SYSmark 2000 (and a little
"having rummaged" in the installation package, we discovered so much
coincidences that the thought of cooperation between BAPCo and Intel involuntarily comes to mind
in the development of this test). True, the applications included in this package
selected on a completely different basis: all of them should work well specifically for
Pentium 4, as they make the most of its new capabilities and features
architecture. We think that this test is also indicative: looking at the composition
applications, the reader will immediately understand for what class of programs it is intended
new Intel processor.
Naturally, memory tests were not forgotten: you had to see with your own eyes how
the new Pentium 4 bus will affect the speed of access to RAM and other critical
parameters. In this case, we also used the traditional one for our laboratory.
Cachemem is the most informative test, and also with a very high
repeatability of results (which is extremely
important).
Test results
We decided to refuse to comment on the results of each specific
applications, because there are too many of them. Therefore, we will focus only on the mostsignificant indicators and main trends identified during the comparison process
performance of two types of processors from Intel.
SYSmark 2000 is very interesting to compare with its “close relative” Pentium 4
Application Launcher: the difference between applications that take into account
features of the new architecture, and the “old” ones, the code for which was written before release
Pentium 4. The difference, I must say, is striking. However, not everything is the same here either.
bad: pay attention to Windows Media Encoder from SYSmark 2000 --
a program using the streaming method of information processing turned out to be
optimized for Pentium 4, even “without knowing it.” You should also
pay attention to the overall SYSmark 2000 score: despite the slight lag
in average productivity, in creating Internet content (applications,
working with graphics and sound) Pentium 4 1.5 GHz was able to win the overall competition
even on programs not optimized for it.
In gaming and special 3D tests the situation is complicated: some games react to
new architecture with a sharp increase in productivity (the most significant
Quake III results), some are much more "restrained". And again -
most likely, the decisive factor in this case is the algorithms,
used in applications. The performance values are also interesting3DMark 2000: DirectX 8.0, containing code optimized for SSE-2, clearly
“I liked” the new processor, which affected the results
"advanced" Direct3D test.
Data archiving is also essentially a streaming operation. However, here too the picture
repeats: convincing Pentium 4 win in one application (WinZIP) and
loss in another (WinRAR). Undoubtedly, different algorithms had an effect again
work, but that’s not the only thing - pay attention to how it falls
Pentium 4 performance with increasing dictionary size. It seems to us
this phenomenon is very indicative and fully confirms the conclusions made by us
based on the results of the following test.
And finally, the reading speed from RAM and latency according to the Cachemem test
put everything in its place: the Pentium 4 system demonstrated
amazing speed of linear reading from memory and... extremely high
latency. Here it is - a strong and at the same time weak feature of the new architecture:
The Pentium 4 is clearly designed to work with the streaming data type; it
“does not like” to read “a little from one place, a little from another.”
Conclusions
Intel Pentium 4 is an innovative processor in every way. Actually for the first time
a CPU appeared in the x86 family, initially designed for
performance in certain classes of tasks, but at the same time beinguniversal in the set of commands. Besides, speaking about the processor itself, it’s not worth
forget about the architecture of the rest of the system. In our case she
indeed almost perfectly balanced, and again - precisely for
strictly defined goals. Naturally (let’s not turn a blind eye to the obvious
things), something had to be sacrificed, and these victims turned out to be “inconvenient”
new CPU programs and operating algorithms. Intel logic is approximately possible
imagine this: “let our processor be 10-15% in some tasks
slower, but in the rest he will have the opportunity to be 1.5-2 times
faster!" This is the situation that has developed, judging by the results of our tests.
Therefore, the success of a new CPU largely depends on the support from
software manufacturers and the prevalence of programs of exactly the type for which it
oriented Well, there is no doubt about the last point - games and home
multimedia, even in our country, is gaining more and more popularity, not to mention
already about the West. But regarding taking into account the features of the Pentium 4 during development
programs - here, undoubtedly, a “big” name should have a significant influence
Intel and its reputation, as well as the good promotion of the Pentium brand in everything
world.
It is also gratifying that the transition to Intel “new century” programs and processors is not
intends to implement it tomorrow and at 100%. As follows fromofficial statements from the company itself, production of Pentium 4 only in 2002
will be equal to the production volumes of the Pentium III, so both users and
software developers will have a sufficient number of
time to take a closer look at the new processor. Surely not
The last role in the adoption of just such a scheme was played by the memory cost factor
for new systems - still, RDRAM is now much more expensive than the usual PC133 SDRAM.
However, Intel hopes that by the time the Pentium 4
broadly, the situation will have time to change for the better.
The editors thank the Kiev representative office
Intel: tel. (044) 490-1201 for assistance,
provided in the preparation of this material.
-=-=-
_/With best wishes, Squizer!/_
>>> [xproject@softhome.net] [icq:17425411] [ZX] [Ukraine RC5 Team]
From Artem O. Kozakov → To Ivan Bogomolov 17 December 2000
Greetings, Ivan!
December 17, 2000 (it was 10:13 then)
Ivan Bogomolov in his letter to Artem O. Kozakov wrote:
SO>>>> Correct!!! AMD Athlon rules the game ;)
IB>>> Why not Thunderbird? ;-)
AK>> because the final name of Thunderbird is Athlon :)
IB> Well, in the beginning it was an Athlone with 512K cache, and later models
IB> began to be called thunderbird, which with 256K cache at full frequency
IB> proca. So athlone is not the final name, but the initial name ;)
Duron's initial name was Spitfire, and the new hi-end model was thunderbird.
after all the deliberation, amd made duron duron, and thunderbird began to be called
Athlon. These processors differ in design (socketA or slotA) and volume
cache. Just look at the photos of thunderbird - they all say athlon :)
so athlon is the final name and the name is under development
thunderbird. but it caught on, since it is clear what to call different processors
one name is somehow inconvenient, you need to clarify which athlone you mean :)
Best regards, Artem
From Alexey Zinoviev → To Alex Letaev 26 December 2000
Hi, Alex!
24 Dec 00 08:49, Alex Letaev -> Alexey Zinoviev:
AL> I don’t know how to do it, but you’re doing it wrong! (C) Ensign. :-) No,
AL> it’s better when 386 came out in 95 for 32-bit commands compiled for 16-bit commands.
Yeah, how it was... Windows is a 32-bit add-on over a 16-bit OS,
written on an 8-bit compiler running on a 4-bit computer, by people
with a 2-bit brain... So it seems? The problems of Windows are the curvature of small-scale sewing, but
fortunately this is not the only OS...
AL> Do you think housewives and lamers have the opportunity to choose videos only
AL> one platform and only its advertising? The world is not ruled by reason, it will be
AL> rule with reason, there will be no wars at least.
Why isn't the Amiga advertised? If she's so cool?
And I think that at least some reason rules the world, but there will always be wars, this
human nature :( As long as there are people, there are disagreements.
With best regards,
Alexey AKA Rand.
[ KAY-1024 ] [ Mushroom Sabzhevik ] [ I.ZX ]