AMD Reveals Plans to Move Beyond the Core Race
J. Dzhugashvili writes "The Tech Report has caught wind of AMD's plans for processors over the coming years. Intel may be counting on cramming 'tens to hundreds' of cores in future CPUs, but AMD thinks the core race is just a repeat of the megahertz race that took place a few years ago. Instead, AMD is counting on Accelerated Processing Units, chips that mix and match general-purpose CPU cores with dedicated application processors for graphics and other tasks. In the meantime, AMD is cooking up some new desktop and mobile processors that it hopes will give Intel a run for its money."
Intel pushes the 'more power! faster!' philosophy while AMD just redesigns the architecture and it takes Intel a few years to catch up. Not much has changed since 2000.
"No, no, no, don't tug on that! You never know what it might be attached to."
Two different methods that achieve the same result are better than one.
Jonathanjk.com
This is the type of innovation that usually comes when there is true competition in the market. Imagine how much better the OS market would be with similar competition.
By going in slightly different directions AMD differentiates itself from Intel. There will be things it does better and it will prosper in those areas...
That sounds great and all, and the AI that the article mentions really does sound interesting...but I am not clear on how a processing unit for extremely specialized tasks is going to translate into significant performance gains? Is the current generation of CPU not optimized for mathematic operations? This seems the most direct way to get the best all around performance, to me. Also, isn't it kind of sucky to make the processor only good at a few good things rather than fast in a diverse range of applications?
If anyone can give me any insight here...please speak up.
Thanks
- I post interesting things or short articles I write here
Censorship is obscene. Patriotism is bigotry. Faith is a vice. Slashdot 2.0 sucks.
For the same reason that ATI has been so successful in the graphics market, AMD will dominate the CPU market. I think it is apparent to everyone that neither AMD Athalons nor Intel Core Duos run on video cards -- and because video processing requires different architectures to optimize performance for different applications (like video, sound, math etc.) - AMD will be a clear winner in the overall processor space because of this direction.
This is great news for AMD, and clearly shows innovation vs. the status quo.
Lindsay Blanton
RadioReference.com
Nvidia, please make a board for solving small instances NP-complete problems. Mainly max-clique and graph coloring :)
bash-2.04$
bash-2.04$yes "Don't you hate dialup connections?"| write USERNAME
Intel would be better off if they where to start useing hyper transport Even having two cores on same die with linked by hyper transport to each other with one link to the chip set is better then 2 cores shearing the FSB.
What is the point of having 32 cores with only one link to the chip
Even with the new Xeon's there still only one link per cpu and the cpus need to use it to get to ram
Amd chips right now have up to 3 newer ones will have up to 5 links
That sounds like the Amiga's way of doing things...over 20 years ago! I'm glad it's catching on, and I'm glad AMD is doing it; AMD usually gets things right, and makes their products a lot more affordable than Intel...
/vjl/
My Daily photo website.
If manufacturers compete on cores, instructions-per-clock, and such, then consumers come out ahead. If AMD goes off on a tangent pulling random application-specific "accelerator" cores out of its ass, only products that specifically support the proprietary cores will benefit. It will be a huge hassle for developers, and a large portion of the marketplace will see no benefits.
Multiple general-purpose cores are the way forward. If AMD goes through with this strategy, both the company and its users will pay dearly.
Sounds like OS-dependency and driver hell to me. Imagine if you had an MP3 decoding co-processor, an MPEG-2 encoding co-processor, an Excel co-processor, a GCC co-processor... getting it to all work seamlessly would make today's 200MB video card drivers pale in comparison. So you install WMP version 42 and you have to check "use dedicated MP3 coprocessor" in Tools->Options? The whole point of CPUs is that they are general purpose.
I want to delete my account but Slashdot doesn't allow it.
infinitely parallel. Gaming on one hand, can be very much parallelized. With physics and an ever increasing amount of vertices to transform and AI to calculate, and in general crap to render.
A lot of other software is not. Such as: Office productivity, operating systems...(these can benefit, but ultimately they'll reach a limit).
The other question is, when you put hundreds of cores on a chip, how do you handle logistics of accessing cache? Or cache coherency?(not required) They it'll go up to 16 or so cores before they might run into some cache latency issues.
I think the other question is... how long till software catches up? We're at a point where hardware has been carrying software. Software is coded for the most part, pretty crapily(thanks to out of order cores). When are the software designers going to get with the program and leverage hardware more? I know hardware is very dynamic. But, now we're seeing hardware reach it's limit, and that multiple cores don't do anything unless some key multi-threaded apps are running.
Where will all the optimised code come from?
What will the cost be in making it all work 'just' for AMD?
How locked in would any code be?
Over the life of a project, will it be worth 'porting' code to AMD?
Domestic spying is now "Benign Information Gathering"
Make Boards that support both chipsets, both AMD doing its thing and Intel doing its thing, on the same board.
Apps take avantage of the processor which performs better.
and/or graphics/buses get dedicated to one cpu while the other tries to figure out why Vista has duplicate coding.
Yay! I dislike Intel (I get a negative vibe from them, man) and generally like AMD. I hope AMD gets some real success as Intel always seems to outplay them in terms of getting their product into our machines.
The most interesting thing for me was the mention of "Hybrid Graphics":It also looks like they're also extending the Fusion concept along Cell-like lines, with additional cores for non CPU or GPU purposes.
Their road map through 2008 only talks about up to quad core, although I assume this means CPU cores (I'm not sure that I would accept a CPU+GPU on a single die branded as a 'dual-core' chip). I think the Cell has eight cores, but due to yield issues not all are enabled in a PS3, and they are not all functionally equivalent. I don't know if this is the case for the Cell-based IBM blades, though.
The roadmap basically looks like periodic refreshing of the product line reducing power consumption with each iteration, which is where I think Intel have got a head-start on AMD. However, if AMD can sort out the yield issues, and compilers and developers begin to take advantage of these "associate" cores in Cell and future AMD architectures, then maybe Intel will have turned out to have missed a trick, as they did with x86-64.
"There is nothing nice about Steve Jobs and nothing evil about Bill Gates." - Chuck Peddle
There is no theoretical reason why you could not build special-purpose processor units for different types of special-interest operations. There are so many that real-estate becomes an issue, but if you're willing to put up with Yet Another Socket Type, you could easily see AMD replace a sizable chunk of the maths libraries in Linux or Windows with hard-coded implementations hundreds of times faster than software is capable of.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
Worth noting that this strategy may well have at least occurred to Intel already.
It's not a new idea to mix lots of kinds of cores on one die: Intel's IXP network processors have been available a number of years now. These combine an Xscale (StrongARM) core with a number of specialised network processing-oriented microengines. The Xscale can run Linux and acts as a supervisor to the microengines, which do the fast path work of actually processing the data. The microengines are streamlined to be able to do this job quickly, meanwhile the Xscale is able to run control plane and management code efficiently - because that's what it's designed to do.
It'll be interesting to see if Intel also use this strategy in their future desktop and server CPUs - it certainly makes good sense, and it's an approach they've already productised in other areas.
20 people asking "Why would anyone need this?" :)
50 people replying "I encode video"
45 people replying "Games"
10 replying "Babes of course"
1 karma whore incapable of making a decent top 10 list.
Cwm, fjord-bank glyphs vext quiz
Does that mean they're finally going to hire some Pacific Islanders, Basque, Thai, Pygmies, or Mayans?
--
make install -not war
My experience has been that intel does provide a more durable chip while amd is always a budget chip. I would rather find a way to overclock an intel than deal with amd's already pushed values. Quality control of the two are way different.
I am due to get my Last of the Windows line XP machine real soon. (I saw an announcement about Intel's successor to Kentsfield, so I have to get the specs on that.) My purchase timeframe for this is rather tight.
This will be the last Windows machine I will buy, and I plan to let it do its thing in the corner running specialized apps forever until the circuits fuse.
I will be going into a purchase freeze to let "everything else" sort itself out to see "who's on top in 2010 and beyond". I suspect by that point AMD will have caught up to their 2006 projection, and whatever that machine becomes, it will likely have an AMD chip.
I will shortly become a Thundering Newbie with my first Linux box. This will be dirt cheap so I can proceed to make mistakes with less fear of risking serious money. I'm sure someone will howl at some of my posts.
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
I would welcome application specific processors. Example, I primarily just use a web browser and the internet for my primary computer use. If they had such a chip, that's what I would buy. The guy next door primarily does gaming, he wants something else. Dude down the street uses one at the office, does text processing and some spread sheets, he could use something else. My other next door neighbor is a movie freak, he wants a media PC to show high def movies every evening.
What you want-here is bad car analogy time-is some vehicle that is a truck, no it's a sportscar, no it's a bus, no it's an off roader, nope it's a dragster, no it's a commuter car. What we have now is a one size fits no one really well, whereas application specific makes a lot more sense, especially if it is modularized and plugin-able to the mobo. That "general" PC is (for conversational purposes) what we have now and obviously we are having problems with it, and just throwing horsepower in general at a problem doesn't get you a bus, or a truck or a sportscar, you have to look at the whole thing and design it for what you want to do. We are starting to get diversification, but it is still more a general PC than not, and I think havng dedicated machines would make a lot more sense and actually save some cents down the road, as you could get what YOU need and want as opposed to some generic thing that only half-way does what you (you is joe random consumer) want no matter how much cash you throw at it.
Compaq used to sell those; they're called transputers and came as a PCI card with 4 FPGAs, some RAM, and a PowerPC CPU.
So Intel is betting on more and more cores, and AMD is betting on more and more integrated units. Wait... why not, y'know, BOTH? A 16-core CPU with an integrated high-end GPU sounds sweet.
With spending like this, exactly what are "conservatives" conserving?
Personally I can't imagine taking on more than 4x4 PrOn action in a day. Maybe 16x16. Anything more than, I get cognitive dissonance. Islam has a limit of 4. How wise.
It's already been done. There are several companies that produce a board with an FPGA and the necessary logic to plug it into a CPU socket on a multi-opteron (hello AMD) system board.
;-)
Check out the Xtreme Data xd1000 for a device that looks interesting. It sits on the HyperTransport bus and can can bridge to others (useful if you had a few extra sockets to spare).
There are other devices and toolkits like this - check out Google for more data.
And no - I don't own one - but I wish I had the money to buy one
Buy now and the Vista upgrade will be free. You may want that DVD.
I'll take the odds that in 2010 Vista will be dominant in the home market and growing very strong elsewhere.
That anything in free and open source of interest to end users will be ported to Vista or begin as native Vista applications. That anything in hardware of interest to end users will be shaped by Vista.
Are there any big architectural differences between multiple, specialized cores within a die and multiple, specialized units within a core? If so, what are they?
Heads up, Nvidia. There will soon be a market for chipsets that support both CPU lines SIMULTANEOUSLY. Get the best of both worlds, literally.
Good on you dude. WHile you might have a little trouble when you first go to use the command line, once you're semi proficient you will feel the freedom from MSFT.... it totally rocks.
But these "application-specific processors" arent "processors for one application." They are processors that do a specific type of calculation; for instance, a TCP/IP stack implemented in hardware, or a physics unit, or a graphics chip. In order to make a web-browsing "chip," you would need a bunch of these specialized chips, which is why most applications/programs/binaries are run on a general processing unit. In terms of you not-so-bad car analogy, for a browser, you need a car that is a bus, and an off-roader and a commuter car (or whatever). It needs an "SUV" of a computer chip. So if you primarily use a computer for web browsing, then any CPU is going to be fine because browsers aren't computationally intensive (although if you use Firefox maybe grab some extra memory???); meanwhile, the gamer might like that physics coprocessor because that would speed up games that support the processor and the media guy might like an operating system that supports a lot of offloading of audio/video computations (*cough* OS X *cough*) to the graphics card AND a really nice graphics card. There already are specialized processors in a computer these days, but there are only so many processes that can be specialized simply*.
*Doubtlessly, this is what AMD is researching: trying to make everyday tasks into some special form that can be run through some super-extra-optimized pipeline...I am just unsure of how that can be done in some/a lot of cases.
It has been a nervous year, with people beginning to feel like Christian Scientists with appendicitis.
Went to a talk in Fort Collins (AMD opened a design shop here) where the speaker said just this. That Amdahls law applies, and no matter how good the hardware is there is always some serial portion which will not give the performance boost you want. And parallelism is hard to implement. So basically, he broke down AMD's strategy in to a die that has specialized accelerators, one big CPU and multiple smaller CPU's plus cache, etc. So that stuff which can be parallel has multiple cores, stuff which is not has cores which are less power hungry. Interesting stuff.
The two big obstacles to getting better performance from parallelization are that (1) some problems aren't parallelizable, and (2) programmers, languages, and development tools are still stuck in the world of non-parallel programming. So from that point of view, this might make more sense than simply making a computer with a gazillion identical, general-purpose CPUs.
On the other hand, I'd imagine that most of these processors would sit idle most of the time. For instance, right now I'm typing this slashdot post. If I had a video card with a fancy GPU (which I don't), it would still be drawing current, but sitting idle 99.99% of the time, since displaying characters on the screen as the user types is something that could be done back in the days of 1 MHz CPUs. Suppose I have a special-purpose physics processor. It's also drawing current right now, but not doing anything useful. Ditto for the speech-recognition processor, the artificial intelligence processor, the crypto processor, ...
There are also a lot of applications that don't lend themselves to either multiple general-purpose processors or multiple special-purpose CPUs. One example that comes to mind is compiling.
On a server, you're probably either I/O bound, or you're running a bunch of CGI scripts simultaneously, in which case multiple general-purpose processors are what you need.
For almost all desktop applications except gaming, performance is a software issue, not a hardware issue. I was word-processing in 1982 with a TRS-80, and it wasn't any less responsive than Abiword on my current computer. Since I'm not into gaming, my priorities would be (1) to have a CPU that draws a low amount of power, and (2) to have Linux do a better job of cooperating with my hardware on power management. I would also like to have parallized versions of certain software, but that's going to take a lot of work. For example, the most common CPU-heavy thing I do is compiling long books in LaTeX; a massively parallel version of LaTeX would be very cool, but I'm not holding my breath.
Find free books.
I do have my doubts about Intel's "more cores than you can shake a stick at" approach. I can't see the use in more than a few full-speed cores. They all have to be able to get at instructions quickly or most will just spin their wheels so hundreds of cores are a big challenge in more than just a making them fit and operate together sense. How much can we parallelize before most of the cores are doing little to nothing because their caches are empty? For that matter, the average user doesn't usually utilize one CPU core fully. Even on Dual-core (including actual dual CPU) desktop machines both cores are rarely needed for a responsive computer.
Intel's standpoint seems to be that there's a world of data crunching lurking in all our computers (automated photo sorting, face recognition, and photo-realistic rendering), but none of these strike me as killer apps waiting to happen. All are things we could get used to and come to depend on, but I don't think any of them are being held back just because of our computing capacity, although photo-realistic rendering may be close. I'm pretty sure these aren't solved problems yet. Even if we were itching to do all this, one can only sort so many photos. It seems a bit wasteful to have all that power waiting around most of the time. Are we really nearly living in a world in which computing power is so plentiful that we can have that kind of ability even though we hardly ever use it?
On the other hand, AMD's approach seems to have more immediate application. Video/audio encoding and other parallel processes are things that many of us do do frequently. A couple hundred cores could be pressed into use for this, but that seems much less elegant than purpose-built hardware.
I don't know which approach will be best in the long-run. Probably both. It does seem to me that Intel is at best a few years to early to be hyping large numbers of cores.
First we made specific hardware for the task at hand.
Then we made more general hardware and specialized with software.
Now we're making specific hardware again...
Mod this guy funny. I havent laughed so hard in days...
Why would you want Vista?
If they came out with something like this, it would be nice if they offered C and Fortran compilers that were specifcally tuned to take advantage of their new technology. Maybe I'm just too picky, but I don't think it's unreasonable to think that a chip maker provide offerings tuned specifically for their chips.
I use Linux daily at work, but, I have no driving need to have a Linux box at home. I don't do that much worky stuff at home. I'm already burned out after doing it all day at work (and if I need to do more work, I can ssh in with Cygwin from home). And you really can't game on Linux. Yes, I'm sure some games are compatible with various Linuxes (the only one that comes to mind is Puzzle Pirates, and that's because it's written in Java), and I guess there's Windows emulation. But let's be honest. You're not gaming on Linux.
Mac, well. I can honestly never see myself owning one. If I was going to go another OS, it would be Linux for its flexibility. Apple just makes me nervous with all its proprietary stuff. I know lots of people own Macs and are happy with them. But the number of programs in general that are written for Mac is too tiny for me, games especially.
I have a box of junk in the corner with a bunch of games in it, and out of curiousity, I pulled them out while writing this, just to see which were compatible with Mac right out of the box... not with some lameass windows emulation that will run it at 1/10 speed, but actual Mac compatibility. Everquest (and about 7 expansions): Windows. Yeah, there was a Mac version a few years ago, where you get to play on your very own Mac server. Good luck with that. GTA: Vice City: Windows. Knights of the Old Republic: Windows. Dark Age of Camelot: Windows. There are plenty more in the closet. In fact, I'm pretty sure that the only one in my entire collection that is compatible with Mac right out of the box is World of Warcraft.
But I hate World of Warcraft.
Sorry, but, my home box is my entertainment. And Microsoft knows it too. They agressively pursue the gaming angle with developer tools. Now they've got XNA, with the goal being to write a game once and have it play on both xbox or windows with a minimum of development fuss.
They know where their dollars are coming from. They court the market, because they know geeks like me would flee if Linux could entertain me even 1/100th as much. So what I'm saying is no, no there is no Windows competition, not in my market.
My script don't crash! She crashes, you crashed her!
well since it will come preloaded on every computer sold from major retailers, most people wont have a choice, and since dx10 is locked onto it, if u game u will want it.
if none of the above, then the only reason would involve poor decision making skills.
Or .... how we got here
As a developer in R+D at Intel thu the 90's and into 2003 I was privledged to watch the PC grow up. Like some I can remember DOS 6.x and Windows 3.1 ---- and the joy of spend hours getting new HW to work ( IRQs etc.) Both Intel and MSFT wanted the PC to gain market share. Microsoft pursued Win95 - 98 ---- XP --- along the way working with Intel (and the industry) to get true plug-n-play working etc.
Intel took a 2 pronged path: develop and design their own chipsets (a good thing), and make the CPU do EVERYTHING. This was the mantra in the 90's and up until I left. The CPU must do everything !!! This was seen as a way to get out of driver / IRQ hell. You see by having the CPU (along with a chipset feature) handle audio you've eliminated the need for a sound card and customer complaints - and the "perception" the PC is crap. THE CPU MUST DO EVERYTHING !!! Soon CPU+chipset graphics came to be ... MHz sprialed up to handle the growing CPU workloads and supporting MSFTs bloatware and GUI. Then the GHz wars were on ....
But I have to give MSFT credit for refining plug-n-play - APIs - HALs - etc (Linux and OSX have done the same) -- the key here OS's and Apps now easily handle drivers - interrupt mapping - etc. Yet Intel continues to put all the computing marbles in the CPU ---- leading to bottle necks - thermal / power build-ups - etc. The time is coming where we need to "distribute" processing power. Yes we still need a central CPU for overseeing the system -- but we can also use a dedicated GPU --- and an IO processor. Such an arrangment not only helps to distribute the computing load -- it also disperses the thermal and power load .... no mega-hot-spots of a CPU DOING EVERYTHING. Sounds to me like AMD is moving to a notion of "universal" cores -- could be a first step towards a new architecture ----- who knows ----- but from my point of view the primary CPU should be handling key OS tasks and monitoring security and platform health ... not pumping out GFX cycles or audio effects etc.
Its not the years, its the mileage
wow. reading the comments on techreport.com in response to the article, i find a comment culture dumber than slashdot.org. a lot dumber. so incredibly stupid....
So, what kind of "special" cores would be useful for:
- gaming
- development
- database servers
- terminal servers
- streaming media servers
- artificial intelligence?
What I mean is, what kind of specialized computations would significantly improve the performance of tasks that are efficiently implemented in a co-processor?
WARNING: Smoking this sig may cause lowered IQ, insanity or short term memory loss. It is also really bad for your monit
thanks for the reply, makes sense. Did you see the other link mentioned elsewhere in the thread about the Via chip with built in crypto? That looks interesting and along those lines, I might actually buy one of those just for the low power aspect, as my needs are modest and I don't really need some power gobbling monster machine. I guess I would like (the potential) one of each of all of the above on the same multicore, or at least all on the mobo, double plus good if they were all in replaceable format and not hard wired, so you could upgrade as your needs change or better specific processors come out. We sort of have that now, video cards, sound cards, the CPU itself, we just need some more options there, sort of make that idea evolve more if you know what I mean. We should have a dozen options that can be upgraded diectly on the board as regards processing.
IRQs...
Wow... I didn't even notice that I haven't heard that word in almost 10 years. Now I suddenly feel frustrated again, but sort of miss making long lists of used IRQs just to get something trivial to do something trivial.
A patriot must always be ready to defend his country against his government. -edward abbey
In the end of the p4 era this would be laughable. Intel jolted up the voltage up so high to reach those clocks it's not even funny how much heat those things produced.
I've had a xp 2100+ overclocked from 1.7ghz to 2.4 ghz running fine for over three years. Build your own system with quality parts and it wont' be an issue. A lot of system makers used to see amd as only a budget box and used cheap components in the past.
Hmmm... Pie...
The killer app, sadly, is probably going to be DRM. Look for some scheme where the encrypted video goes from the network port to the display without the bits ever being accessible from a user-programmed CPU. We already have Microsoft's scheme where video and audio are pumped around within the operating system kernel without ascending to the application level. Look for that to go entirely into a single IC.
It can take several seconds to program an FPGA bit serially via a JTAG port, but if it had a parallel I/F it could probably be reprogrammed much faster. In any case the reconfiguration time is inconsequential to the potential benefit.
:-)
Suppose I could implement my own custom instruction that would compute a complex function such as something used in cryptography, matrix inversion, or whatever I choose that is built-in to the very fabric of the CPU and has access to its internal registers? The instruction could be started and then proceed without interfering with normal CPU instruction execution and then interrupt the processor when that custom instruction is finished much like PCI boards containing math co-processors do, except that if a language like Verilog or even the CPU's own microcode (not the macro instruction machine code the OS executes) were used, I for one would welcome such an architecture with open arms because I recently learned Verilog and adding instructions to the CPU instruction set sounds like great fun. Any suggestions for additional machine language instructions you would like to see?
9/11 Eyewitnesses to Explosive WTC Demolition 1 of 2
I don't want more cores. I want more memory bandwidth. When crunching lots of data, that's all that matters. Adding more cores when you are memorybound is totally useless. I'm experiencing this exact problem as I write this, because all those speedy cores in a single CPU share the same memory bus, and my company's application sifts through memory like nothing else. I get a paltry 20% scaling increase going from one core to two, but I get a full 98% adding a new CPU rather than just a core. I am afraid to think how useless quad cores are going to be. More than likely only a few percent scaling.
Windows supports POSIX: look here.
In any case you have a point in that Microsoft does not really encourages programming for POSIX-compliant OSs, but just for Windows.
with processors and such to control individual areas instead of one trying to do it all? We have PCs, minis, and mainframes where I work. The network (read:pc) based development groups used to laugh at us when they got a new system, usually with gigs of memory and multiple processors while our distro center production systems used 1g processors with 512mb ram.
That was until they realized we were serving 50+ users and doing batch work at the same time. The volume of print alone was beyond their servers to handle coming in for distribution so we had to write routines to email from out "so small mini"
Of course the mini had an advantage. That processor wasn't alone in getting work done. It also had a real OS under it that managed system resources at a level of competence that most PC based OSes could only dream of.
So if we get the hardware which is similar to the mini/mainframes how far behind will be the OS?
* Winners compare their achievements to their goals, losers compare theirs to that of others.
DX10 and games.
The transputer was an invention of Inmos and they were interconnected little CPUs designed for parallelizable task. Transputers had an own language, Occam where for every block you had to specify if its instructions were to be executed in serial or parallel manner.
It was a rather fascinating system (especially for its time) but it has died on the market.
(Sorry for the off-topic ranting, but I programmed these during my studies and quite liked the concept)
Real life is overrated.
Instead of more cores or more processors why cant coders just be more efficient. I am giving nitnendo as an example. They can get graphics and performance out of their lower spec machines that people are amazed about.
For this to work, there is a need to set a common API for the hardware acceleration. Otherwise, everybody has to do the same thing over and over again, or just ignore the instructions altogether.
Take for instance the C3 processor from VIA. The latest already do SHA, AES, RSA and hardware random generation. Will AMD use similar instruction sets, or will they use completely different instructions or even processors? How am I, as a programmer, going to use these instructions? These instructions should also be very well specified. For instance, the current SHA implementation of VIA doesn't allow streaming (from Java at least), you first have to put everything ready in RAM. That's not a good thing (TM), and could have been avoided if they left the calculations to the last block to be hashed out of the hardware.
Another thing is software support. Buying a C3 will do nothing to your existing applications, unless they use a plugin structure for software. E.g. in Java you can put a specialized VIA "cryptographic provider" in front of all the other providers, and the C3 will be automatically used. It can also be used within Windows using the CSP software library from VIA. But from NSS, the Netscape Security Suite also used by Firefox, you are still using the normal CPU instructions. For things like compression, which is almost always directly programmed in software, it will be much harder to use the additional instructions. Applications, in other words, should not only use threads, they should also be pretty modular and plugable (the next software revolution I hope).
Although I am very much in favour of speciallized instructions, I think a good support structure would be very much needed. Fortunately, AMD (or VIA for that matter) does not have a very bad track record on standardization. Or Open Source for that matter.
I think that a CPU company should attempt producing a CPU capable of running code written in functional programming languages. A CPU like that would contain thousands of arithmetic and bitwise operation units, all capable of operating in parallel. The O/S would be responsible for assigning jobs to those operation units, according to what the functional program was trying to achieve. This approach could speed up operations tremendously for functional programs, because usually functional programs greatly minimize dependencies between their parts.
This approach is also more economic in the long run, because making CPUs with multiple cores requires lots of complex hardware, whereas multiple execution units are much easier to achieve: multiple cores must have different CPU contexts, and lots of complicated hardware to achieve out of order execution, whereas functional units are out of order by default (no dependencies, remember?), and the only need is for synchronization hardware.
Sounds like AMD wants to put a core down for each function. Reminds of that neat little gadget back in the day called the Amiga.
Can't wait.
Don't you just hate it when people reply to your signature?
http://www.amd.com/us-en/Corporate/VirtualPressRoo m/0,,51_104_543~114948,00.html
45nm with a decisive design edge hrm
And cheaper to manufacture!
can't wait.
Intel has always been pushing for ways to improve the current system architecture out there, and only makes a change when they run out of room and competition is too hot for them. AMD on the other hand has continued to look forward toward that time when their current processor design will run out of room, and works to improve the overall system architecture.
Now, the whole multi-core race idea really was started by AMD when the K8 architecture was released. At that time, AMD knew there would be an issue with ramping CPU speeds well before that, so designed the K8 with dual-core in mind. HyperTransport and integrated memory controllers were the two really defining technologies that AMD came up with(with the help of others). So, dual-core finally was released, and AMD really had an almost easy way to take the current K8 design and with additional HT links, expand to quad-core, though more pins might be needed to add additional memory bandwidth between the CPU and memory.
Intel finally got their act together and released a good dual-core processor with a number of things that allowed them to beat AMD in terms of performance per core. AMD had their K8L design in the works, but "keeping up with Intel" is no longer what AMD aims for, they look for how to get ahead of Intel. So, the system architecture needs to advance faster. How do you make the entire computer run better? AMD continues to work on this while Intel only looks at taking current designs and tweaking them. Quad-core is where we are going right now, Intel looks at hundreds of cores. AMD looks at it and sees that individual applications will hit a point where adding cores will NOT improve performance. So, AMD looks at other ways to improve application performance.
Intel may have advantages over AMD in terms of technology and resources, but they follow AMD when it comes to the direction the computer industry will eventually go in. Multi-threaded applications won't necessarily go beyond 8 threads, except perhaps things like AI or server applications where MANY connections are being handled at once.
For those who feel that going with multiple processes to handle this sort of thing, no matter what operating system you are running, starting a new process has a certain overhead, and all these different processes can cause administrative headaches, both for the user and the OS. Multi-threading tends to be a better way to go, even if the majority of programmers don't have a lot of experience with this type of program design. Multi-threading requires the application designer to design first before programming begins, and too many companies out there don't do this.
C++ programing needs a professional (and probably expensive) programmer. If they can code some parts in assembler that's a bonus.
.NET programming only need a cheap fresh graduated CS mayor.
Java and
Performance hurts, but is cheap!
We are Turing O-Machines. The Oracle is out there.
My comments brushed over a lot of history - but bottom line is that Intel is still stuck on a "centralized CPU" model - and this view is based on 2 things: the left-over view that the CPU MUST DO EVERYTHING, and because they are a CPU company .... they fear letting the CPU becoming marginalized or diluted. But lets face it - new OS's and apps are doing more and requiring more specialized resources. Video - audio - and IO needs will grow every year. And since modern OS's and Apps have under-pinnings that play well and hide complexity from the user --- the future of computing IMHO is a more specialized and distributed PC architecture. Yes lots of cores in the main CPU (for running multiple concurrent OS sessions) -- but a mother board should also have company's ABC GPU and companies XYZ IO processor ------ thus off loading the main CPU from these tasks and more importantyl resulting in greater overall performance / thruput. And yes a future system might also automatically adapt its "cores" for the task(s) its doing. A universal core model could be just a "black-box" specification ... company ABC add value by making the core contents + driver stack superior to its competitors .................. I'm no longer in the game - but I love to watch the wheels go round and round
Its not the years, its the mileage
Intel's approach is to put lots of general-purpose cores on a single die; AMD's approach is to have a couple of finely-tuned cores on a single die. I really don't think there's much of a difference, as once can speculate that lots of general-purpose cores could perform on-par with a couple of finely-tuned cores.
Competition is a wonderful thing!
No, I will not work for your startup
I don't want multiple-core chips as much as I'd like them to reduce the costs by shrinking the die size and lowering the defect rate. Instead they use their old pricing models and cram on as much as they can as long as it fits into the old cpu pricing model.
I'd like to see some different thinking that shakes things up; like having the cache become a part of main memory. For some uses a cpu with all its RAM built-in would be just fine. For others a slower external ram could be used in addition. For some a server-farm-in-a-box with dozens of cheap cpus with self-contained ram would be ideal.
I would like to see a progression in cache size, bandwidth, and autonomy. With all that extra space they could be putting in 1 to 1 caches that are massive. There is a hit on anything that can not be contained in the caches. Swap out to main memory, then swap to disk...
Related example ideas:
CPU with 1Gig of on chip RAM, memory controller, custom 'direct' linkup for a few other chips, such as a gpu. Autonomous switching client for a more network-like "bus". If I want more cpus, I can plug them in while the machine is running. Somewhat like a cluster in a box.
How about hardware accelerated STACKs? that would save a lot of power and provide a speed boost! Everything heavily uses stacks! Its not a new idea to have a stack based CPU, they are impressive and support for that use would be nice.
Or how about shrinking the space by avoiding multi-core waste?
Cpus that just are smarter at managing work among sub-units? For example: I have multiple FPUs and 4 cpus, if 1 cpu needs more FPUs it can't schedule to get unused time from the other 3 cpus can it? In a sense, I'm talking about extending hyperthreading to the next level and actually adding enough hardware so was like multiple cpus.
Anybody doing anything with acceleration of neuron nets?
Democracy Now! - uncensored, anti-establishment news
"In the meantime, AMD is cooking up some new desktop and mobile processors that it hopes will give Intel a run for its money." Isn't that the point of basic competition amongst companies in the same industry?
....yet another completely missed joke
"Women are just like ninjas; They lie even when it is more convenient to tell the truth." ~ Unknown
Here's my post in simpler form for all the OffTopic modifiers.
t els-roadmap-quad-core-yorkfield-set-for-q3-2007/
Because I have a software induced decision to make right now, I will go with an Intel CPU chip. If no surprises appear, that is slated to be the first of their new 45NM process currently code-named Yorkfield. I learned about that here.
http://www.engadget.com/2006/09/29/gazing-down-in
Overall, I agree with the long term prospects of AMD's research by staying at fewer cores (I feel Quad is a good number), but buttressing that main core power with smaller dedicated assistant chips that take the brunt of specific tasks. The timelines I have seen indicate that AMD is still a chunk of time away from rolling out their 45NM process, which I feel is the milestone to finish out the decade. Their compound core-plus-support chips are not due out for about 3-4 years.
Am I back on topic now?
Captcha word: Latitude.
45NM process and related tech is supposed to be good for laptops, boosting battery life during times that less power is drawn for "ordinary-user" low power use.
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine