ساختار و زبان کامپیوتر
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 توصیه میشود)
- معرفی ساختار کامپیوتر مورد نظر و شیوههای نشانیدهی آن
- معرفی دستورالعملها و برنامهسازی به زبان اسمبلی کامپیوتر مورد نظر
- معرفی ساختارهای مرسوم برنامهسازی ساختمند (زیربرنامه، ماکرو، …)
- وقفه و مدیریت آن
ارزیابی
- تمرینهای نظری: ۳ نمره
- آزمونهای میانترم و پایانی: ۱۵ نمره
- آزمونکها: ۲ نمره
مراجع
- J. L. Antonakos.The 68000 Microprocessor: Hardware and Software Principles and Applications. Prentice Hall, 2004.
- M. A. Mazidi, et al. The x86 PC: Assembly Language, Design, and Interfacin. Prentice Hall, 2010.
- G. Struble. Assembler Language Programming: The IBM System/360. Addison-Wesley, 1971.
- D. A. Patterson and J. L. Hennessey. Computer Organization and Design MIPS Edition: The Hardware/Software Interface. 5th Edition, Elsevier (Morgan Kaufmann), 2013.