Welcome, Guest. Please Login 3dfx Archive
 
  HomeHelpSearchLogin  
 
Page Index Toggle Pages: 1
Send Topic Print
CPU's designed more efficiently (Read 294 times)
Andrew Boiu
Senior Member
****
Offline


LDE-BDreams

Posts: 267
LDE-BDreams
Gender: male
CPU's designed more efficiently
17.12.03 at 10:43:09
 
Quote:
Well, that Efficiency (in the example of the VIA C3 Design) unfortunately had a price :

Performance

The Performance of the VIA C3 CPU (given the MHz) is absolutely underground. That still leaves it Power-efficent and good enough for basic Office Productivity, but for anything beyond that it is outperformed even by 3-4 year old Processors, running at much lower MHz.


A very true thing. This is related to the CPU internal arhitecture. Somehow, from a large series of tests, the P3 at 1.4Ghz was performing clearly better than the "heavy marketed" P4, even with the limitations on the 133 FSB. This situation, basically is not uncommon. But a decently designed CPU, would be more efficient (power and speed) than a P4.

Guess that few remember the Cyrix series of CPU's, which were very low in speed in anything but Office apps. There, they would performed clearly better than their competition.

The most correct conclusion is: the CPU, if built specifically to support something, might do it with more that 10 times faster, than a "general purpose" one. However, the last 5 years, besides the superset of MMX, SSE, and 3DNow!, havn't showcased any major improvement, and structural working change.

My own opinion is that 64-bits will bring no immediate advantage, same as the AGP 8x. When the CPU's will be more "desgned to do that" they would make stunning results.

Although Microsoft is for about 10 years the main OS builder, why noone came with the idea of building some OS structured commands, directly into the CPU, to support the functions directly? I know this is a total control on the user's rights, but if Microsoft is already sold on every computer, and if you need MS for any program to hit it big, then why not build a limited series of CPU's designed to operate directly with Windows commands and instructions? If these CPU's would allow to use normal software as well, then noone would be totally upset. Microsoft would be a bigger monopoly, but Microsoft will still be, no matter what is done against it, for many years to come. Why not spend those years more efficiently, and with a greater experience, and less user problems?

Back to top
 
WWW  
IP Logged
 
FalconFly
YaBB Administrator
*****
Offline


3dfx Archivist

Posts: 2445
5335N 00745E
Gender: male
Re: CPU's designed more efficiently
Reply #1 - 17.12.03 at 11:16:56
 
I'm afraid you're mixing a couple of things there...

AGP 8x initially failed due to the limited RAM bandwidth of common Memory, which it additionally has to share with CPU and the PCI Bus.

Also, even working at a 100% of its theoretical performance, it would still reduce the effective Memory bandwith available to the GPU to a mere 2.1GB/sec , which today is far below what the onboard VRAM can offer. Add heavy usage (amount of Memory supplied via AGP Texturing) and complex Multitexture manipulation, and the framerate drops down to a crawl.

CPU-wise (64bit), the problem is not the CPU itself, but the long process of fully optimizing the Software for it.
Quickest progress is commonly seen with isolated, hand-optimized Assembler code, but widespread (useful) usage is only achieved when the Compilers have reached a mature state of Optimization (which takes years)...

And having OS-specific commands on a CPU would mean a waste of tons of valuable Transistors (e.g. integrated FlashROM), which are entirely proprietary.

Proprietary is something noone could possibly want nowadays, the flexibility (and compatibility) to run Linux (or any other) Software just as fine, was the key to the Success of today's PC's.

And finally, attempting to speed up something on CPU level, that is known to be among the most inefficient (memory-footprint) Code ever written for the x86 Architecture, would be almost useless.
Windows hardly uses a few % of today's high performance CPU's 'as is' already.

Helping Microsoft manifest their monopoly even further is probably the worst thing anyone could possibly want. (unless you seek unlimited, corrupted power and money)  Roll Eyes

...there is so much more out there than Windows, far more efficient and powerful. Over the last years, increasing numbers of Users have realized that (including myself, phasing out Windows on almost all Systems over time)
Back to top
« Last Edit: 17.12.03 at 11:19:38 by FalconFly »  
WWW  
IP Logged
 
Andrew Boiu
Senior Member
****
Offline


LDE-BDreams

Posts: 267
LDE-BDreams
Gender: male
Re: CPU's designed more efficiently
Reply #2 - 17.12.03 at 11:38:11
 
Microsoft could do that "Flash Eprom" System on one chip to have "hardware accelerated windows". Linux, or another system could do the same. The strange thing is that noone pushes in this direction, but ironically, we have Windows XP 64-bit edition and 32-bit edition that finally don't bring any true performance increase (at least for the moment).

The OS on a chip, is still a thing that too few actually feel that is the next, decent thing to come, to improve basically everything, and increas the systems effciency. This could be done by Linux, or any other system.

The AGP 8x: basically, the idea was that if you are making a higway's speed limit from 70mph to 160mph, there is no increase in speed for most of the cars who just can't move faster than 70mph. Also, since a "transport" must be complete, all the parts must arrive: meaning ones will be in 2 hours, others in a day. If things go the same way in computers buses, then you get no real benefit from a heftier, suposedly faster I/O, if the things that are attached to it, are just 2% faster than they used to be (that is how they become "designed for" the new platform specifications).

The software: if you look at HEX in a program, and you know the identifier for Nop (no operation), you'll see tons of unused, slack space inside a program (even with the latest C/Java compilers). More, the OS makes so that everything "suposedly" needed to be loaded, which wastes resources. The third thing: even when the program runs, the memory is not fully cleared when the program exits (you get less kb than before you started it), and the modules embeded in an exe or separated, built by the compiler, are written using every command the app may use, but the compilers themselves are not cheking what commands are actually used inside the program.
Back to top
« Last Edit: 17.12.03 at 11:39:57 by Andrew Boiu »  
WWW  
IP Logged
 
Micha
Senior Member
****
Offline


Got milk?

Posts: 317
Gender: male
Re: CPU's designed more efficiently
Reply #3 - 17.12.03 at 14:52:40
 
Quote:
CPU-wise (64bit), the problem is not the CPU itself, but the long process of fully optimizing the Software for it.
Quickest progress is commonly seen with isolated, hand-optimized Assembler code, but widespread (useful) usage is only achieved when the Compilers have reached a mature state of Optimization (which takes years)...


maybe that's one of the causes win longhorn takes so long (expected to come 2005)
imagine the ai and the physics system made possible by 64bit cpus.  Shocked

beside: i heard Microsoft wants to implement a rom on mobos w/o you can't run win longhorn...i bet that'll mean microsoft won't rule the market the next years, 'cause nobody's interested in a fully microsoft depending pc system (actually that's not what i expect from a personal computer).

to andrei & agp8x: keep in mind you have the possibility to upgrade your mobo's work-around area some months later when other hardware components like 3d accellerators will make use of such developments. then you don't have to buy a new mobo, so, not a bad idea yet.

--adding--

when thinking about pu design this one came to my mind: is it possible to use..let's say a graphics chip (and its board) for sound output? keep in mind the board's environment (not the output links, but the chip's interface etc.)...i don't think so..  Undecided
Back to top
« Last Edit: 17.12.03 at 14:59:51 by Micha »  

AMD Athlon XP Thorton 2400+/2GHz (256KB L2, FSB DDR266MHz) @ Barton 2800+/2.083GHz (512KB L2, FSB DDR333MHz), HIS Radeon 9800Pro, Kingston 768MB PC2700 DDR-RAM (CL 2-3-3-7), Asus A7V8X-X, Creative Soundblaster Audigy 2 ZS, Seagate 160GB 7200rpm ATA100 HDD, be quiet! 400Watt PSU, Windows XP Pro MCE05
WWW  
IP Logged
 
FalconFly
YaBB Administrator
*****
Offline


3dfx Archivist

Posts: 2445
5335N 00745E
Gender: male
Re: CPU's designed more efficiently
Reply #4 - 17.12.03 at 22:54:03
 
FlashROM's are far too slow to be useful for something like that...
It would drastically slow things down, compared to having everything run from RAM.

Besides, a socketed, minimum ~256MB (!) FlashROM hasn't been invented yet I believe.

Linux already exist in real-time Applications on ROM's, but those are designed to run specialized Appliances (often found in dedicated Signal Monitoring and Analysis systems, since many years)

The Memory leaks are frequently found in Windows applications, but far less in the Linux world (if found, they are immediately fixed). Windows, however, lives with these things since years, while MicroSoft never cared about it.

The 64bit Windows does bring one instant advantage :
Memory control, and breaking the 32bit limit...

While AMD's Opteron for example still "only" supports direct access to 48bit Memory Registers, that's still good enough for a few TeraBytes (!) of RAM (that should do fine for quite a while Wink )

But Performance-wise, the OS otherwise indeed doesn't have much to do with those optimizations (OS-related performance gains might be within a few % at best I guess)
The applications running with realtime priority will require extensive optimizations in order to really show-off an advantage.

One thing, however, is useful when comparing 32bit with 64bit :

Check some old 16bit Applications and run them under DOS (e.g. old 3D Vesa or Memory Benchmarks). You'll find that many of those running within a DOS Window under Win32 will show a significant performance boost (upto almost 100%).

In many years, I estimate almost the same (minus the increased overhead) should be observed when running old 32bit Applications from within a true 64bit Envroinment.
Back to top
 
WWW  
IP Logged
 
Andrew Boiu
Senior Member
****
Offline


LDE-BDreams

Posts: 267
LDE-BDreams
Gender: male
Re: CPU's designed more efficiently
Reply #5 - 19.12.03 at 10:05:47
 
First, I don't see an economical viable project to do 256 Mb FlashRoms. Next, I would add one extremely important thing: when you read from a ROM, you read slowly, that is why you need shadowing to speed things up, and make the slowly ROM to be readed only once.

A conclusion: rather use a fast RAM, which should keep all the needed OS instructions inside it, as long as the Computer is running, and don't let anything else enter the "cache". THIS way we would hit the amazing efficiency of true Programable Processor, the most efficient design there could be, to take fully advantage of the calculation power of the CPU, without passing some useless cycles through the OS--> it would directly execute an instruction, not decode it, and translated over and over again, each time it goes from the USER to GDI to KERNEL to Actual CPU instruction set...

At the somehow equivalent comparison between 16 bit apps running in a 32 bit environment, I agree until one point: what is the cost of running a 16bit app on a 32bit system? Around 50-75% of the resources needed to run a true 32 bit app. In DOS apps, yes, you can find out a performance increase, but in WIN16 apps, I never found a program to run faster on WIN32 that it did on WIN16. Again, I wouldn't say that it is a true performance gain, when on Windows 3.x you use the MS-DOS SMARTDRIVE cache, and on Win98 you use a faster, more performant disk access method (32 bit). Still, reading/writing performance (max MB sended) is not doubled up when using 32 bit Vcache on Win 98.

Finally, to be totally cruel, a 16 bit app should never run faster on 32 bit environment, than on 16 bit, since, until now, THERE WERE NO APPS to be forced by the system to split in two ther code, and run 2 paralel  processes. A 16 bit app runs as a 16 bit app, it only uses the full 32 bit bus, and that's all. Wasted space. It's rather the enhancements, the device drivers that make the difference.

Also, when a typical 32 bit app is using 4Mb, and a more common one is using 12Mb, then multiply this with 2, and what's the catch to run them on a 64bit environment, as long as they would take a full 64bit allocation unit, and nothing else? The answer: to buy more memory, faster CPU's, you know the rest. 64 bit is a must to justify the new 1Gb RAM modules, and 3Ghz processors..
Back to top
« Last Edit: 19.12.03 at 10:07:58 by Andrew Boiu »  
WWW  
IP Logged
 
dborca
Ex Member


Re: CPU's designed more efficiently
Reply #6 - 19.12.03 at 13:13:31
 
Quote:
A conclusion: rather use a fast RAM, which should keep all the needed OS instructions inside it, as long as the Computer is running, and don't let anything else enter the "cache". THIS way we would hit the amazing efficiency of true Programable Processor, the most efficient design there could be, to take fully advantage of the calculation power of the CPU, without passing some useless cycles through the OS--> it would directly execute an instruction, not decode it, and translated over and over again, each time it goes from the USER to GDI to KERNEL to Actual CPU instruction set...
Dude, do you know anything about x86 internal CPU architecture? Do you know what CISC vs RISC means? Do you know that current CISCy processors are actually RISCy ones, emulating CISC (for backward compatibility)? The whole RISC philosophy is break down everything in smaller pieces, so they can be paired more efficiently!

Ooookay, what the hell, instead of "mov eax, [esi]" instruction, why not have the instruction: "click on internet explorer then click on address bar then enter www.google.com then hit Enter".

Bear in mind that the above example must be coded as efficiently as possible. Yeah, Huffman will love this forest.

Quote:
64 bit is a must to justify the new 1Gb RAM modules, and 3Ghz processors..
Well, I agree on this one Grin
Back to top
« Last Edit: 19.12.03 at 13:23:33 by N/A »  
 
IP Logged
 
FalconFly
YaBB Administrator
*****
Offline


3dfx Archivist

Posts: 2445
5335N 00745E
Gender: male
Re: CPU's designed more efficiently
Reply #7 - 19.12.03 at 13:17:54
 
I'm sorry, but I think I'm wasting my time again...

*omg*, You have my blessing to try find someone that builds you a proprietary, Windows-only, 5 Billion Transistor heavy CPU then Roll Eyes

(I imagine having a ~500W power-hungry CPU doesn't fit everybody's ideas about efficiency though Tongue )

PS.
Reading everything from such a "Boot FlashROM" into Memory first (for speed), is effectively exactly what any OS is already doing today, just from HD.
You can install your Windows onto a Flash Drive, if you wish to see the effect of your Ideas for yourself...

Building a truly, programmable CPU has also already been done. Buy a Transmeta based Board, and see how it performs (power-efficient, but bad performance).
---------------
I, for my part, will in the meantime continue to take advantage of real Ideas built into CPU's and OS'es Wink

And apparently, you have never observed that there are computing Tasks out there, that take even a 3GHz CPU several weeks to complete.
Saying that nobody needs higher performance (or 64bit, for that matter), is about as wise as the Industry once stating "noone will ever need more than 640kB of Memory!".
(we all know how realistic that prognosis ended up, don't we?)
Back to top
« Last Edit: 19.12.03 at 14:12:18 by FalconFly »  
WWW  
IP Logged
 
dborca
Ex Member


Re: CPU's designed more efficiently
Reply #8 - 19.12.03 at 13:35:35
 
Quote:
And apparently, you have never observed that there are computing Tasks out there, that take even a 3GHz CPU several weeks to complete.


Thihihihi!  Grin Right! But, on the other side, sometimes that's the whole idea. If the regular moron with his laptop can brute-force attack your password... well!

Quote:
Saying that nobody needs higher performance (or 64bit, for that matter), is about as wise as the Industry once stating "noone will ever need more than 640kB of Memory!".
(we all know how realitic that prognosis ended up, don't we?)


Hooray! I'd just say the priority is not in SIZE, but speed! If the CPU still yawn waiting for the memory to deliver, it doesn't make any difference whether you have PI (=3.14) GB of RAM or 512 MB! this stands true for CPU freq as well (sort of).

How many circuits in a PC can flip at a 3GHz, apart from the CPU? Not too many!

Well, I got some memory from a dear friend last night.  Grin It's a DDR-RAM PC-400/3200 TwinMOS TWISTER. Before last night, I was forced to run 124 MHz FSB on an older MoBo, but last night, I used a new MoBo and boosted FSB up over 133. And the performance showed up!

Any overclocker knows that the first rule in OC is to decrease the multiplier and increase the FSB.
Back to top
 
 
IP Logged
 
Andrew Boiu
Senior Member
****
Offline


LDE-BDreams

Posts: 267
LDE-BDreams
Gender: male
Re: CPU's designed more efficiently
Reply #9 - 22.12.03 at 09:40:16
 
Quote:
And apparently, you have never observed that there are computing Tasks out there, that take even a 3GHz CPU several weeks to complete.
Saying that nobody needs higher performance (or 64bit, for that matter), is about as wise as the Industry once stating "noone will ever need more than 640kB of Memory!".
(we all know how realistic that prognosis ended up, don't we?)


I never said that there are computing tasks that don't take months on a 1Ghz processor, I haven't questioned the speed, but the lack of connection between "theoretic speed" and "actual speed".

More, I was never against 16 bit or 32 bit or 64 bit, when everything around was 8 bit. But the key is to use them wisely! Frankly, there were no doubles-up in speed when 32 bit appeared (and there was 16 bit at that time),  the gain in speed was 5%.

Technology obviously evolves, but there's a catch: time and money. 32 bit, as it evolved until now, proved that it can handle a greater deal of data, and an improved performance. But most of the time, when out of the drawing board, with tons of papers with calculations on how fast will perform, 32 bit is trully performing 75% faster than  16 bit. It never gets to twice the speed, due to various "out-of sync" processes.

64 bit will be a must in the future, but I was referring to the "frenzy" that was in 1995 to make everything "32 bit". The results: every program was compiled in 32bit code, but the results were not so amazing: 5% increase, or even no at all. This "frenzy" will appear again: and then I wonder... What's the use of having a program like Winamp written in 64 bit code, just to take up more processing power and bandwidth when there is a 3D rendering on the run? A 32 bit Winamp wuldn't be more than enough?

There are apps that qualify for 64 bit, and there are apps that frankly, are wasting space and time even in 32 bit... So, the key is being wise, and use 64 bit where is needed at most, not just to make everything 64 bit, to "suposedly" make everything faster. Rather make 2 really concurent 32 bit (processes) to run on a 64 bit bus, and then, having 2+2 processes (with the HT addition), we will have a computing arhitecture that is definitevely faster and a big step forward.
Back to top
« Last Edit: 22.12.03 at 09:46:21 by Andrew Boiu »  
WWW  
IP Logged
 
Page Index Toggle Pages: 1
Send Topic Print