Archive

Posts Tagged ‘Moore’s law’

Secret instruction sets about to make a come-back

January 28th, 2010 Derek-Jones 4 comments

Now it has happened Apple’s launch of a new processor, the A4, seems such an obvious thing to do. As the manufacturer of propriety products Apple wants to have complete control over the software that customers run on those products. Using a processor whose instruction set and electrical signals are not publicly available goes a very long way to ensuring that somebody else’s BIOS/OS/drivers/etc do not replace Apple’s or that the distributed software is not ‘usefully’ patched (Apple have yet to reveal their intentions on publishing instruction set details, this is an off-the-cuff prediction on my part).

Why are Apple funding the development of the LLVM C/C++ compiler? Because it enables them to write a back-end for the A4 without revealing the instruction set (using gcc for this purpose would require that the source be distributed, revealing the instruction set). So much for my prediction that Apple will stop funding LLVM.

The landscape of compute intensive cpus used to be populated with a wide variety of offerings from many manufacturers. The very high price of riding the crest of Moore’s law is one of the reasons that Intel’s x86 acquired such a huge chunk of this market; one by one processor companies decided not to make the investment needed to keep their products competitive. Now that the applicability of Moore’s law is drawing to an end the treadmill of continued processor performance upgrades is starting to fading away. Apple are not looking at a processor upgrade cycle, that they need to keep up with to be competitive, that stretches very far into the future.

Isn’t keeping an instruction set secret commercial suicide? The way to sell hardware is to make sure that lots of software runs on it and software developers want instruction set details (well ok, a small number do, but I’m sure lots of others get a warm fuzzy feeling knowing that the information is available should they need it). This is very much a last century view. The world is awash with an enormous variety of software, including lot of it very useful open source, and there is a lot more information available about the set of applications many customers want to use most of the time. Other than existing practice there is little reason why a manufacturer of a proprietary product, that is not a processor, needs to release instruction set details.

In the early 1980s I was at the technical launch of the Inmos Transputer and was told that the instruction set would not be published because the company did not want to be tied down to backwards compatibility. Perish the thought that customers would write assembler because the Inmos supplied compilers produced poor quality code or that a third party compiler would good enough to gain a significant market share. In marketing ability Inmos was the polar opposite of Apple. For a while HP were not very forthcoming on the instruction set behind their PA-RISC processor.

Will the A4 instruction set remain secret? On the whole, perhaps it can. The software based approaches to reverse engineering an instruction set require access to a compiler that generates it. For instance, changing a plus to a minus in one expression and looking for the small change in the generated executable; figuring out which status flags are set under which conditions is harder, but given time it can be done. Why would Apple release executable compilers if it wants to control the software that runs on the A4?

If the instruction set were cracked where would a developer go to obtain a compiler targeting the A4?

Given the FSF’s history with Apple I would not be surprised if there was a fatwa against support for a proprietary instruction set in gcc. I suspect Apple would frown very heavily on such support ever being in the standard llvm distribution. I could see Apple’s lawyers sending letters to anybody making available a compiler that generated A4 code.

In the past manufacturers have tried to keep processor instruction sets secret and found that commercial reality required them to make this information freely available. Perhaps in the long term, like Moore’s law, the publication of detailed instruction set information may just be a passing phase.

Compiler writing in the next decade

December 22nd, 2009 Derek-Jones No comments

What will be the big issues in compiler writing in the next decade? Compilers sit between languages and hardware, with the hardware side usually providing the economic incentive.

Before we set off to follow the money, what about the side that developers prefer to talk about. The last decade has not seen any convergence to a very small number of commonly used languages, if anything there seems to have been a divergence with more languages in widespread use. I will not attempt to predict whether there will be a new (in the sense of previously limited to a few research projects) concept that is widely integrated and used in many languages (i.e., the integrating of object oriented features into languages in the 90s).

Where is hardware going?

  • Moore’s law stops being followed. Moore’s law is an economic one that has a number of technical consequences (e.g., less power consumed and until recently increasing clock rates). Will the x86 architecture evolution dramatically slow down once processor manufacturers are no longer able to cram more transistors onto the same amount of chip real estate? Perhaps processor designers will start looking to compiler writers to suggest functionality that could be made use of by compilers to generate more optimal code. To date my experience of processor designers is that they look to Moore’s law to get a ‘free’ performance boost.

    There are a number of things a compiler code tell the processor, such as when a read or write to a cache line is the last one that will occur for a long time (enabling that line to be moved to the top of the reuse list).

  • Not plugged into the mains. When I made a living writing optimizers the only two optimizations choices were code size and performance. There are a surprising number of functional areas in which a compiler, given processor support, can potentially generate code that consumes less power. More on this issue in a later post.
  • More than one processor. Figuring out how to distribute a program across multiple, loosely coupled, processors remains a difficult research topic. If anybody ever comes up with a solution to this problem it might make more commercial sense for them to keep it secret, selling a compiling service rather than selling compilers.
  • Application Specific Instruction-set Processors. Most processors in embedded systems only ever run a single program. The idea of each program being executed on a processor optimized to its requirements sounds seductive. At the moment the economics are such that it is cheaper to take an existing, very low cost, processor and shoe-horn the application onto it. If the economics change the compiler used for each processor is likely to be automatically generated.

Enough of the hardware, this site is supposed to be about code:

  • New implementation techniques. These include GLR parsing and genetic algorithms to improve the generated code quality. The general availability of development machines containing more than 4G of memory will make it worthwhile for compiler writers to implement more whole program optimizations (which are currently being hemmed in by storage limits)
  • gcc will continue its rise to world domination. The main force at work here is not the quality of gcc but the disappearance of the competition. Compiler writing is not a big bucks business and compiler companies are regularly bought up by much larger hardware outfits looking to gain some edge. A few years go by, plans change, the compiler group are not making enough profit to warrant the time being spent on them by upper management and they are closed down. One less compiler vendor and a bunch of developers are forced to migrate to another compiler, which may or may not be gcc.
  • Figuring out what the developer meant to write based on what they actually wrote, and some mental model of software developers, is my own research interest. This is somewhat leading edge stuff, in other words nothing major has been achieved so far. Knowledge of developer intent looks like it will open the door to whole classes of new optimization techniques.
www.wenn.com
FireStats icon Powered by FireStatswww.tinynibbles.com levitra where to buy

online generic cialis 100 mg

best price generic propecia

lowest cost levitra

low price levitra

levitra cost

canada propecia prescription

cialis delivered overnight

canadian healthcare

lowest propecia prices in canada

buy cheapest propecia

generic viagra canadian

next day delivery cialis

best way to use cialis

cheapest viagra

get cialis online

internet pharmacy propecia

cheapest propecia uk

cialis discounts

for sale levitra

overnight delivery viagra

online viagra gel to buy

buy levitra online no prescription

canadian viagra and healthcare

online propecia uk

getting cialis from canada

cialis to buy

generic levitra purchase

buy propecia cheap

buy real viagra online

levitra in india

order propecia

buy propecia online prescription

cialis fast delivery

cialis headaches

how to buy cialis in canada

cialis alternative

discount drug propecia

buy cheap levitra

buy branded viagra

levitra low price

canada viagra generic

levitra viagra cialis

mexico levitra

canadian pharmacy

cialis cheap

buy cialis 5 mg

cheap cialis soft

discount levitra purchase

discount propecia rx

buy cialis for daily use

canadian pharmacy discount code viagra

generic propecia online pharmacy

hydrochlorothiazide cialis

online ordering propecia

buy can from i propecia who

online propecia prescriptions

buying viagra in canada

buy viagra china

natural viagra

discount propecia propecia

genuine cialis pills

generic propecia effective

cheap order prescription propecia

canada viagra

obtain viagra without prescription

cialis strenght mg

buy levitra vardenafil

levitra sales uk

discount generic propecia

cialis 50 mg

levitra tabs

generic levitra online

cialis and ketoconazole

cialis 5 mg italia

cialis price

cialis by mail

cialis professional 100 mg

buy levitra overnight

how to get cialis in canada

50 mg cialis

healthcare canadian pharmacy

cialis and diarrhea

cialis vs levitra

best viagra

cialis for woman

generic levitra cheap

indian cialis generic

generic levitra overnight delivery

info levitra

buy cialis cannada

cheapest viagra online

cost levitra low

buy 5 mg cialis

buy propecia generic

levitra mg

generic propecia alternative

buy propecia now

buying propecia

brand viagra over the net

buy generic viagra india rx

levitra viagra online

cialis 100 mg generic

generic propecia 5mg

cialis dosage mg

canada levitra

order cheap levitra

buying online propecia

ordering propecia online

buy propecia prescriptions online

indian cialis

buy levitra online from canada

cialis discount

how much is viagra

next day viagra

levitra pill

cialis 5 mg

cheap viagra from uk

canadian pharmacy cialis

combine cialis and levitra

cialis tablets foreign

cialis pharmacy

cheapest overnight cialis

buy levitra uk

best price for propecia

mail online order propecia

cialis in mexico

overnight delivery cialis

cheap levitra tablets

china viagra

cialis woman

cialis next day delivery

cialis price 100 mg

buy viagra

levitra order prescription

canadian healthcare pharmacy

buying cialis next day delivery

cialis daily dosage pharmacy

buy real cialis

buy cialis in usa

cialis daily in canada

generic viagra made in india

canada online pharmacy propecia

buying generic cialis mexico rx

cheapest propecia prescription

cheap discount levitra

cialis overnight delivery

online pharmacy propecia renova

low cost propecia

cheap propecia 5mg

cialis uk

buy cialis canada

cheap levitra

cheap levitra prescription

generic viagra canada

lowest price propecia

order prescription propecia

brand viagra professional

best price levitra

buy cialis usa

how strong is 5 mg of cialis

cialis profesional

buying levitra online

levitra online overnight delivery

levitra online us

best price for generic cialis

discount us propecia

cialis refractory

buy cheap generic levitra

generic levitra canada

canadian online pharmacy cialis

bio viagra herbal

cialis on women

get cialis

generic levitra vardenafil

cialis en mexico

mail order propecia

buy propecia online

get levitra

cialis price in canada

discount cialis india

cialis generic 100 mg

how much does cialis cost

cialis tablets

levitra 10mg

generic cialis sale

get propecia online pharmacy

buy viagra germany canadian meds

generic cialis soft tabs

buy propecia on line

cialis buy overnight

cost of daily cialis

cialis next day

online cialis

levitra next day delivery

gele viagra

generic viagra made in usa

cialis cheap us pharmacy

buy propecia canada

generic cialis from india

cialis and canada custom

cialis from canada

i need to buy propecia

buy viagra without prescription

canadian healthcare viagra

name brand cialis

once a day viagra

best price propecia

cialis fast delivery usa

discount propecia online

cialis no prescription

bestellen levitra online

buy propecia without prescription

canada generic propecia

levitra mail order

canadian propecia rx

levitra online sales

drug generic propecia

buy levitra us

generic propecia fda approved

cialis quick shipment

low cost canadian viagra

buy cialis fedex shipping

buy fast propecia

herbal propecia

cialis professional 20 mg

canadian viagra 50mg

5 mg original brand cialis

cheap viagra canada or india

cialis 20 mg

buy cialis without prescription

lowest propecia 1 mg

buy cialis once daily

buy cialis online uk

buy propecia online from usa pharmacy

discount levitra online

buying cialis

order viagra or levitra

cheapest prices for viagra

cialis daily

levitra online

best price cialis

levitra in canada

brand name cialis

cheap levitra uk

5 mg daily cialis

cheapest price propecia cheap

lowest price for propecia

how to get viagra

cost of propecia

generic viagra online

buying cialis soft tabs 100 mg

lowest price levitra

canadian pharmacy viagra

once daily cialis

cialis professional no prescription

discount levitra rx

online pharmacy propecia viagra

levitra for sale

canadian viagra

lowest priced propecia

cheap propecia no prescription

lowest price on non generic levitra

cost of viagra

order generic levitra

canada meds viagra

cheap cialis

cheapest propecia sale uk

low cost levitra

levitra cheap fast

buy cialis online canada

indian viagra

online propecia prescription

female viagra pills

buy viagra on line

buy dosages levitra

online cheap viagra

does generic cialis work

levitra canadian

buy online prescription propecia

ordering cialis gel

buy propecia online pharmacy

cialis 5 mg buy

ganeric cialis

canadian drugs propecia

order cheap propecia

mexico pharmacy cialis

buy generic levitra

buy propecia where

order cheapest propecia online

levitra online no prescription

cheap levitra without prescription

buy cheap levitra online

canadian pharmacies cialis

buy cheap generic propecia

cheap propecia online prescription

cheap fast levitra

cialis prescription

cialis transdermal

buy generic cialis