معماری کامپیوتر

Computer Architecture

مقطع: کارشناسی گرایش: معماری کامپیوتر
نوع درس: نظری تعداد واحد: ۳
پیش‌نیاز: ساختار و زبان کامپیوتر هم‌نیاز: –

هدف کلی

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

سرفصل‌ها

  1. مقدمه
    • سطوح تجرید و توصیف کامپیوتر
    • مقدمه‌ای بر نسل‌های کامپیوتر و انواع آن
    • مدل فون‌نویمن (Von Neumann)
  2. نمایش داده
    • مرور سیستم‌های نمایش دیجیتال برای اعداد علامت‌دار و بدون علامت، صحیح و ممیز شناور
    • بررسی دقت مطلق و نسبی و بازه‌ی نمایش
    • نویسه‌ها (Characters): کدهای پایه ۷ و ۸ بیتی، کدهای جامع ۱۶ و ۳۲ بیتی
  3. ساختار کامپیوتر
    • واحد پردازش مرکزی، واحد محاسبات و منطق، ثبات‌ها، واحد کنترل، حافظه اصلی
    • گذرگاه (Bus) مشترک، سیکل واکشی- اجرا (Fetch-Execute)
    • مدهای آدرس‌دهی: آنی (چسبیده به عملوند)، مستقیم (مطلق)، غیرمستقیم، نسبی، ضمنی، اندیسی، قطعه‌ای، صفحه‌ای
    • برنامه‌سازی به زبان اسمبلی و ترجمه‌ی آن به زبان ماشین در چند کامپیوتر ساده
    • اسمبلر، اشکال‌زدا (Debugger)، کامپایلر، ربط‌دهنده (Linker) و بارکننده (Loader)
  4. تعریف و اندازه‌گیری کارایی پردازنده و کامپیوتر
    • عوامل موثر در کارایی کامپیوتر
    • فرمول و تعریف کارایی
    • افزارسنجی (Benchmarking) و نمونه‌های آن
  5. آشنایی با مجموعه دستورالعمل یک کامپیوتر CISC و یک کامپیوتر RISC
    • معرفی ساختار کامپیوتر مورد نظر و شیوه‌های نشانی‌دهی آن
    • معرفی دستورالعمل‌ها و برنامه‌سازی به زبان اسمبلی کامپیوتر مورد نظر
    • معرفی ساختار‌های مرسوم برنامه‌سازی ساختارمند (زیربرنامه، ماکرو)
    • وقفه و مدیریت آن
  6. طراحی واحد اجرایی یا مسیر داده و کنترل سیم‌بندی‌شده
    • مروری بر مدهای آدرس دهی
    • مروری بر سطح و زبان انتقال ثبات (RTL)
    • معماری مجموعه ‌‌دستورالعمل (Instruction Set Architecture)
    • تحلیل و طراحی گام به گام یک پردازنده‌ی نمونه (MIPS/RISC-V)
    • بررسی پیاده‌سازی وقفه و روش سرکشی
    • توصیف و طراحی واحد کنترل
  7. واحد کنترل ریزبرنامه‌پذیر
    • مرور کاستی‌ها و مزایای نسبی این نوع کنترل به کنترل سیم‌بندی‌شده
    • بررسی معماری نمونه و مثال
  8. سیستم حافظه
    • طرز کار و معرفی انواع حافظه و سلسله مراتب آن
    • حافظه‌ی نهان و بررسی انواع نگاشت‌های مستقیم، کاملا شرکت‌پذیر و شرکت‌پذیر مجموعه‌ای
  9. الگوریتم‌های حسابی
    • الگوریتم‌های جمع، تفریق، ضرب و تقسیم
    • معماری‌های حسابی
    • ضرب با کدگذاری بوت (Booth) و آرایه‌ای
  10. مروری برروش‌های I/O
    • روش‌های دست‌تکانی (Handshaking)
  11. معماری‌های پیشرفته
    • مروری بر روش‌های تسریع و موازی‌سازی
    • بررسی اجمالی معماری پایپلاین و زمان اجرا در آن

ارزیابی پیشنهادی

منابع پیشنهادی

  1. J. Hennessy and D. Patterson. Computer Organization and Design MIPS Edition: The HW/SW Interface. 6th Edition, Morgan Kaufmann, 2020.
  2. M. Mano. Computer System Architecture. Revised 3rd Edition, Prentice Hall, 2017.
  3. J. P. Hayes. Computer Architecture and Organization. McGraw-Hill, 3rd Edition, 1988.
  4. M. A. Mazidi, J. G. Mazidi, and D. Causey. The x86 PC: Assembly Language, Design, and Interfacing. 5th Edition, Prentice Hall, 2010.