Archive

Posts Tagged ‘Moore’s law’

Secret instruction sets about to make a come-back

January 28th, 2010 Derek-Jones 7 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 1 comment

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 buying cialis soft tabs 100 mg

discount us propecia

cialis price 100 mg

buying online propecia

buying cialis next day delivery

cialis pharmacy

cialis 5 mg

canada viagra generic

buy real cialis

lowest price propecia

cialis cheap us pharmacy

cheap viagra from uk

cialis daily

cialis and canada custom

levitra low price

order cheap propecia

cialis on women

canadian healthcare pharmacy

cialis dosage mg

levitra mail order

buy generic levitra

best viagra

canadian viagra india

cialis strenght mg

low cost levitra

buy viagra online cheap us

levitra from canadian pharmacy

online levitra

canada levitra

cialis 5 mg italia

buy viagra mexico

generic viagra canada

cheapest viagra online

buy levitra online from canada

levitra viagra cialis

levitra online no prescription

cheap propecia online prescription

how to get cialis in canada

canadian online pharmacy cialis

canada propecia prescription

order prescription propecia

cialis professional 20 mg

lowest propecia 1 mg

cialis tablets

generic levitra canada

cialis to buy

buy viagra without prescription

drug generic propecia

fda levitra

buy levitra us

buy propecia cheap

generic levitra online

buy levitra online no prescription

buying viagra in canada

cialis refractory

order levitra online

discount generic propecia

levitra mg

levitra pill

cheap propecia no prescription

i need to buy propecia

levitra viagra online

canadian pharmacy cialis

brand viagra professional

buy propecia where

cialis soft pills

cialis 20 mg

order cheap levitra

cheap canadian viagra

cheap viagra online

levitra canadian

once daily cialis

buy real viagra online

once a day viagra

levitra sales uk

generic propecia 5mg

indian viagra

discount propecia propecia

how strong is 5 mg of cialis

canadian viagra 50mg

cialis from mexico

cost levitra low

cialis for woman

levitra where to buy

buy cialis cannada

lowest price levitra

levitra next day delivery

china viagra

generic viagra made in india

buy fast propecia

buy propecia in the uk

buy viagra

discount levitra purchase

online ordering propecia

ordering cialis gel

online viagra gel to buy

cialis alternative

cost of propecia

buy cialis fedex shipping

discount levitra rx

cialis no prescription

buy 5 mg cialis

cialis fast delivery usa

generic propecia sale

how to buy cialis in canada

cialis generic 100 mg

lowest propecia prices in canada

best way to use cialis

buying generic cialis mexico rx

cheap levitra uk

healthcare canadian pharmacy

cialis price in canada

generic propecia for sale

mexico levitra

generic viagra 100 mg

cheapest viagra usa

lowest price on non generic levitra

cheapest propecia sale uk

cialis en mexico

cialis overnight

buy propecia online prescription

herbal propecia

generic cialis sale

buy now propecia

levitra online sales

best price propecia

cialis professional 100 mg

cheap prescription propecia

female viagra pills

cheap order prescription propecia

generic propecia effective

buy levitra overnight

cialis headaches

buy can from i propecia who

generic cialis soft tabs

cialis online

online cialis

buy online prescription propecia

internet pharmacy propecia

levitra for sale

cheap cialis from india

cost of viagra

levitra cheap fast

buy generic cialis

brand name cialis

order generic levitra

cheap levitra without prescription

buy viagra on line

buy cheap levitra

cheapest price propecia cheap

cialis one a day

buy dosages levitra

online pharmacy propecia viagra

canadian drugs propecia

generic viagra india

how to get viagra

cialis by mail

canadian healthcare viagra

canada generic propecia

cialis fast delivery

overnight delivery viagra

generic levitra purchase

buy propecia without prescription

generic levitra overnight delivery

daily dosage cialis

levitra discount

for sale levitra

low cost propecia

buy cialis for daily use

generic cialis from india

buy canada levitra

buy cheap levitra online

getting cialis from canada

cheap cialis soft

buy propecia online pharmacy

buying cialis

combine cialis and levitra

discount propecia online

cialis 5 mg buy

buy cialis online uk

cialis next day delivery

levitra online prescription

cialis tablets foreign

discount drug propecia

levitra online

generic levitra vardenafil

lowest propecia prices

buy cialis 5 mg

generic propecia finasteride

overnight delivery cialis

generic cialis next day shipping

cheap fast levitra

buy cheap generic propecia

canadian healthcare

cheap propecia 5mg

buy cialis once daily

can i get viagra in mexico

cialis 50 mg

brand name cialis overnight

levitra prescription

indian generic levitra

cialis transdermal

canadian propecia rx

name brand cialis

cheap propecia uk

buy propecia generic

buy propecia prescriptions online

buy discount viagra

cheapest overnight cialis

generic propecia fda approved

cialis cheap

levitra 10mg

buy propecia on line

cialis and diarrhea

ganeric cialis

info levitra

how much to buy viagra in pounds

cheapest viagra

cialis from canada

order propecia

levitra online us

buy cialis without prescription

buy levitra uk

buy viagra germany canadian meds

buy cheap generic levitra

cialis and ketoconazole

cialis daily in canada

discount cialis india

generic viagra canadian

best price for generic cialis

canada online pharmacy propecia

cialis woman

buy cheapest propecia

cialis uk

buy cialis canada

how much cialis

get levitra

cialis profesional

next day viagra

canada viagra

mail online order propecia

buying generic propecia

canada viagra pharmacies scam

cialis vs levitra

levitra in canada

generic viagra online

cialis 100 mg

levitra order prescription

canada cheap propecia

online cheap viagra

get propecia online pharmacy

ordering propecia online

cheap cialis

lowest priced propecia

buy propecia online from usa pharmacy

does generic cialis work

mail order propecia

levitra tabs

how much is viagra

generic levitra cheap

buy levitra vardenafil

mexico pharmacy cialis

hydrochlorothiazide cialis

canadian pharmacy viagra

cialis purchase

obtain viagra without prescription

generic viagra made in usa

canada online pharmacy levitra

get cialis online

canadian viagra and healthcare

cialis discount

cialis overnight delivery

lowest price propecia best

gele viagra

50 mg cialis

cialis 100 mg generic

buy generic propecia

levitra cost

indian cialis generic

best price levitra

buy propecia online

cost of daily cialis

discount levitra online

best price for propecia

order cheapest propecia online

generic propecia alternative

cheap viagra canada or india

levitra online overnight delivery

buying levitra online

canadian pharmacy discount code viagra

canadian viagra

brand viagra over the net

best price generic propecia

levitra in india

online propecia uk

canadian pharmacy

online propecia prescriptions

buy cialis usa

cheap levitra

buy viagra china