The Most Hated PC CPU

Click For Summary
SUMMARY

The forum discussion centers on the IDT WinChip, a CPU that, despite being a technological success in the late 1990s, received significant criticism from users and reviewers. The WinChip utilized a unique design approach by focusing on cache size rather than raw performance, selling for $90 compared to competitors like Intel's Pentium MMX, which cost $400-500. The chip's optimization for business workloads over gaming and its underwhelming benchmark performance contributed to its negative reception. Ultimately, the discussion highlights how market timing and user expectations can significantly impact a product's success, as seen with the WinChip's failure despite its innovative design.

PREREQUISITES
  • Understanding of CPU architecture and design principles
  • Familiarity with cache memory concepts and their impact on performance
  • Knowledge of benchmarking methodologies and their relevance to CPU performance
  • Awareness of historical CPU market trends and competition
NEXT STEPS
  • Research "CPU cache architecture and its impact on performance"
  • Explore "Benchmarking methodologies for CPU performance evaluation"
  • Study "The evolution of CPU design: From single-core to multi-core"
  • Investigate "Market dynamics in the CPU industry: Case studies of successful and failed products"
USEFUL FOR

This discussion is beneficial for hardware engineers, computer architects, technology historians, and anyone interested in the evolution of CPU technology and its market implications.

  • #31
The P4 was bad. Intel scraped it off its shoe as soon as it could. But at the time, the public was gushing over it.

I suspect it was due to it's "excellent overclocking". People hadn't quite grasped that if the chip is stalled, it doesn't matter how fast you clock it.
 
Computer science news on Phys.org
  • #32
When people say they are great programmers because they know a zillion languages, I launch into my rant on data structures and algorithms. 1-2-3 couldn't adapr to the 286 because of its data structures. Had they done it differently, they could have sold a "1-2-3/286" for even more money.

Understanding data structures is far more important than being able to write "Hello World" in 20 languages.
 
  • #33
If you can program in one language the rest is pretty much being able to consult a manual (apart from the conceptual differences between OO, procedural, functional etc). As you say, knowing math and algorithms will get you much farther. Choosing a specific language amounts to choosing the right tool for the particular task at hand.

EDIT: Except if, as you say, you're on some particular chip and are forced into assembler, or doing some embedded task as coding a barcode scanner where you have no choice, but in that particular case it's almost just a question of coding a UI.
 
  • #34
The 1-2-3 problem was simple. They had a giant 400K or so data structure and could only address it a few 64K ar a time. Further, the whole thing was written in assembly for speed.

Their solution was an 8088-specific trick: use the fact that every physical address has multiple (I think 4096) to move these "windows" around as needed. This worked as long as the trick did.

A better solution would have been to a) transition to C for tasks where it was suitable, e.g. reading and writing files to disk, and b) use a more suitable data structure. This would probably be some kind of tree, with dozens or hundreds of segments, not thousands. Segments would contain dozens or hundreds of largely dependent cells, arranged into branches. This would take some thinking and real work. Just because it is possible doesn't mean its easy.

I suspect by that point Lotus was more interested in selling the company than selling spreadsheets. (Which they did) And fixing a problem that low level in the design is tough.

I won't claim to have seen every C trick that assumes pointers are ints, but suspect that a) speed increases at the application level were marginal and b) the sane thing could be done with unions.
 
  • #35
Trying to remember this guy who found an especially smart assembler use of the C switch but all I can find is Dijkstra's algorithm

Ah, digging around a little I found it. I think this is particularly ingenius: Duff's device.

Obviously this guy almost has his algorithms down to an artform.

Maybe not assembler as such but smart it is.

I may have pulled some fast ones during my career but I'm not sure I'm nowhere near as smart as that guy.

And yeah, unions are probably a lost "artform". I've had coworkers who didn't know what it was.
 
Last edited:
  • #36
There is way too much concern about speed, and it comes way too early in the process.

There is no virtue in getting the wrong answer quickly.
It only makes sense to speed up the code that is slowing you down.

Unions are there for a reason.
 
  • #37
I think in that particular case (Duff's) there was a reason. But I agree: see to it that it works first, then optimize if needed. Often it's also easier to just launch an extra identical process instead of fighting with making an already working program multithreaded. There be monsters that way.

EDIT: The GCC compiler (and presumably others) also come with a bunch of switches along the lines of "-O0", "-O1", "-O2" etc. Each doing their own thing for optimization without anyone touching the code.

They've worked wonders for me in the past.
 
  • #38
Optimizers have been around for decades. They do what they do well, but they are not magic. Unrolling loops, they will do. Replacing your bubble sort with a heap sort? Usually not.
 
  • #39
Compilers are advanced these days, but they still won't make your program for you. Although WYSIWYG will save you some time creating GUIs (I think. I must admit I'm not completely convinced. Also, I hardly consider creating GUIs "programming" apropos our little detour into algorithms.) Microsoft Developer Studio is a really nifty tool though. I've been playing around with Android Developer Studio and every time I use it I feel like I fractured my frontal lobe. It probably has to do with the latter being "coded" in java.

Even 3D studio, Reason or Cubase is lightning fast compared.

EDIT: In fact, if I wanted to write a book I wish I had an editor like Microsoft Developer Studio. Yeah,I know that doesn't really make sense. I just like the professionalism of it.
Speaking of which: Zen and the art of Writer Decks (using the Pomera DM250)



EDIT: I guess you can't have all. No DEV Studio on Linux. No emacs on Windows. Unless you want to venture into wine or cygwin. In fact, I've managed to run FruityLoops on Linux using Wine. I must admit that impressed me a little.
 
Last edited:
  • #40
I don't understand the point you are trying to make.
 
  • #41
EDIT:

I admit it's a little over the place. Don't bother with it. Probably time to close the thread before I make more of a fool of myself.
 

Similar threads

  • · Replies 13 ·
Replies
13
Views
13K
Replies
2
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 9 ·
Replies
9
Views
4K
  • · Replies 3 ·
Replies
3
Views
15K