ساختار و زبان کامپیوتر

Computer Structure and Machine Language

شماره درس: ۴۰۱۲۶ تعداد واحد: ۳
مقطع: کارشناسی نوع درس: نظری
پیش‌نیاز: مبانی برنامه‌سازی، مدارهای منطقی هم‌نیاز: –

اهداف درس

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

ریز مواد

  • تاریخچه کامپیوتر
    • مقدمه‌ای بر نسل‌های کامپیوتر و انواع آن
    • مدل فون‌نیومن (Von Neumann)
  • نمایش داده
    • اعداد: صحیح/اعشاری، بی‌علامت/باعلامت، ممیز ثابت/ممیز شناور، دودویی/دهدهی، …
    • نویسه‌ها (Characters): کدهای پایه ۷ و ۸ بیتی، کدهای جامع ۱۶ و ۳۲ بیتی
  • ساختار کامپیوتر
    • واحد پردازش مرکزی (CPU)، واحد محاسبات و منطق (ALU)، ثبات‌ها (Registers)، واحد کنترل (CU)، حافظه اصلی
    • گذرگاه (Bus) مشترک، سیکل واکشی- اجرا (Fetch-Execute)
    • مدهای آدرس‌دهی: آنی (چسبیده به عملوند)، مستقیم (مطلق)، غیرمستقیم، نسبی، ضمنی، اندیسی، قطعه‌ای، صفحه‌ای
    • برنامه نویسی به زبان اسمبلی و ترجمه‌ی آن به زبان ماشین در چند کامپیوتر ساده
    • اسمبلر (Assembler) و اشکال‌زدا (Debugger)، کامپایلر (Compiler)، ربط‌دهنده (Linker) و بارکننده (Loader).
  • آشنایی با مجموعه دستورالعمل (Instruction Set) حداقل یک کامپیوتر CISC (پردازنده‌های Intel 8086 ، IBM 360/370 یا MC68000 توصیه می‌شوند)
    • معرفی ساختار کامپیوتر مورد نظر و شیوه‌های نشانی‌دهی آن
    • معرفی دستورالعمل‌ها و برنامه‌سازی به زبان اسمبلی کامپیوتر مورد نظر
    • معرفی ساختار‌های مرسوم برنامه‌سازی ساختمند (زیربرنامه، ماکرو، …)
    • وقفه و مدیریت آن
  • آشنایی با مجموعه دستورالعمل (Instruction Set) حداقل یک کامپیوتر RISC (پردازنده MIPS توصیه می‌شود)
    • معرفی ساختار کامپیوتر مورد نظر و شیوه‌های نشانی‌دهی آن
    • معرفی دستورالعمل‌ها و برنامه‌سازی به زبان اسمبلی کامپیوتر مورد نظر
    • معرفی ساختار‌های مرسوم برنامه‌سازی ساختمند (زیربرنامه، ماکرو، …)
    • وقفه و مدیریت آن

ارزیابی

  • تمرین‌های نظری: ۳ نمره
  • آزمون‌های میان‌ترم و پایانی: ۱۵ نمره
  • آزمونک‌ها: ۲ نمره

مراجع

  1. J. L. Antonakos.The 68000 Microprocessor: Hardware and Software Principles and Applications. Prentice Hall, 2004.
  2. M. A. Mazidi, et al. The x86 PC: Assembly Language, Design, and Interfacin. Prentice Hall, 2010.
  3. G. Struble. Assembler Language Programming: The IBM System/360. Addison-Wesley, 1971.
  4. D. A. Patterson and J. L. Hennessey. Computer Organization and Design MIPS Edition: The Hardware/Software Interface. 5th Edition, Elsevier (Morgan Kaufmann), 2013.