An examination of the relation between architecture and compiler[taliem.ir]

An examination of the relation between architecture and compiler

ABSTRACT

The interactions between the design of a computer’s instruction set and the design of compilers that  generate code for that computer have serious implications for overall computational cost and efficiency. This article, which investigates those interactions, should ideally be based on comprehensive data; unfortunately, there is a paucity of such information. And while there is data on the use of instruction sets, the relation of this data to compiler design is lacking. This is, therefore, a frankly personal statement, but one which is based on extensive experience. My colleagues and I are in the midst ofa research effort aimed at automating the construction of productionquality compilers. (To limit the scope of what is already an ambitious project, we have considered only algebraic languages and conventional computers.) In brief, unlike many compiler- compiler efforts of the past, ours involves automatically generating all of the phases of a compiler-including the optimization and code generation phases found in optimizing compilers. The only input to this generation process is a formal definition of the source language and target computer. The formulation of compilation algorithms that, with suitable parameters, are effective across a broad class of computer architectures has been fundamental to this research. In turn, finding these algorithms has led us to critically examine many  architectures and the problems they pose. Much of the opinion that follows is based on our experiences in trying to do this, with notes on the difficulties we encountered.

INTRODUCTION

  Articles of this sort commonly begin by observing that the cost of hardware is falling rapidly while the cost of software is rising. The inevitable conclusion is that we ought to find ways for the hardware to simplify the  software task. One area in which this might be done is in the design of instruction sets that better reflect the needs ofhigh-level languages. Better instruction sets would both  simplify compilers and improve the size and speed of the programs they generate.

چکیده

تعاملات بین طراحی یک مجموعه دستورالعمل رایانه و طراحی کامپایلرهایی که کد را برای آن رایانه تولید می کنند، پیامدهای جدی برای هزینه و کارایی محاسبات عمومی دارند. این مقاله، که این تعاملات را بررسی می کند، باید بر اساس اطلاعات جامع باشد؛ متاسفانه کمبود چنین اطلاعاتی وجود دارد. و در حالی که اطلاعاتی در مورد استفاده از مجموعه دستورالعمل ها وجود دارد، ارتباط این داده ها با طراحی کامپایلر فاقد آن است. بنابراین، این یک بیانیه ی رک ورد فردی است، اما یکی که بر اساس تجربه گسترده است. همکاران من و من در میان تلاش های تحقیقاتی هستند که با هدف ایجاد اتوماسیون کامپایلرهای تولیدی به صورت خودکار طراحی شده اند. (برای محدود ساختن آنچه که در حال حاضر یک پروژه بلندپروازانه است، ما فقط زبان جبری و رایانه های معمولی را در نظر گرفته ایم.) به طور خلاصه، بر خلاف بسیاری از تلاش های کامپایلر گذشته، ما به طور خودکار تمام مراحل کامپایلر را شامل می شود مراحل بهینه سازی و تولید کد در کامپایلرهای بهینه سازی یافت می شوند. تنها ورودی این پروسه تولید، تعریف رسمی زبان منبع و کامپیوتر هدف است. فرمولبندی الگوریتمهای تدوین که با پارامترهای مناسب در کلاسهای گسترده ای از معماری کامپیوترها موثر است، برای این تحقیق اساسی بوده است. به نوبه خود، پیدا کردن این الگوریتم ها ما را به انتقاد از بسیاری از معماری ها و مشکلات آنها پرداخته است. بسیاری از نظراتی که در زیر آمده است براساس تجربیات ما در تلاش برای انجام این کار، با یادداشت بر مشکلات ما مواجه شده است.

مقدمه

مقالاتی از این نوع معمولا با مشاهده این که هزینه سخت افزار به سرعت در حال سقوط در حالی که هزینه نرم افزار در حال افزایش است. نتیجه ی اجتناب ناپذیری این است که ما باید راه هایی برای سخت افزار را برای ساده سازی کارکرد نرم افزار پیدا کنیم. یک منطقه که در آن ممکن است انجام شود، طراحی مجموعه های دستورالعمل است که به طور بهتر نیازهای زبان های سطح بالا را منعکس می کند. مجموعه دستورالعمل های بهتر هر دو کامپایلرها را ساده کرده و حجم و سرعت برنامه های تولید شده را بهبود می بخشد.

Year: 1981

Publisher : IEEE

By :  William A. Wulf

File Information: English Language/ 7 Page / size: 3.64 KB

Download

سال : 1360

ناشر : IEEE

کاری از : ویلیام آ. وولف

اطلاعات فایل : زبان انگلیسی / 7 صفحه / حجم : KB 3.64

لینک دانلود

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگو شرکت کنید؟
نظری بدهید!

دیدگاهتان را بنویسید