Home

News

Forums

Hardware

CPUs

Mainboards

Video

Guides

CPU Prices

Memory Prices

Shop



Sharky Extreme :


Latest News


- Kingston Unleashes HyperX T1 Series Memory
- Hitachi Goes Green with the Travelstar 5K500.B Mobile HD
- Palit Hits a Performance High with the Revolution 700 Deluxe
- SanDisk Unveils ExtremeFFS for Improved SSD Performance
- Alienware Unleashes the ATI CrossFireX-powered M17 Notebook
News Archives

Features

- SharkyExtreme.com: Interview with Microsoft's Dan Odell
- SharkyExtreme.com: Interview with ATI's Terry Makedon
- SharkyExtreme.com: Interview with Seagate's Joni Clark
- Half-Life 2 Review
- DOOM 3 Review

Buyer's Guides

- November Value Gaming PC Buyer's Guide
- September Extreme Gaming PC Buyer's Guide
- July High-end Gaming PC Buyer's Guide

HARDWARE

  • CPUs

    - Intel Core i7-965 XE & Core i7-920 Review

  • Motherboards

    - Intel DX48BT2 (X48) Motherboard Review
    - AMD 790GX Chipset Review
    - Gigabyte GA-MA790FX-DS5 Motherboard Review
    - AMD 780G Chipset Review

  • Video Cards






  • SharkyForums.Com - Print: SMT technology in the Pentium 4 Xeon?

    SMT technology in the Pentium 4 Xeon?
    By Arcadian December 21, 2000, 01:51 PM

    I wanted to make a new topic about this. I'll start with Moridin's post from another topic.

    quote:Originally posted by Moridin
    This actually looks very intriguing. I had seen Jackson described in the past as both a software technology and a multi-threading technology and wondered why Intel would be involved with it. Once you bring in SMT that changes things considerably. IMHO to really do SMT well you need a degree of OS/software support. You might be able to make a chip that looks externally like it was doing CMP but is doing SMT internally (Sledgehammer??) but this would be more complicated and less efficient then a design that included software support.

    I know this is from the register, I have seen similar information on more reliable sites, but this is what I could find quickly. http://www.theregister.co.uk/content/1/13444.html

    By Arcadian December 21, 2000, 02:38 PM

    I just wanted to add that this thread has some interesting discussion.
    http://www.aceshardware.com/cgi-bin/ace/tech.pl?read=11670

    What does everybody else think about this? Will Intel implement SMT in Foster? What are the benefits, and what are the costs? Do you think programs will run much faster? What kind of programs? Also, how will this affect the competition, especially in the markets Intel will try to target with Foster? Let's get some more discussion going.

    By Moridin December 21, 2000, 04:44 PM

    This really is one of the most exciting rumors I have heard in a long time. For anybody who doesnÂ't know SMT is likely to be the next "big thing" in micro-processor design and should rank with previous improvements like pipelining, superscaler architecture, and out of order execution.

    I don't really think I can talk about SMT without first talking about some of these other things so I will break this up into several posts. This one will have the background stuff is likely to be long winded, so feel free to skip it if you understand the concepts.

    Around 1970 somebody at Intel realized that you could use counter to identify instructions stored in memory and execute a series of instructions programmatically. I.E. Load the instruction pointed to by the (program) counter, decode it to find out which logic gates to activate, activate the gates and apply the input from the registers. Then move on to the next instruction. Some instruction (branch instruction) could effect the contents of the program counter. Instruction (conditional instruction) could have differing behavior base on the results of the previous instruction. This is how the first processors worked.

    The next thing people did was to take the operation I described above and break it into stages. I.E. you would decode the one instruction while the logic for the previous instruction is activated, and at the same time as you were obtaining the result for the instruction before that. While all this was occurring, you could go out and get the next instruction from memory. This is called pipelining and it speed up processor speeds greatly.

    After that came superscaler architecture. Instead of 1 pipeline you put in 2 (or more) and execute 2 instructions simultaneously.

    The next major innovations were speculative execution and out of order execution. In previous architectures sometimes the pipeline(s) would stall. For example, an instruction is at the point where it is ready to apply the output of the registers to the internal logic, but the data that was supposed to be in the register has not arrived from memory yet. In order processors need to stop and wait for the data to arrive before they can continue.

    Another problem was conditional branch instructions. When one of these was encountered the processor had to stop and wait until the instruciton was completed before it knew which was the next instruction to load.

    The solutions to these problems were speculative execution, and out of order execution. Speculative execution means the processor would try and "guess" which instruction would be next and begin executing it immediately. If it guessed wrong it would have to undo anything changes it made and begins again with the next instruction.

    Out of order execution solved the problem of stalls due to a required piece of logic not being available or some data is not ready yet. The idea here is that you fetch, decode, etc your instructions as usual, but instead of being carried out immediately they wait in an area called a reservation station. Each instruction is checked to see if it depends on a previous instruction that is not completed yet. Dependent instructions are held until all the instructions ahead of it are complete. When an instruction has no more dependencies it is issued as soon as the required execution resources (logic) is available.

    This is vital in fast modern processors since data will take at least 2 or 3 cycles to arrive from cache. Without this, they would stall for at least a cycle or 2 every few instructions.

    AFIK the P6 (P-Pro, PII, PIII) was the first commercial speculative, out of order processor. This is why it was such a big blow to the RISC processor makers. Since the P6 was released most of the RISC chips are now Speculative out of order devices. As a result a few (Alpha, PA-RISC) have regained a performance lead over the PIII in part due to a superior ISA. AMD's Ahtlon is also a speculative out of order chip and is wider (more pipelines) then the PIII

    By Moridin December 21, 2000, 04:45 PM

    Up until now threading has been an operating system concept. It allows a processor to work on several parts of the same job at once by switching between two independent tasks. In this form you may execute a million instructions from one thread followed by a million from another and so on. You can also assigning each thread to a different processor and work on the same job on two different processors.

    Most modern processors have execution resources that are not used. For example the PIII has the capability internally to perform 2 integer operation operations and 1 floating-point operation per clock. (This is not counting SIMD and MMX). On average it only performs 1.4 -1.5 operations (u-ops not X86 ops). This is due to stalls and scheduling difficulties. For example if a thread has no FP operation no FP ops can be executed. Another typical situation is that an entire thread is waiting for a single instruction to be completed.

    The idea behind SMT is that you can fill the unused execution resources with instructions from another thread. In this way you may be able to execute significantly more instruction using the same execution units.

    At first this may sound like a difficult thing to do, but if you look at what is happening internally you see that instructions waiting in the reservation station are independent of the thread they are in. When they go to an execution unit is a function of dependency on a previous instruction, and available resources. It simply doesnÂ't matter if they belong to a different thread; in fact this is an advantage since instructions from different threads are independent by definition.

    The only things that would need to be added to an OOO core is a way to fetch instructions from multiple threads (a second program counter?). Some changes to the way instructions are retired (?). A way to point memory instructions to the correct location (since each thread thinks it is the only one and has all the memory to itself the processor keeps track of the memory it is acutely using and converts it to what the thread thinks it is using) And finally a way to insure exceptions get associated with the correct thread.

    This is all well and good from a hardware perspective, but software still needs to know what is going on. Current software and OS's expect a single thread to be associated with a processor, and assume that all exceptions thrown by that processor belong to that thread. In other words there needs to be some software awareness of SMT.

    What is so exciting is that Intel has been talking about Jackson technology for a while, but it has been described as a software/multithreading technology. This by itself seams to be of limited use and a strange thing for Intel to be involved in. On the other hand if it is the software support for a SMT chip then the P4 would be ready for a huge performance boost. This would be a serious blow to the rest of the industry Alpha and other RISC chips included. Up until now the only processor planning on using SMT is the Alpha EV8 and that is several years away. OS/ software support is not an issue here because the Alpha team controls its OS and compiler.

    By Moridin December 21, 2000, 04:51 PM

    Now that I have gotten all that off my chest I have got to say that this is one of the most interesting rumors I have heard in a long time. If true it could change the whole shape of the industry like the P6 did. It also fits nicely with the design trade offs made in the P7 and the Jackson stuff is almost spooky.

    I want to see it for real before I am convinced it is true, but that is probably because I see it as such a big leap forward.

    By Conrad Song December 21, 2000, 08:00 PM

    quote:Originally posted by Moridin:
    Now that I have gotten all that off my chest I have got to say that this is one of the most interesting rumors I have heard in a long time. If true it could change the whole shape of the industry like the P6 did. It also fits nicely with the design trade offs made in the P7 and the Jackson stuff is almost spooky.

    I want to see it for real before I am convinced it is true, but that is probably because I see it as such a big leap forward.



    Good post Moridin, except you forget that you don't need OS support if you can pass a microprocessor off as "multiple" microprocessors.

    By Moridin December 22, 2000, 09:16 AM

    quote:Originally posted by Conrad Song:

    Good post Moridin, except you forget that you don't need OS support if you can pass a microprocessor off as "multiple" microprocessors.

    Yes, but I really don't think this is the best way to do it since it would probably require a lot more logic on the processor itself. Some of the stuff I have seen on sledgehammer make me think it may do something like this. I think there is a slight possibility that it will (was to?) have 2 cores on 1 die and have the 2 cores able to share execution resources. Some reports suggest SMT support would add only 5 % to an OOO core. Going with a CMP configuration that shares execution resources would almost double die size. You may be able to get something in between, but software/OS support is the best way to go in the long run.


    Contact Us | www.SharkyForums.com

    Copyright © 1999, 2000 internet.com Corporation. All Rights Reserved.


    Ultimate Bulletin Board 5.46

    previous page
    next page





    Copyright © 2002 INT Media Group, Incorporated. All Rights Reserved. About INT Media Group | Press Releases | Privacy Policy | Career Opportunities