If by complex you mean MMX/SSE, do remember that RISC/PPC has AltiVec as a rough equivalent. Complexity, expanding instruction sets and kludges are not exclusive to the x86 world. x86 only happens to have more, older and somewhat uglier kludges than most, generally much younger, current RISC architectures. For x86, much of it is due to ancestral code-size obsessions from back when RAM was well over $1/KB, such is the cost of 20+ years of backwards-compatibility. Maybe Intel will be ready to kill 16bits modes in the next decade.
Some of the single pseudo instructions take longer to execute after being translated by the processor than the sum of the primitives they are made up of. True.
Stuff like the 'rep' prefix became obsolete thanks to architectural changes. While ecx, edi and esi were wired for direct +-1/2/4 operations to support it in the 486 and older chips, the renamed register file introduced in the PPro made this design impractical. With no more hard-wired register functions, 'rep' became, at best, a code size optimization and last time I heard/checked, it was indeed slower than the explicit sequence on >486, probably because the instruction scheduler can be more aggressive than microcode sequences.
what is comes down to is risc is a more 'sane' design. It doesn't leave optimization up to the processor, but the compilers Wrong.
CPUs have many pseudo-random events that will affect the execution pipeline and no compiler/ASM programmer can ever be aware of all architectural details and accurately predict the exact state at any given time - interrupts, preemptions, cache misses, branch mispredictions, pipeline stalls, bus locks, resource contentions, etc. would all throw off the compiler/coder's hard work. The only one who can determine exactly which instructions are optimally exectuable at any one time is the CPU itself because it is the only one fully aware of its architecture and immediate state. This optimal execution order may change with cache contents, microcode updates, chip revisions, architectural sub-features, etc., all parameters to which the compiler and coder are totally oblivious.
Also, for ISAs featuring multiple implementations from multiple vendors such as x86 with Transmeta, VIA, AMD, Intel and others onboard, it is unlikely that any compiler would ever be able to generate anything remotely close to being globally optimal code, this is where out-of-order execution helps to level the playing field across vendors and architectures.
the processor, being hardware, should deal with the most primitive code.
Microcode and ALUs probably are among the most trivial circuits (a 64x64 multiplier may be big but is still mathematically and technically trivial) in a typical CPU. The real devil lies in the memory management/virtualization/protection and other loosely related circuits that feed, support and monitor the actual execution engine... and these units are mostly instruction-set agnostic since any relevant information they may require was either normalized by the instruction decoder or dumped in the register file (or some bypass port) at some point during execution.
While sticking to primitive OPs would be the correct RISC thing to do, all the necessary components for simple instruction set extensions are already there so they are nearly free. If adding CrackPipe extensions adds only 500k transistors, nobody will notice/care... the packaging/ASIC teams will be happy with the 1sqmm extra space for bonding pad floor-planning. I am guessing that part of the reason for increasing feature sets and cache sizes getting bumps with each die shrink is to keep thermal and IO pad densities at manageable levels. If a CPU had only the essential stuff built-in, the core would be too small to fit IO/power bonding pads and dissipate the core's heat.
[I spent way too much time writing this, time to go sleep.]
Expanding things to use explicit load/store instructions may make the microcode more compact and the instruction set more regular but it also inflates code size and sacrifices heaps of implicit processor-wise atomicity.
As for complex operations, what is it that you consider "complex"? With microcode and subroutines, adding complexity is almost trivial when the relevant control signals are available. Would "xor dword ptr[ebx*8+edx+4], eax" be complex by your standards? To me, it looks like one AGU uOP and one arithmetic uOP squeezed between two L/S uOPs, no big deal. The instruction set irregularity and quirks on x86 seem far more bothersome to me from a designer's point of view than most of the "complex" instructions.
If the current trend continues, CISC CPUs will be more RISC-like internally than RISC CPUs are RISC-like externally - assuming such is not already the case. The RISC and CISC names have practically become historical/cultural artifacts.
You are aware that the IP litigation market is flourishing worldwide, rigth?
The story here probably is that IBM might have a toe in Intel's IP territory and they concluded that licensing for cash would not cover legal expenses and other losses for the other stuff that may be at stake.
IBM may also have other pending cases for which having access to more Intel IP would make for stronger defenses.
With the number of predatory/preemptive/defensive patents being filed my large corporations, it is no surprise that many prefer the peace of mind from tax-free cross-licensing over the short-term taxable revenue.
Practically all current CPUs use a microcode engine, this is not something P4-specific.
The PPC also uses a microcode engine. The only thing the PPC is probably saving there is on instruction set regularity which most likely translates into equally more regular and efficient microcode tables.
Hard-wired execution may be more efficient but it is also much more error-prone and troublesome to fix. Now that SRAM bits cost next to nothing, many CPUs have also migrated from ROM tables to SRAM tables, providing some degree of field-serviceability.
Try building a superscalar pipelined CPU with out-of-order execution using hard-wired direct execution... try again using a microcode engine. I am betting the microcode approach would take a fraction of the time to understand, design and debug. Microcode engines are simpler, much more scalable and flexible than hard-wired equivalents, this is why they are becoming increasingly more common.
They do not need a new business model, they only need to go back to the model where they used to sell good printers and decently priced cartridges... instead of crappy disposable printers that cost less than their replacement cartridges.
IP is not supposed to be about "theft and control". It actually is supposed to be about incentive One of the big problems with patents recently is triviality and obviousness. When companies start patenting "clicking patterns" and "scoring system for games based on objectives", something seems totally wrong.
Triviality coupled the way big corporations are filing preemptive/predatory patents to protect themselves from competition is turing the patent system into a minefield for any independent inventors. At this rate, it will become practically impossible to do anything meaningful without infringing on dozens of patents.
I wonder if anybody has filed an application for "A method and aparatus to execute an arbitrary set of instructions a certain number of times or until conditions are met" yet. If the current trend keeps up, such a patent would probably be granted.
They are not so much competing against each other as they are complementing each other.
Public water exists so everybody can do their laundry, take baths/showers, drink, etc. Bottled water is there for convenience and as an alternative where public water is of questionable/suspicious quality.
Libraries have some of everything, old and new, best sellers and forgotten works, etc. while bookstores only hold classics, new releases and best-sellers.
Police&all are there to cover the basics of public safety and law enforcement, private security firms provide customized services and usually either work closely with the local police or hire policemen.
Given the very small number of non-overlapping channels allocated to WiFi, there should be only one wide-scale WiFi network in any area - otherwise the spectrum will be saturated and everyone's WiFi life would become miserable.
Modern innovations are also increasingly more likely to be litigated and patented out of business by existing players and patents.
Just like a minefield, innovations can blow up in your face when some other company wants your innovation's market and holds any patents on anything remotely or questionably relevant.
The patent on "A method of erasing keyboard keys by typing" must have expired a while ago... if not, there are bilions of man-hours worth of prior art out there.
I thought pirates existed well before electricity and generally used cannons, muskets and sabres.
If I ever got sued for "piracy" and "stealing IP", I would probably base part of my defense on fighting the language abuse that blows everything out of proportions and presumes factual things that are fundamentally hypothetical. (How many "lost sales" would have become real sales if absolute copy-protection existed? I am guessing nowhere near as many as the *AA want people to believe, with a far greater number of real lost sales from reduced exposure.)
Not every company does... and in some case, the "educational" or "trial" version is missing or excessively crippling some key features that renders them useless. In other cases, the evaluation period is so short that it makes it practically useless unless going at it full-time, assuming no obscure bugs come along to ruin most of that period.
Running a trace or whois on a suspicious IP already gives a first approximation of who the 'nearest bystander' is, even if the ISP is not keeping logs, the IP address can be traced back to it.
The "safe harbour" provision for common carriers sort of implies that the ISPs are expected to deploy reasonable efforts to keep accurate logs in case of ulterior litigation - these logs are the only way ISPs can 1) prove that the IP address was spoofed or 2) identify who had that IP address when asked by the courts.
As for data protection, most countries do not impose any restrictions on private data collection for private records, they only regulate how entities can trade private info - generally by forbiding it.
The console and related software's context is its own bubble and a somewhat different story for that reason. When companies release new consoles, they are almost completely free to rewrite history, unlike the PC where new platforms are almost infinitely backwards-compatible, providing a similarly infinite ways to work around copy-protection.
In any case, the story was about the Business Software Association which is primarily concerned with business applications rather than gaming software so consoles are somewhat off-topic.
In many cases, this "piracy" ultimately turns into free publicity - hobbyists and students do not have $50k/year to spend on annual licenses for high-end engineering software but when they do get a job in a related field, they are more likely to nominate the software they are familiar with.
Engineering students probably "cost" milions apiece in this fashion and I suspect the industry at large would actually get hurt very badly if the industry managed/bothered to perfectly enforce copy protection.
If Microsoft managed to implement perfect copy protection, it would very likely start losing market share like there was no tomorrow - since its products are generally overpriced, people would look for more affordable alternatives (such as Linux), the competent user base for the alternatives would grow, facilitationg migration away from Microsoft products and accelerating market share erosion.
So, perfect copy-protection for commercial software is very much like paying to commit suicide.
First they try to obliterate fair-use in the name of a wild chase to stop copyright infringement and now they are plotting to indirectly do the same again with the second-hand market.
In both cases, "pirates" will find a way around whatever barriers they try to put up, online infringement will still keep going nearly unaffected but now, legit end-upsers would have lost both fair-use right and whatever fair market value that would otherwise be associated with second-hand sales... with this, one could not even lend media to friends/family.
I hope enough people have enough commonsense to walk away from any such products to make these schemes into commercial failures.
I tend to answer slow HDD problems (like my laptop's 4200RPM drive) with memory upgrades (1GB SODIMM)... nearly no HDD accesses once everything is loaded beats the fastest HDDs any day for me.
Every time I see studios or the RIAA/MPAA try to impose further restrictions on fair use I think it is about time people started standing up to protect their fair-use right by boycotting content.
I practically stopped bothering with 'entertainment' more than a decade ago and personally think worthwhile entertainment is increasingly few and far between, getting thinner each time.
Instead of trying to produce really good stuff, studios go for the quick bucks and stretch them with DRM. From my point of view, this will ultimately lead to a lose-lose situation.
Surviving in the marketplace is already hard enough without open-sourcing the only distinctive trait: the proprietary bits.
Once the software is open-sourced, adapting it to work with commodity hardware becomes trivial unless the software extensively used special/undocumented hardware features.
The Dishnet and other boxes might not be using 100% stock parts but their fundamental architectures are most likely awfully similar, there may be an infinite number of ways to push bits around but only a select few make practical sense.
One major side-effect of opening sources is that it also opens your market to every wannabe out there. Since the PVR software is the only added value on top of commodity hardware, releasing the PVR software's sources would allow everybody to market their own clones.
Releasing sources for non-profit stuff is not a problem but releasing sources which represent your only value-added competitive asset in a highly volatile market is fundamentally suicidal. The commercial market place is a hostile, cannibalistic place, showing too much flesh to the local piranhas is dangerous.
I was not disputing that, I was simply pointing out that most HSFs have obvious flaws that make them much louder than they have to be and less effective than they could be.
With BTX enforcing proper design to some extent, I am expecting BTX systems to be substantially quieter than equivalent ATX setups. Another benefit from BTX is that it imposes an intake/exhaust duct and this prevents hot air from looping within critical paths inside the case.
Passive solutions are bulky and silent, HSF are smaller but do not have to be outrageously noisy when a few simple design rules can reduce the noise output by 10-30dB.
Passive cooling of desktop chips will be futile soon enough, if the current trend continues, we will have 150W CPUs this year and possibly 200W ones next year. My next PC will probably feature the fastest thing under 100W... unless 100W turns out to be low-power expensive parts by then.
If by complex you mean MMX/SSE, do remember that RISC/PPC has AltiVec as a rough equivalent. Complexity, expanding instruction sets and kludges are not exclusive to the x86 world. x86 only happens to have more, older and somewhat uglier kludges than most, generally much younger, current RISC architectures. For x86, much of it is due to ancestral code-size obsessions from back when RAM was well over $1/KB, such is the cost of 20+ years of backwards-compatibility. Maybe Intel will be ready to kill 16bits modes in the next decade.
Some of the single pseudo instructions take longer to execute after being translated by the processor than the sum of the primitives they are made up of.
True.
Stuff like the 'rep' prefix became obsolete thanks to architectural changes. While ecx, edi and esi were wired for direct +-1/2/4 operations to support it in the 486 and older chips, the renamed register file introduced in the PPro made this design impractical. With no more hard-wired register functions, 'rep' became, at best, a code size optimization and last time I heard/checked, it was indeed slower than the explicit sequence on >486, probably because the instruction scheduler can be more aggressive than microcode sequences.
what is comes down to is risc is a more 'sane' design. It doesn't leave optimization up to the processor, but the compilers
Wrong.
CPUs have many pseudo-random events that will affect the execution pipeline and no compiler/ASM programmer can ever be aware of all architectural details and accurately predict the exact state at any given time - interrupts, preemptions, cache misses, branch mispredictions, pipeline stalls, bus locks, resource contentions, etc. would all throw off the compiler/coder's hard work. The only one who can determine exactly which instructions are optimally exectuable at any one time is the CPU itself because it is the only one fully aware of its architecture and immediate state. This optimal execution order may change with cache contents, microcode updates, chip revisions, architectural sub-features, etc., all parameters to which the compiler and coder are totally oblivious.
Also, for ISAs featuring multiple implementations from multiple vendors such as x86 with Transmeta, VIA, AMD, Intel and others onboard, it is unlikely that any compiler would ever be able to generate anything remotely close to being globally optimal code, this is where out-of-order execution helps to level the playing field across vendors and architectures.
the processor, being hardware, should deal with the most primitive code.
Microcode and ALUs probably are among the most trivial circuits (a 64x64 multiplier may be big but is still mathematically and technically trivial) in a typical CPU. The real devil lies in the memory management/virtualization/protection and other loosely related circuits that feed, support and monitor the actual execution engine... and these units are mostly instruction-set agnostic since any relevant information they may require was either normalized by the instruction decoder or dumped in the register file (or some bypass port) at some point during execution.
While sticking to primitive OPs would be the correct RISC thing to do, all the necessary components for simple instruction set extensions are already there so they are nearly free. If adding CrackPipe extensions adds only 500k transistors, nobody will notice/care... the packaging/ASIC teams will be happy with the 1sqmm extra space for bonding pad floor-planning. I am guessing that part of the reason for increasing feature sets and cache sizes getting bumps with each die shrink is to keep thermal and IO pad densities at manageable levels. If a CPU had only the essential stuff built-in, the core would be too small to fit IO/power bonding pads and dissipate the core's heat.
[I spent way too much time writing this, time to go sleep.]
Expanding things to use explicit load/store instructions may make the microcode more compact and the instruction set more regular but it also inflates code size and sacrifices heaps of implicit processor-wise atomicity.
As for complex operations, what is it that you consider "complex"? With microcode and subroutines, adding complexity is almost trivial when the relevant control signals are available. Would "xor dword ptr[ebx*8+edx+4], eax" be complex by your standards? To me, it looks like one AGU uOP and one arithmetic uOP squeezed between two L/S uOPs, no big deal. The instruction set irregularity and quirks on x86 seem far more bothersome to me from a designer's point of view than most of the "complex" instructions.
If the current trend continues, CISC CPUs will be more RISC-like internally than RISC CPUs are RISC-like externally - assuming such is not already the case. The RISC and CISC names have practically become historical/cultural artifacts.
You are aware that the IP litigation market is flourishing worldwide, rigth?
The story here probably is that IBM might have a toe in Intel's IP territory and they concluded that licensing for cash would not cover legal expenses and other losses for the other stuff that may be at stake.
IBM may also have other pending cases for which having access to more Intel IP would make for stronger defenses.
With the number of predatory/preemptive/defensive patents being filed my large corporations, it is no surprise that many prefer the peace of mind from tax-free cross-licensing over the short-term taxable revenue.
Practically all current CPUs use a microcode engine, this is not something P4-specific.
The PPC also uses a microcode engine. The only thing the PPC is probably saving there is on instruction set regularity which most likely translates into equally more regular and efficient microcode tables.
Hard-wired execution may be more efficient but it is also much more error-prone and troublesome to fix. Now that SRAM bits cost next to nothing, many CPUs have also migrated from ROM tables to SRAM tables, providing some degree of field-serviceability.
Try building a superscalar pipelined CPU with out-of-order execution using hard-wired direct execution... try again using a microcode engine. I am betting the microcode approach would take a fraction of the time to understand, design and debug. Microcode engines are simpler, much more scalable and flexible than hard-wired equivalents, this is why they are becoming increasingly more common.
They do not need a new business model, they only need to go back to the model where they used to sell good printers and decently priced cartridges... instead of crappy disposable printers that cost less than their replacement cartridges.
IP is not supposed to be about "theft and control". It actually is supposed to be about incentive
One of the big problems with patents recently is triviality and obviousness. When companies start patenting "clicking patterns" and "scoring system for games based on objectives", something seems totally wrong.
Triviality coupled the way big corporations are filing preemptive/predatory patents to protect themselves from competition is turing the patent system into a minefield for any independent inventors. At this rate, it will become practically impossible to do anything meaningful without infringing on dozens of patents.
I wonder if anybody has filed an application for "A method and aparatus to execute an arbitrary set of instructions a certain number of times or until conditions are met" yet. If the current trend keeps up, such a patent would probably be granted.
Nothing is stopping anyone from writing a C++ compiler that outputs java bytecode or a java compiler that generates native Win32 executables.
Java, C++ and the others are only languages, the available output types are limited only by common sense, general interest and spare time.
They are not so much competing against each other as they are complementing each other.
Public water exists so everybody can do their laundry, take baths/showers, drink, etc. Bottled water is there for convenience and as an alternative where public water is of questionable/suspicious quality.
Libraries have some of everything, old and new, best sellers and forgotten works, etc. while bookstores only hold classics, new releases and best-sellers.
Police&all are there to cover the basics of public safety and law enforcement, private security firms provide customized services and usually either work closely with the local police or hire policemen.
Given the very small number of non-overlapping channels allocated to WiFi, there should be only one wide-scale WiFi network in any area - otherwise the spectrum will be saturated and everyone's WiFi life would become miserable.
Modern innovations are also increasingly more likely to be litigated and patented out of business by existing players and patents.
Just like a minefield, innovations can blow up in your face when some other company wants your innovation's market and holds any patents on anything remotely or questionably relevant.
Good shows on TV?
I thought they were already all cancelled and replaced by unreality shows.
The patent on "A method of erasing keyboard keys by typing" must have expired a while ago... if not, there are bilions of man-hours worth of prior art out there.
I thought pirates existed well before electricity and generally used cannons, muskets and sabres.
If I ever got sued for "piracy" and "stealing IP", I would probably base part of my defense on fighting the language abuse that blows everything out of proportions and presumes factual things that are fundamentally hypothetical. (How many "lost sales" would have become real sales if absolute copy-protection existed? I am guessing nowhere near as many as the *AA want people to believe, with a far greater number of real lost sales from reduced exposure.)
Not every company does... and in some case, the "educational" or "trial" version is missing or excessively crippling some key features that renders them useless. In other cases, the evaluation period is so short that it makes it practically useless unless going at it full-time, assuming no obscure bugs come along to ruin most of that period.
Running a trace or whois on a suspicious IP already gives a first approximation of who the 'nearest bystander' is, even if the ISP is not keeping logs, the IP address can be traced back to it.
The "safe harbour" provision for common carriers sort of implies that the ISPs are expected to deploy reasonable efforts to keep accurate logs in case of ulterior litigation - these logs are the only way ISPs can 1) prove that the IP address was spoofed or 2) identify who had that IP address when asked by the courts.
As for data protection, most countries do not impose any restrictions on private data collection for private records, they only regulate how entities can trade private info - generally by forbiding it.
The console and related software's context is its own bubble and a somewhat different story for that reason. When companies release new consoles, they are almost completely free to rewrite history, unlike the PC where new platforms are almost infinitely backwards-compatible, providing a similarly infinite ways to work around copy-protection.
In any case, the story was about the Business Software Association which is primarily concerned with business applications rather than gaming software so consoles are somewhat off-topic.
In many cases, this "piracy" ultimately turns into free publicity - hobbyists and students do not have $50k/year to spend on annual licenses for high-end engineering software but when they do get a job in a related field, they are more likely to nominate the software they are familiar with.
Engineering students probably "cost" milions apiece in this fashion and I suspect the industry at large would actually get hurt very badly if the industry managed/bothered to perfectly enforce copy protection.
If Microsoft managed to implement perfect copy protection, it would very likely start losing market share like there was no tomorrow - since its products are generally overpriced, people would look for more affordable alternatives (such as Linux), the competent user base for the alternatives would grow, facilitationg migration away from Microsoft products and accelerating market share erosion.
So, perfect copy-protection for commercial software is very much like paying to commit suicide.
First they try to obliterate fair-use in the name of a wild chase to stop copyright infringement and now they are plotting to indirectly do the same again with the second-hand market.
In both cases, "pirates" will find a way around whatever barriers they try to put up, online infringement will still keep going nearly unaffected but now, legit end-upsers would have lost both fair-use right and whatever fair market value that would otherwise be associated with second-hand sales... with this, one could not even lend media to friends/family.
I hope enough people have enough commonsense to walk away from any such products to make these schemes into commercial failures.
For people who are quick to count tabs or switch between two tabs frequently, there is ctrl-# where # is the tab's position.
So...
1- alt-tab to Firefox (worst case: O(N))
2- ctrl-3 to activate the 3rd tab (up to 10 tabs: O(1))
I tend to answer slow HDD problems (like my laptop's 4200RPM drive) with memory upgrades (1GB SODIMM)... nearly no HDD accesses once everything is loaded beats the fastest HDDs any day for me.
Tune in next week to the same article (poasted at a later dupe-date for your conveinance) and FIND OUT!
You must be new here, dupes usually surface on the next day... or even on the very same day.
Every time I see studios or the RIAA/MPAA try to impose further restrictions on fair use I think it is about time people started standing up to protect their fair-use right by boycotting content.
I practically stopped bothering with 'entertainment' more than a decade ago and personally think worthwhile entertainment is increasingly few and far between, getting thinner each time.
Instead of trying to produce really good stuff, studios go for the quick bucks and stretch them with DRM. From my point of view, this will ultimately lead to a lose-lose situation.
and the copies they receive are identical to the original, and can be distributed again and again.
With the proliferation of DVD-PVRs and hybrid HDD+DVD models, this degradation is history beyond the initial recording.
Exactly.
Surviving in the marketplace is already hard enough without open-sourcing the only distinctive trait: the proprietary bits.
Once the software is open-sourced, adapting it to work with commodity hardware becomes trivial unless the software extensively used special/undocumented hardware features.
The Dishnet and other boxes might not be using 100% stock parts but their fundamental architectures are most likely awfully similar, there may be an infinite number of ways to push bits around but only a select few make practical sense.
One major side-effect of opening sources is that it also opens your market to every wannabe out there. Since the PVR software is the only added value on top of commodity hardware, releasing the PVR software's sources would allow everybody to market their own clones.
Releasing sources for non-profit stuff is not a problem but releasing sources which represent your only value-added competitive asset in a highly volatile market is fundamentally suicidal. The commercial market place is a hostile, cannibalistic place, showing too much flesh to the local piranhas is dangerous.
I was not disputing that, I was simply pointing out that most HSFs have obvious flaws that make them much louder than they have to be and less effective than they could be.
With BTX enforcing proper design to some extent, I am expecting BTX systems to be substantially quieter than equivalent ATX setups. Another benefit from BTX is that it imposes an intake/exhaust duct and this prevents hot air from looping within critical paths inside the case.
Passive solutions are bulky and silent, HSF are smaller but do not have to be outrageously noisy when a few simple design rules can reduce the noise output by 10-30dB.
Passive cooling of desktop chips will be futile soon enough, if the current trend continues, we will have 150W CPUs this year and possibly 200W ones next year. My next PC will probably feature the fastest thing under 100W... unless 100W turns out to be low-power expensive parts by then.