زبان توصیف معماری

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

توصیف معماری و طراحی ترکیبی سامانه روی تراشه بر اساس زبانهای توصیف معماری (Architecture Description Languages, ADL)، راه حلی کارا برای کاوش فضای طراحی معماریهای سامانه روی تراشه به نظر می‌رسند. زبانهای توصیف معماری برای مشخص کردن الگوهای سامانه‌های روی تراشه بوده و برای بررسی درستی معماریهای سامانه روی تراشه در مراحل اولیه هستند. همچنین برای تولید خودکار ابزارهای نرم‌افزاری مورد نیاز برای طراحی سخت‌افزارها و نرم‌افزارهای به کار رفته در سامانه‌های روی تراشه هستند. در ادامه مروری بر این زبانها خواهیم داشت.

منطقه درون نقطه چین در نمودار ۵ یک روند طراحی ترکیبی سخت‌افزاری/نرم‌افزاری رایج برای سامانه‌های نهفته تشکیل شده از پردازنده‌های قابل برنامه‌ریزی، مدارهای مجتمع با کاربرد خاص (ASICs)، حافظه‌ها، واسطهای ورودی/خروجی و ... که به یک برد سامانه متصل هستند را نشان می‌دهد. این روند ترکیبی با انتخاب یک برنامه بوسیله یک زبان طراحی سامانه آغاز می‌شود. سپس هر کار به یک نرم‌افزار (پردازنده) یا سخت‌افزار (یک ASIC) واگذار شده به طوری که محدودیتها (از جمله کارائی، مصرف توان، مساحت تراشه و ...) ارضاء شوند. این روند طراحی مجزاسازی سخت‌افزار و نرم‌افزار نامیده می‌شود. روش طراحی ترکیبی بر اساس ADL الگو ساختار سامانه روی تراشه را برای خانواده‌ای خاص از کاربردها، پیکربندی می‌کند در حالی که طراحایهای ترکیبی دیگر فاقد این خاصیت هستند. زبانهای توصیف معماری به چهار دسته اصلی تقسیم می‌شوند که در ادامه به توضیح هر یک می‌پردازیم.

زبانهای توصیف معماری سنتزی[ویرایش]

این زبانها به نوعی HDL هستند که از جمله آنها می‌توان به MIMOLA و COACH اشاره کرد.

زبانهای توصیف معماری کامپایلری[ویرایش]

از جمله آنها می‌توان nML را نام برد که در Cadence Design Systems برای تولید یک شبیه‌ساز مجموعه دستورات، یک assembler و یک disassembler به کار می‌رود. ISDL از دیگر زبانهای پیشنهاد شده است. توصیفهای ISDL قابلیت تبدیل به کد Verilog قابل سنتز را دارند. یکی دیگر از این زبانها MDES است که هم ساختار و هم رفتار پردازنده‌های مورد بررسی قرار می‌دهد. زبانی به نام Valen-C بهینه‌سازی پهنای مسیر داده را یکی از اهداف خود قرار داده است. در این زبان توصیف پردازنده برای شبیه‌سازی، یک netlist سطح RT نوشته شده به زبانی از ترکیب Verilog و Lisp است. زبان CSDL مجموعه‌ای از زبانهای توصیف ماشین است که در سامانه کامپایلری Zephyr استفاده می‌شود. Zephyr فراچارچوبی برای نویسندگان کامپایلر است که از ماژول‌های گوناگون مستقل از ماشین (برای مثال HLL parsers) و ماژول‌های با قابلیت استفاده دوباره (برای مثال بهینه‌سازهای کد) تشکیل شده است. از جمله زبانهای دیگر می‌توان زبان EXPRESSION را نام برد که حاوی توصیفاتی هم از ساختار و هم از رفتار سامانه‌های پردازنده-حافظه است. یکی دیگر از خصوصیات EXPRESSION قدرت این زبان در تعریف کردن سامانه‌های حافظههای نوین است.

زبانهای توصیف معماری شبیه‌سازی[ویرایش]

از جمله این زبانها می‌توان LISA را نام برد که هم ساختار و هم رفتار را می‌توان در آن مدلسازی کرد. برای این زبان هیچ ساختمانی برای تولید کامپایلر وجود ندارد. از دیگر زبانهای این مدل می‌توان RADL را نام برد.

زبانهای توصیف معماری درستی‌یابی[ویرایش]

می‌توان زبان AIDL را نام برد که در طراحی پردازنده‌های superscalar با کارائی بالا به کار می‌رود. توصیفهای AIDL را می‌توان به وسیله شبیه‌ساز AIDL، شبیه‌سازی کرد. توصیفات AIDL قابلیت تبدیل به کد VHDL قابل سنتز را دارند.