جزوه درس ساختار و زبان ماشین
پیشگفتار
در سال 1968 رابرت نویس و گوردون مور، دو نفر از پایه گذاران اصلی کمپانی فیرچایلد شرکت جدیدی موسوم به اینتل[1] تاسیس نمو دند. در سال 1969 یک شرکت ژاپنی سازنده ماشین حساب, به آنها سفارش یک آی سی خاص برای ماشین حسابهای جدید خود داد و یک پردازنده مرکزی (CPU) چهار بیتی بر روی یک تراشه ساخته شد و بدین ترتیب خانواده IC های اینتل 4000 متولد گردید. این روند ادامه پیدا کرد و در سال 1972, آی سی هشت بیتی 8008 , پس از آن 8080 , 8085 ودر اواخر دهه1970 چند میکروپروسسور 16 بیتی به بازار عرضه شد .
این تحول تا امروز ادامه داشته است و میکروپروسسورهای 32 بیتی و 64 بیتی(پنتیوم) پا به عرصه وجود گذاشتهاند. اکثر میکروکامپیوتر های اولیه به صورت کیت فروخته می شدند و برای انجام کاری خاص, باید به زبان ماشین برنامه ریزی می شدند و قابلیت تولید انبوه را نداشتند, تا اینکه در1982 شرکت IBM برای اولین بار شروع به فروش کامپیوترهای شخصی[2] نمود و امروزه شاهد جهش های ناباورانه ای در زمینه رشد تکنولوژی وقا بلیت های کامپیوترهای شخصی هستیم.
گردآورنده
این مجموعه به بررسی مبانی تکنولوژی ریز پردازندهها[3] می پردازد و به عنوان یک منبع درسی, برای درس ساختار و زبان ماشین در نظر گرفته شده است. تمرکز ما در این کتاب، فهم اجزاء سخت افزاری یک سیستم میکروکامپیوتر و نقش نرم افزار در کنترل سخت افزار است.
قسمت عمده آنچه در این مجموعه ملاحظه می شود, از بخش های مختلف چند کتاب و نیز جزوه درس ساختار و زبان ماشین گردآوری شده است. در این مجموعه به بررسی میکروپروسسور هشت بیتی" شریف"، میکروپروسسور هشت بیتی 8085 , میکروکنترلر[4] هشت بیتی 8051 و در انتها به اختصار به میکروکنترلر AVR می پردازیم. البته در مورد میکروپروسسور" شریف"، به دلیل آنکه صرفا یک مدل برای یادگیری و آشنایی اولیه است, به سخت افزار چندانی پرداخته نمی شود. دو مورد بعدی که از میکروپروسسور های واقعی و ساخت شرکت اینتل هستند بطور مفصل تر مورد بررسی قرار می گیرند. یادآوری می نمایدکه تاکید بر ساختار سه باسه( CPU های استفاده کننده از سه باس) است که در فصل های بعدی بهنگام افزودن حافظه و I/O به کار می آید، به همین منظور, در فصل اول به معرفی باس می پردازیم. همچنین، در این درس به آیسیهای پشتیبان[5] ویژه 8085 و روشهای I/O ی سری خواهیم پرداخت. همچنین، به اختصار به معرفی فلسفه و توری پایه DMA و AVR می پردازیم.
[1] · Integrated Electronics
[2] · Personal Computer(PC)
[3] · Microprocessors
[4] · Microcontrollers
[5] ·منظور هما ن Peripheralا ست.
فهرست
مقدمه 7
فصل اول. 8
باسها و اجزای داخلی کامپیوتر. 8
1-1 باسها و عملکردشان. 8
1-1-1 باس نوع یک.... 9
1-1-2 باس نوع دو. 10
1-1-3 باس نوع3. 12
1-2 ثباتها 17
1-3 واحد محاسبه و منطق(ALU) 18
1-4 رجیستر دستورالعمل (IR) 19
1-5 واحد کنترل و زمانبندی.. 19
فصل دوم. 20
حافظهها 20
2-1 ROM... 20
2-2 EPROM... 20
2-3 E2PROM... 20
2-4 RAM... 21
2-5 RAM هایاستاتیک و دینامیک.... 21
فصل سوم. 21
کامپیوتر شریف... 21
3-1 بلوک دیاگرام کامپیوتر شریف... 22
3-1-1 باس داده (DB). 22
3-1-2 واحد محاسبه ومنطق (ALU) 23
3-1-3 رجیستر وضعیت... 23
3-1-4 آکومولاتور (Acc) 24
3-1-5 واحد زمانبندی و کنترل. 24
3-1-6 رجیستر دستورالعمل (IR) 25
3-1-7 شمارنده برنامه (PC). 25
3 -1-8 باس آدرس (AB). 25
3-2 دو عمل اصلی CPU... 25
3-3 عملکرد کامپیوتر شریف و قالب بندی دستورالعملها 27
3-4 شاخصها 28
فصل چهارم. 30
میکرو پروسسور 8085. 30
4-1 پایههای 8085. 30
4-1-1 0AD-7AD... 30
4-1-2 15A-8A... 30
4-1-3 Error! Objects cannot be created from editing field codes.................................................................................................. 31
4-1-4 READY... 31
4-1-5 HOLD... 31
4-1-6 HLDA 31
4-1-7 INTR 31
4-1-8 INTA 32
4-1-9 (7.5, 6.5) RST5.5.. 32
4-1-10 TRAP.. 32
4-1-11 RESET IN... 32
4-1-12 RESET OUT.. 32
4-1-13 X1,X2.. 32
4-1-14 CLK OUT.. 33
4-1-15 SID... 33
4-2 شاخصها 33
4-3 انواع آدرسدهی در 8085. 34
4-3-1 روش آدرسدهی مستقیم.. 34
4-3-2 روش آدرسدهی ثباتی.. 35
4-3-3 روش آدرسدهی فوری.. 35
4-3-4 روش آدرسدهی غیر مستقیم.. 35
4-3-5 روش آدرسدهی مستتر. 35
4-4 برنامهنویسی در 8085. 36
4-4-1 انتقال داده. 36
4-4-2 گروه دستورهای محاسباتی.. 38
4-4-3 گروه شامل دستورات منطقی.. 41
4-4-4 گروه دستورات پرش... 42
4-4-5 گروه دستورات O/I و کنترل ماشین و Stack.. 42
4-5 وقفه ها 45
4-6 زمانبندی 47
4-6-1 سیکل خواندن. 47
4-6-2 سیکل نوشتن.. 48
4-6-3 زمانبندی یک دستورالعمل نمونه. 48
4-5 IC های جانبی 8085. 49
4-6-1 IC های 8755 و 8355. 49
4-6-2 IC های 8155 و 8156. 50
4-6-3 8255 (PPI) 51
4-7 اسکن صفحه کلید. 54
4-8 کنترل موتور پلهای.. 56
4-9 برنامة چراغ راهنما 57
4-9 ثابتها و آرایهها در زبان اسمبلی.. 59
فصل پنجم.. 61
میکروکنترلر 8051. 61
5-1 بررسی اجمالی پایههای 8051. 62
5-1-1 درگاه صفر. 62
5-1-2 درگاه یک.... 63
5-1-3 درگاه دو. 63
5-1-4 درگاه سه. 63
5-1-5 PSEN... 64
5-1-6 ALE.. 64
5-1-7 ..... 64
5-1-8 RST.. 64
5-1-9 ورودیهای نوسانساز. 65
5-1-10 اتصالات تغذیه. 65
5-2 سازمان حافظه. 66
5-2-1 RAM همه منظوره. 66
5-2-2 RAM بیت آدرس پذیر. 66
5-2-3 بانک های ثبات 67
5-2-4 ثباتهای کاربرد خاص.... 68
5-3 دستیابی به حافظه کد و داده خارجی.. 70
5-4 روشهای آدرس دادن. 71
5-4-1 آدرسدهی ثبات... 71
5-4-2 آدرس دهی مستقیم.. 72
5-4-3 آدرس دهی غیر مستقیم.. 73
5-4-4 آدرس دهی فوری 73
5-4-5 آدرس دهی نسبی 74
5-4-6 آدرس دهی مطلق 74
5-4-7 آدرس دهی طولانی 75
5-4-8 آدرس دهی اندیس دار. 75
5-5 انواع دستورالعملها 75
5-5-2 دستورالعملهای منطقی.. 76
5-5-3-1 RAM داخلی.. 77
5-5-3-2 RAM خارجی.. 77
5-5-3-3 جدولهای جستجو. 78
5-5-4 دستورالعملهای بولی.. 78
5-5-5 دستورالعملهای انشعاب برنامه. 79
5-6 تایمرها 79
5-6-1 ثبات حالت تایمر. 80
5-6-2 ثبات کنترل تایمر. 82
5-7 شروع به کار، توقف و کنترل تایمرها 83
5-8 عملیات درگاه سریال. 85
5-8-1 حالت 1.. 85
5-8-2 حالت 2.. 86
5-8-3 حالت 3.. 86
5-8 وقفه ها 88
5-8-1 سازمان وقفه. 88
5-8-2 فعال و غیر فعال کردن وقفه ها 88
5-8-3 تقدم وقفه ها 89
5-8-4 اجرای وقفهها 90
5-8-5 بیتهای پرچم وقفهها 90
5-8-6 بردارهای وقفه. 91
فصل ششم.. 94
میکروکننده های AVR.. 94
6-1 مقدمه. 94
6-2 پایه ها و سیگنال ها 95
6-3 امکانات موجود در AVR.. 97
6-3-1 CPU... 97
6-3-2 حافظه ها 101
6-3-2-1 حافظه برنامه. 101
6-3-3 مدارات راه اندازی و کنترل. 103
6-3-4 واحدهای جانبی (I/O) 105
فصل هفتم.. 107
DMA 107
7-1 مفهوم DMA... 107
7-2 برنامه ریزی تراشه 8237 DMA... 108
7-3 ثبات های کنترل داخلی 8237. 108
7-3-1 ثبات فرمان. 109
7-3-2 ثبات وضعیت... 109
7-3-3 ثبات مد. 109
7-3-4 ثبات تک پوشش.... 110
7-3-5 ثبات تمام پوشش.... 110
7-3-6 ثبات موقت/پاک کردن اصلی.. 110
7-3-7 پاک کردن ثبات پوشش.... 110