مقاله ترجمه شده کامپیوتر: بررسی رابطه بین معماری و برنامه مترجم (کامپایلر)

دسته بندی:

قیمت: 150,000 ریال

تعداد نمایش: 161 نمایش

ارسال توسط:

خرید این محصول:

پس از پرداخت لینک دانلود برای شما نمایش داده می شود.

سال نشر: ۲۰۱۳

تعداد صفحه انگلیسی:۲۰

تعداد صفحه ترجمه فارسی:      ۱۹  صفحه word

(دانلود رایگان مقاله انگلیسی)

کد محصول:CM12

عنوان فارسی:

مقاله ترجمه شده بررسی رابطه بین معماری و برنامه مترجم (کامپایلر)

 

عنوان انگلیسی:

An examination of the relation between architecture and compiler

 

چکیده فارسی:

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

بنابراین، این مورد یک دستور مشخص صریحی می باشد، که بر مبنای بررسی های گسترده ای است.

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

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

ص ۲

مجموعه دستورالعمل های بهترمنجر به ساده سازی کامپایلرها شده و اندازه و سرعت برنامه هایی که آن ها ایجاد می کنند، بهبود می دهد. این مشاهدات و نتایج کاملا صحیح می باشند. ساده سازی بیش از حد، منجر به اشتباهاتی در فرایند استنباط می گردد. برای نمونه بسیاری از افراد به این نتیجه رسیده اند که کارایی کد مقصود از کامپایلر دیگر مهم نبوده – یا حداقل در آینده مهم نخواهد بود. این به طور آشکار اشتباه می باشد. برای اینکه نشان دهم چرا بر این عقیده می باشم که این فرایند اشتباه است، و برای قرار دادن مبنا برای مواردی که در ادامه دنبال می گردد، در اینجا با مثالی توضیح خواهم داد. امروزه من از یک سیستم اشتراکی کردن زمان استفاده می کنم که ۵ برابر سریعتر از مواردی که یک دهه پیش به کار گرفته می شد، می باشد؛  آن همچنین دارای ۸ برابر حافظه اولیه بیشتر بوده و دارای حافظه ثانویه بیشتری می باشد. با این وجود آن تعداد افراد مشابهی را پشتیبانی کرده و پاسخ بیشتر می باشد. دلیل چنین فرایند غیرمتعارفی حقیقاتا این می باشد که اشتیاق ما بسیار سریعتر از فناوری که در مسیر ایجاد رضایت پیش می رود، می باشد. سیکل زمانی بیشتری ، حافظه بیشتر، دیسک های سخت و موارد بیشتری مورد نیاز می باشد تا آنچه را که یک کاربر معمولی می خواهد و انتظار دارد، ایجاد کنیم. به نظر من این فعالیت خوب می باشد؛ و با وجود عملکرد سطح پایین، سیستم دارای پاسخ دهی بیشتری نسبت به تمام نیازها می باشد- یعنی کاربر پسندتر می باشد. به این ترتیب مزایایی در ارتباط با کارایی برنامه هایی که به اجرا در می آید وجود دارد. گذشته همیشه به عنوان ایمن ترین عامل پیش بینی کننده آینده می باشد حداقل اگر ما آن را به طور مناسبی تفسیر کنیم. اگرچه هزینه های سخت افزاری به طور قابل توجهی پایین آمده و همزمان سرعت تجهیزات به طور قابل توجهی بالا می رود، فرض ما این می باشد که اشتیاق ما حتی بیش از این بالاتر می رود. به این دلیل، ما با مازاد چرخه یا حافظه مواجه نمی باشیم. در آینده نزدیک، تاثیر غالب تنها هزینه تجهیزات یا سرعت نمی باشد، اما در ارتباط با تلاش مستمر به منظور افزایش منافع از منابع محدود می باشد- یعنی کامپیوتر خاصی که در اختیار ما قرار دارد. این به اصلاح بر مینای “صرفه جویی امریکایی” نمی باشد. در ارتباط با سیستم ها، مردم نیازی به ارتقا آن ها داشته تا پاسخ دهی بهتری نسبت به نیاز بشری داشته باشند. ناکارایی هایی که این ایده آل ها را متوقف می کند، تحمل نمی شود.

پاسخ دهید