نوع فایل: word
قابل ویرایش 151 صفحه
چکیده:
زبان اسمبلی، نسخهی انسان پسندانهی زبان ماشین پردازنده میباشد. تقریباً یک رابطهی یک به یک بین زبان اسمبلی و زبان ماشین وجود دارد که تبدیل میشود. زبان اسمبلی برای نوشتن برنامهها برای پردازنده مفید میباشد قبل از اینکه کامپایلر زبان سطح بالای کامل در دسترس باشد و زبان هدف خوبی برای کامپایلر تولید میکند. برای بخشهای بحرانی از نظر فضا و زمان برنامههای کاربردی نیز مفید میباشد.
اسمبلرها معمولاً از یک فرآیند دو مسیره برای تبدیل کد منبع زبان اسمبلی برنامه به کد ماشین متناظر استفاده میکنند. تابع اصلی اولین مسیر، تعیین مقدارها (آدرسها) برای همهی ارجاعهای نمادی میباشد. سپس دومین مسیر از این مقادیر استفاده میکند، که در جدول نماد برای تولید کد ماشین ذخیره شده است. این فصل VeSPA ASeMbler (VASM) را به عنوان مثالی از اسمبلر دو مسیره توصیف کرده است.
مقدمه:
هدف این مقاله آموزش نحوهی طراحی یک پردازنده از حافظهی موقتی میباشد. در یک فرآیند مرحله به مرحله، ما به شما خواهیم آموخت که چگونه یک پردازنده را به عنوان یک مثالی از سیستم دیجیتالی پیچیده طراحی و تست کنید. از زبان توصیفی سختافزار اصلی Verilog (HDL) به عنوان مبنایی برای این فرآیند طراحی استفاده خواهیم کرد.
در عمل، پردازندهی VeSPA (معماری پردازندهی خیلی کوچک) را به عنوان وسیلهای برای مشخص کردن فرآیند طراحی کلی توسعه خواهیم داد. نشان میدهیم چگونه مجموعه دستورات برای این پردازنده تعریف میشود، چگونه یک اسمبلر برای پردازنده ساخته میشود، چگونه یک شبیهساز رفتاری در Verilog به منظور تست مجموعه دستورات و اسمبلر توسعه مییابد و چگونه یک مدل ساختاری Verilog توسط پیادهسازی خط لولهی پردازنده توسعه مییابد. همچنین پردازش ترکیب برای تبدیل اتوماتیک این مدل ساختاری به یک قطعهی واقعی از سختافزار سیلیکونی را مورد بررسی قرار میدهیم. و در آخر با توصیف تکنیکهای متعددی که میتوانند برای رسیدگی صحت طراحی پردازنده مورد استفاده قرار گیرند، بحث را تمام میکنیم.
فهرست مطالب:
1- کنترل پیچیدگی
1-1- جریان طراحی سلسله مراتبی
2-1- طراحی سختافزار و نرم افزار
3-1- خلاصه
2- یک مکان بسیار مناسب برای شروع
1-2- توضیحات اولیه
2-2- مقدمهی رسمیتر برای موارد اساسی
1-2-2- ماژولها و پورتها
2-2-2- شبکهها و ثباتها
3-2-2- بردارها و آرایهها
4-2-2- ثابتها
5-2-2- نمایش عددی
6-2-2- عملگرها
3-2- مدلهای ساختاری و رفتاری
1-3-2- مثالی ازیک ماشین وضعیت متناهی
2-3-2- مدلسازی رفتاری
3-3-2- ساختارهای دیگر برای مدلسازی رفتاری
کنترلهای زمانبندی
انتسابهای بلوکه و بدون بلوکه
حلقهها
4-3-2- شرح ساختاری
4-2- توابع و وظایف
5-2- خلاصه
تعریف معماری مجموعه دستورالعملها
1-3- طراحی مجموعه دستورالعملها
2-3- تعریف مجموعه دستورات VeSPA
1-2-3- دستورات حسابی
مشخص کردن عملوندها
انتخاب دستورات خاص
سرریز حسابی
2-2-3- دستورات عمل منطقی
3-2-3- دستورات کنترلی
کدهای شرطی
تنظیم کدهای شرطی
انشعاب شرطی
4-2-3 دستورات انتقال داده
معماریهای بارگذاری- ذخیره و حافظه به حافظه
دستورات بارگذاری- ذخیرهی VeSPA
5-2-3- دستورات گوناگون
3-3- مشخص ساختن VeSPA ISA
1-3-3- فرمت دستور
2-3-3- مشخصات دستور
دستورات حسابی و منطقی
دستورات کنترل
دستورات انتقال داده
دستورات متفرقه
4-3- خلاصه
4- مدلسازی رفتاری الگوریتمیک
1-4- تعریف ماژول
2-4- تعاریف عنصر ذخیرهسازی و دستور
1-2-4- پارامترها
2-2-4- اعلانهای ثبات
3-2-4- تعاریف رشته دستور و عملوند
3-4- حلقهی واکشی- اجرا
4-4- وظیفهی واکشی
1-4-4- واسط حافظه
5-4- وظیفهی اجرا
6-4- وظایف کد شرطی
7-4- ردیابی اجرای دستور
8-4- خلاصه
5- ساختیک اسمبلر برای VeSPA
1-5- چرا زبان اسمبلی ؟
2-5- پردازش اسمبلی
1-2-5- فرمت زبان اسمبلی
2-2-5- اسمبلر دو مسیره
3-5- VASM- اسمبلر VeSPA
1-3-5- فرمانهای اسمبلر و نحو VASM
2-3-5- مسیر 1- تحلیل لغوی و تجریه
3-3-5- مسیر 2- تولید کد ماشین
4-5- پیوند و بارگذاری
5-5- خلاصه
پروژه رشته کامپیوتر با موضوع کنترل پیچیدگی. doc