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 ]