I've spent some time writing C code on VLIW architectures, and I've seen pretty decent optimizing compilers there [I haven't used Itanium, I used a couple of less-known arechitectures, e.g. TI 64xx].
You can extract a decent amount of parallelizm out of a regular code (if you think about it, since Pentium II you had a dual issue processor, you've just moved this piece of logic into the compiler).
I do agree with you on the pricing issue -- as long as it costs more than any x86 processor, it will be irrelevant.
However, AMD is a significantly better option, at leas for the nearest future.
You're ABSOLUTELY wrong about the VLIW architecture -- you need optimizing compilers (which do exist), and you have to learn slightly new optimization tricks (e.g. use the intrinsics).
Be serious, there are tons of people with a CS degree and proficiency in at least one of these (except for Arabic)! Moreover, you should never ever let someone who is not a native speaker do localization.
I had the same dilemma recently.
I chose electrical engineering. I am not interested in electricity, semiconductor devices, etc. -- which is considered to be the core EE stuff.
There are a lot of exciting things you can do in EE, where your CS background is an asset. Image processing, recognition and coding are one thing. Digital design (and really understanding the HW/SW interface) is the other -- I have seen weird design decisions done because most people understand one part (SW or HW), but not both.
But the best thing is to think what really interests you. In my case I first found what I wanted to do in my thesis, and then tried to figure out where can I do it.
IMHO, single is worse...
You have two distinct processes running simultaneously on two different cores. Now if there is a single cache, one would be able to get into a cache war for a given line. On the other hand, the only serious gain from a single cache is not needing to synchronize the writes.
I've spent some time writing C code on VLIW architectures, and I've seen pretty decent optimizing compilers there [I haven't used Itanium, I used a couple of less-known arechitectures, e.g. TI 64xx]. You can extract a decent amount of parallelizm out of a regular code (if you think about it, since Pentium II you had a dual issue processor, you've just moved this piece of logic into the compiler). I do agree with you on the pricing issue -- as long as it costs more than any x86 processor, it will be irrelevant. However, AMD is a significantly better option, at leas for the nearest future.
You're ABSOLUTELY wrong about the VLIW architecture -- you need optimizing compilers (which do exist), and you have to learn slightly new optimization tricks (e.g. use the intrinsics).
Be serious, there are tons of people with a CS degree and proficiency in at least one of these (except for Arabic)!
Moreover, you should never ever let someone who is not a native speaker do localization.
I had the same dilemma recently. I chose electrical engineering. I am not interested in electricity, semiconductor devices, etc. -- which is considered to be the core EE stuff. There are a lot of exciting things you can do in EE, where your CS background is an asset. Image processing, recognition and coding are one thing. Digital design (and really understanding the HW/SW interface) is the other -- I have seen weird design decisions done because most people understand one part (SW or HW), but not both. But the best thing is to think what really interests you. In my case I first found what I wanted to do in my thesis, and then tried to figure out where can I do it.
IMHO, single is worse... You have two distinct processes running simultaneously on two different cores. Now if there is a single cache, one would be able to get into a cache war for a given line. On the other hand, the only serious gain from a single cache is not needing to synchronize the writes.