Skip Navigation Linksلیست مقالات ترجمه شده / مقالات ترجمه شده مهندسی كامپيوتر /

عنوان ترجمه شده مقاله: طراحی پردازنده با استفاده از زبان توصیف سخت افزارِ تابعی

این مقاله، اشتراک، توسعه، پیاده سازی، و تأیید یک ریزپردازنده RISC را بررسی می کند که این عمل با استفاده از زبان برنامه نویسی تابعی توصیف سخت افزار Lava انجام می شود.

Abstract

This contribution documents the development, implementation, and verification of a RISC microprocessor using the functional hardware description language Lava. Basic methods to describe hardware in Lava are introduced and extended towards implementation of instruction set architecture and pipeline structure and control. FPGA synthesis results are presented and compared against a traditional VHDL-based design flow. An implementation of a coprocessor interface used to accelerate application-specific code is discussed supported by the case study of fast Fourier transform. To authors’ best knowledge it is the first attempt to describe, simulate, verify, synthesize and test-run a complete von Neumann machine in Lava. Project experiences are summarized followed by a sketch of possible directions for further improvement of Lava in particular and functional hardware description languages in general

چکیده

این مقاله، اشتراک، توسعه، پیاده سازی، و تأیید یک ریزپردازنده RISC را بررسی می کند که این عمل با استفاده از زبان برنامه نویسی تابعی توصیف سخت افزار Lava انجام می شود. روش اساسی برای توصیف سخت افزار در Lava معرفی شده است و مطابق با مجموعه دستورالعملهای معماری و ساختار لوله ای(pipeline) و کنترلی پیاده سازی شده است. نتایج آزمایش FPGA گرد آمده اند و با یک جریان طراحی مبتنی بر VHDL سنتی مورد مقایسه قرار گرفته است. یک پیاده سازی رابط پردازنده برای سرعت بخشیدن به کد ویژه ی نرم افزار ایجاد شده که توسط حالت مطالعاتی تبدیل فوریه پشتیبانی شده است. برای نویسندگان، بهترین دانش این است که سعی کنند یک ماشین فون نویمان کامل را در Lava توصیف کنند، شبیه سازی کنند، بررسی کنند و آزمایش کنند و آزمون اجرایی را روی آن انجام دهند. تجارب پروژه ای با تبعیت از یک سری روشهای ممکن برای بهبود بیشتر Lava  و زبانهای تابعی توصیف سخت افزاری به طور خاص و به طور کلی خلاصه شده اند.

1.انگیزه و کارهای قبلی

اکثرِ سخت افزارهای دیجیتالی امروزه، با استفاده از زبانهای توصیف سخت افزاری (HDL)ها طراحی می شوند. برجسته ترین HDLها عبارتنداز VerilogوVHDL که حدود 25 سال پیش معرفی شدند. در طول سالهای قبل، زبانهایی مانند SystemCو SystemVerilog هدفشان دستیابی به سطح انتزاعی(خلاصه) بالاتر بود که به همین دلیل توجه دانشگاهها و صنعت را به خود جلب کردند. HDL  های سنتی قابلیت توصیف سخت افزار در گیت ها، رجیسترهای انتقالی، سطح سیستم ها و الگوریتمی بودن آن را دارند. بسیاری از ویژگی های جدیدی که اخیراً معرفی شده اند هدفشان رسیدن با لایه های انتزاعی(خلاصه تر) بالاتر است( به عنوان مثال با ترکیب چندین مفهوم زبانهای شی گرا) هنوز هم بسیاری از HDLهای سنتی در پارامتری بودن و قابلیت های تأییدی خود محدود باقی مانده اند در حالیکه دارای معانی کاملاً پیچیده ای هستند. برای پرداختن به بعضی از این نقص ها، پیش پردازنده های متعدد، ژنراتورهای کد خودکار  و دستیاران توسعه ی مبتنی بر GUI در طول دهه های گذشته ایجاد شده اند. محدوده ی زبان هایی که از این نقص ها رنج می برد به اصطلاح  HDLهای تابعی نامیده می شوند مانند  ]lFP [1], Ruby [2], Reflect [3 و دیگر روش ها. چندین روش وجود دارد که زبانهای تابعی را برای توصیف و مدلسازی سخت افزار به کار می برد، حتی زمانی که VHDLو Verilog پدیدار شدند، اما آنها هرگز در صنعت مقبولیت به دست نیاوردند.[4] به نظر می رسد که این وضعیت تغییر کند از آنجایی که هم صنعت و هم دانشگاه شروع به کار کاربردی HDLها در پروژه های دنیای واقعی کردند. یکی از روش های مورد قبول واقع شده از Bluespec می آید یک شرکت که محصولات طراحی نیمه هادی را بازاریابی می کند، و بر اساس زبان کاربردی خاص خود است..[5] این اصل اساساً طبق روش هاسکل توسعه داده شده است و در واقع روشی برای بهبود سروکار داشتن با مدارهای طراحی شده است. این روش با تطابق نحویِ SystemVerilog جایگزین شده است که سیستم Bluespec SystemVerilog(BSV) نامیده می شود. این روش، ادغامِ پروژه های موجود را ساده می کند و به طور کلی پذیرش عمومی مجموعه ی طراحی شده را افزایش می دهد. طراحی های نوشته شده در BSV می تواند با یک شبیه سازی اجرایی به یک Verilog HDL کامپایل شود. مشابه هاسکل، BSV کنترل نوع سخت و نوع استنباطی را ارائه می دهد و برای اندازه های نوع داده ها حمایت می شود. آن روش یک نحو اختصاصی برای مدلسازی همزمانی با نقش معنی محور است: هر عمل باید با یک عمل محصورسازی شود، بنابراین قوانین، مانند بلاک کردن کدجاری عمل می کند. اگر یک وضعیت نگه داشته شود، بلوک "اجرا شده است" و یا "اخراج شده است." اگر دو یا چند قانون شاملِ اقدامات متضاد باشند-مانند یک تکلیف به همان رجیستر- قوانین اولویت بندی خواهند شد، که این اولویت بندی یا از طریق کامپایلر و یا از طریق اظهارات صریح است. در BSV آنها یک ضرورت به حساب می آیند. این امکان وجود دارد که Bluespec خواهان افزایش مقبولیت در میان حرفه های صنعتی باشد زیرا او ادعا می کند که تکنولوژی برتر را ارائه می دهدکه قانع کننده هستند. اما هیچ آماری در زمان نوشتن در دسترس عموم نیست. Bluespec  قادر به پارامتری کردن همه ی جزئیات پیاده سازی است و استفاده ی مجدد آسانتر از ویژگی های ذهنی را ممکن می سازد که به دلیلِ رابط ماژول انتزاعی، تایپ کلی و نوع استنتاج است. توضیح همزمان اتمی بر اساس قانون وجود دارد که طراحی های مداری را باکمترین خطا، ایجاد می کند. با این حال دقیقاً مشخص نیست که آیا BSV با حوزه ی کاربردی زبانهای برنامه نویسی مقایسه پذیر است،  از انجایی که  به نظر می رسد قوانین آن ترکیبی از برنامه نویسی شی گرا چندشکلی و قوانین SystemVerilog سنتی است. با این حال، این روش از یک راه حل مبتنی بر هاسکل ناشی می شود و به احتمال زیاد هنوز هم در همان پایانه انتهایی کار می کند. ForSyDe یک روش دیگر مبتنی بر هاسکل است که برای مدلسازی سیستم های دیجیتالی در زبان توصیفی دامنه خاص است.[6]  این روش از سال 2003 در حال توسعه بوده است احتمالاً توسعه یافته ترین سیستم تابعی توصیف سخت افزار منبع باز بوده است، که از نظر طول عمر و استفاده در پروژه های غیر دانشگاهی مورد توجه است. VHDL یک پایانه ی انتهایی است که با Quartus II ادغام شده است و به عنوان  ModelSim ارائه شده است، بنابراین شبیه سازی ها و آزمایش ها با استفاده از ابزار خارجی می تواند در داخل هاسکل نتیجه گیری شود و نتایج به دامنه ی هاسکل بر می گردند. برای ایجاد کد boilerplate از توسعه دهنده، ForSyDe هاسکل، بسط هایی را فراهم می کند که الگوی هاسکل نامیده می شود.   Boilerplatیک عبارت برای توصیف کد است،  که می تواند بلافاصله از ساختارهای داده ای و یا در غیر این صورت از خود تصحیح ها مشتق شده باشد، اما مجبور است که قبل از اینکه قابلیت استفاده از ساختارهای داده را داشته باشد، به طور دستی اجرا شود. اگرچه هیچ چالش واقعی برای برنامه نویس وجود ندارد، او به زمان قابل توجهی برای پیاده سازی نیاز دارد. در حرکت نزولی، الگوی هاسکل همچنین یک سطح اضافی از پیچیدگی های نحوی را تعریف می کند،  و ترتیبی از خطاها را ارائه می دهد که توصیف سخت افزارهای کاربردی را ساده می کند. زبان مورد استفاده برای پروژه که در اینجا استفاده می شود مبتنی بر هاسکل است که آن را Lava HDL نیز می نامند. Lava به طور گسترده ای از طریق کارهای  Satnam Singh [9 شناخته شده است. او این زبان را در چندین طراحی اعمال کرد که هدفشان برنامه ریزی گیت های آرایه ای قابل برنامه ریزی Xilinx بود. (FPGAs) او از نسخه ای از Lava استفاده می کرد(بیشتر به عنوان  Xilinx Lava  نامیده می شود) که شاملِ مقدار زیادی از جزئیات خاص Xilinx بود مانند محدودیت محل، معماری بلوک های منطقی با قابلیت تنظیم (CLB). علاوه بر این، بسیاری از طراحی ها در Xilinx Lava الگوهای کاملاً منظم را نشان می دهد(تبدیل فوریه های سریع، مرتب کننده های ادغامی و غیره). نتایج به دست آمده کاملاً امیدوارکننده هستند اما در همان زمان یک سوال پیش می آید که آیا Lava می تواند برای رسیدن به هدف پلت فرم های سخت افزاری و دیگر طرح های نامنظم تر، موثر و کارا باشد…


موسسه ترجمه البرز اقدام به ترجمه مقاله " مهندسی كامپيوتر " با موضوع " طراحی پردازنده با استفاده از زبان توصیف سخت افزارِ تابعی " نموده است که شما کاربر عزیز می توانید پس از دانلود رایگان مقاله انگلیسی و مطالعه ترجمه چکیده و بخشی از مقدمه مقاله، ترجمه کامل مقاله را خریداری نمایید.
عنوان ترجمه فارسی
طراحی پردازنده با استفاده از زبان توصیف سخت افزارِ تابعی
نویسنده/ناشر/نام مجله :
Microprocessors and Microsystems
سال انتشار
2012
کد محصول
1001208
تعداد صفحات انگليسی
19
تعداد صفحات فارسی
46
قیمت بر حسب ریال
1,787,500
نوع فایل های ضمیمه
word+pdf
حجم فایل
2 مگا بایت
تصویر پیش فرض


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


این مقاله ترجمه شده مهندسی كامپيوتر در زمینه کلمات کلیدی زیر است:




Functional languages
Lava
Reconfigurable processor

تاریخ انتشار در سایت: 2014-07-01
جستجوی پیشرفته مقالات ترجمه شده

خدمات ترجمه تخصصی و ویرایش مقاله مهندسی كامپيوتر در موسسه البرز

نظرتان در مورد این مقاله ترجمه شده چیست؟

ثبت سفارش جدید