فایلکو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

فایلکو

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

تحقیق در مورد جزوه درس ساختار و زبان ماشین

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

تحقیق در مورد جزوه درس ساختار و زبان ماشین


تحقیق در مورد جزوه درس ساختار و زبان ماشین

لینک پرداخت و دانلود *پایین مطلب*

فرمت فایل:Word (قابل ویرایش و آماده پرینت)

تعداد صفحه50

فهرست مطالب

تهیه‌کننده

 

مهدی نیازمندان

 

                                                                    بهار1385

 

مقدمه     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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

پیشگفتار 

 

 

 

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

 

در سال 1968 رابرت نویس و گوردون مور، دو نفر از پایه گذاران اصلی کمپانی فیرچایلد شرکت جدیدی موسوم به اینتل  تاسیس نمو دند. در سال 1969 یک شرکت ژاپنی سازنده ماشین حساب, به آنها سفارش یک آی سی خاص برای ماشین حسابهای جدید خود داد و یک پردازنده مرکزی (CPU)  چهار بیتی بر روی یک تراشه ساخته شد و بدین ترتیب خانواده   IC های اینتل 4000 متولد گردید. این روند ادامه پیدا کرد و در سال 1972, آی سی هشت بیتی 8008 , پس از آن 8080 , 8085 ودر اواخر دهه1970 چند میکروپروسسور 16 بیتی به بازار عرضه شد .

 

این تحول تا امروز ادامه داشته است و میکروپروسسورهای 32 بیتی و 64 بیتی(پنتیوم) پا به عرصه وجود گذاشته‏اند.  اکثر میکروکامپیوتر های اولیه به صورت کیت فروخته می شدند و برای انجام کاری خاص, باید به زبان ماشین برنامه ریزی می شدند و قابلیت تولید انبوه را نداشتند, تا اینکه در1982 شرکت IBM  برای اولین بار شروع به فروش کامپیوترهای شخصی  نمود و امروزه شاهد جهش های ناباورانه ای در زمینه رشد تکنولوژی وقا بلیت های کامپیوترهای شخصی هستیم.

 

 

 

                                                                                                                         گردآورنده

 

 

 

       مقدمه

 

 

 

 

 

این مجموعه به بررسی مبانی تکنولوژی ریز پردازنده‏ها  می پردازد و به عنوان یک منبع درسی, برای درس ساختار و زبان ماشین در نظر گرفته شده است. تمرکز ما در این کتاب، فهم اجزاء سخت افزاری یک سیستم میکروکامپیوتر و نقش نرم افزار در کنترل سخت افزار است.

 

   قسمت عمده آنچه در این مجموعه ملاحظه می شود, از بخش های مختلف چند کتاب و نیز جزوه درس ساختار و زبان ماشین گردآوری شده است. در این مجموعه به بررسی میکروپروسسور هشت بیتی" شریف"، میکروپروسسور هشت بیتی 8085 , میکروکنترلر  هشت بیتی 8051 و در انتها به اختصار به میکروکنترلر AVR می پردازیم. البته در مورد میکروپروسسور" شریف"، به دلیل آنکه صرفا یک مدل برای یادگیری و آشنایی اولیه است, به سخت افزار چندانی پرداخته نمی شود. دو مورد بعدی که از میکروپروسسور های واقعی و ساخت شرکت اینتل هستند بطور مفصل تر مورد بررسی قرار می گیرند. یادآوری می نمایدکه تاکید بر ساختار سه باسه(  CPU  های استفاده کننده از سه باس) است که در فصل های بعدی بهنگام افزودن حافظه و I/O  به کار می آید،  به همین منظور,  در فصل اول به معرفی باس می پردازیم. همچنین،  در این درس به آی‏سی‏های پشتیبان  ویژه 8085  و روشهای I/O  ی سری خواهیم پرداخت. همچنین،  به اختصار به معرفی فلسفه و توری پایه DMA و AVR می پردازیم.

 

 

 

 

 

                                         فصل اول

 

                                   باس‏‏ها و اجزای داخلی یک کامپیوتر

 

 

 

 

 

در این فصل ابتدا با باس‏ها  و زمان‏بندی  عملکرد صحیح آنها, مطالبی از قبیل سه‏حالته  و امکان اتصال خروجی‏های چند گیت  به یکدیگر آشنا خواهیم شد. ادامه این فصل به سایر اجزای اصلی کامپیوتر(CPU)  اختصاص دارد.

 

 

 

1-1         باس‏ها و عملکردشان

 

 

 

باس را می‏توان یک مجموعه خط(سیم) برای انتقال داده بین یک ارسال کننده داده و یک گیرنده تعریف کرد. معمولا  خطوط سیگنالی را که با یکدیگر وجه مشترکی دارند پهلوی هم گذاشته و آن را یک باس می نامیم. به این ترتیب باس داده,  باس آدرس و باس کنترل و غیره را به دست می‏آوریم. در یک طراحی مناسب,  باید مسائلی از قبیل مصونیت در مقابل نویز, اثرهای بارگذاری ac و dc,  انعکاس ناشی از پالس های منطقی سریع و نیز تداخل بین هادی‏‏های موازی باید در نظر گرفته شوند.  ولی،  از آنجا که ما در این درس درصدد پرداختن به جنبه الکترونیک عناصر نیستیم،  از بحث در باره این مسائل صرف نظر می کنیم.

 

1-1-1      باس نوع اول

 

 

 

روی باس نوع 1, یک فرستنده سیگنال و یک گیرنده داریم. از آنجا که میکروپروسسورها با استفاده از تکنولژی  MOS  ساخته شده اند و توانایی جریاندهی شان بسیار محدود است, به عنوان یک قاعده کلی هرگاه بار روی باس از توانایی جریاندهی میکروپروسسور بیشتر باشد, یا گیرنده در برد اصلی نباشد بافر لازم است. منظور از بافرکردن باس, اتخاذ روشی برای اطمینان از انتقال سطوح منطقی معتبر بر روی باس است.

 

شکل 1-1 چند نوع بافر  متداول را نشان می دهد. آی سی هایی از خانوادة  TTL  مانند 74LS245  و 4LS244 این جنبه گیرا را دارند که در هر آی‏سی هشت بافر وجود دارد. معمولا نه تنها بافر کردن فرستنده, که بافر کردن ورودی گیرنده ها نیز سودمند است,  زیرا این کار مقدار بارهایی را که می توانند روی باس قرار بگیرند بسیار زیاد می‏کند. در مورد این دو آی‏سی در بخش 1-1-3 بیشتر توضیح داده شده است.

 

 

 

 

 

 

 

 

 

                                             شکل 1-1   باس نوع یک   

 

تمام بافرهای شکل 1-2 توانایی سه حالته بودن را دارند, به این معنی که علاوه بر دو حالت 0 و1 منطقی, یک حالت سوم هم می‏توانند داشته باشند. این حالت سوم در واقع حالت امپدانس بالا  یا مدار باز است. بافرهای سه حالته اجازه می‏دهند چند فرستنده یک خط باس را کنترل کنند. اگر تمام فرستنده‏ها بجز یکی در حالت  امپدانس بالا قرار گیرند هیچ تداخلی پیش نمی‏آید. این خاصیت در مورد باس نوع سوم مورد استفاده قرار می‏گیرد.

 

1-1-2      باس نوع دوم

 

 

 

       در باس نوع 2, چند فرستنده و یک گیرندة سیگنال داریم. این نوع باس را نمی‏توان با گیت‏های TTL  استاندارد ساخت. شکل 1-2 دلیل این امر را نشان می‏دهد. تا وقتی هر دو فرستنده می‏خواهند مقدار منطقی یکسانی روی خط قرار دهند, اشکالی پیش نمی‏آید. ولی همین که خروجی یکی 1 و یکی 0 باشد, باس وضعیت مبهمی پیدا می‏کند و بدتر اینکه امکان دارد از گیتی با خروجی 1 جریان زیادی وارد گیتی با خروجی 0 شود و هر دو گیت آسیب می ببینند. این وضعیت, نزاع بر سر باس نام دارد.

 

 

 

                                                                   شکل 1-2 باس نوع دو

 

یک راه برای حل این مشکل استفاده از گیت‏های سه حالته   به عنوان فرستنده است. با فعال کردن تنها یک فرستنده در هر زمان, نزاع بر سر باس ختم می‏شود. مساله‏ای که این راه حل به وجود می‏آورد یک مدار منطقی اضافه‏ای است که برای اطمینان از فعال کردن فقط یک فرستنده در هر زمان باید به کار برده شود.

 

راه حل دیگر استفاده از باس کلکتور باز (درین باز)  شکل 1-3 است. در این طرح خروجی فرستنده‏ها, کلکتور باز است.یعنی اینها می‏توانند با اشباع کردن ترانزیستور خروجی‏شان, ولتاژ باس را به صفر بکشند, ولی برای رساندن ولتاژ باس به 1, به یک مقاومت بالابر(ولتاژ)  خارجی احتیاج داریم. مثالی از این دست, NAND کلکتور باز 7401 است.

 

عیب این نوع باس این است که نمی‏توان تعیین کرد که کدام فرستنده باس را صفر کرده است. به این ترتیب پروسسور مجبور است وضعیت  (خروجی ها) را بخواند تا بتواند وسیله فعال کننده را بیابد, این روش, همه‏پرسی  نام دارد.

 

 

 

                                   شکل 1-3 باس نوع 2 با دروازه های کلکتور باز

 

البته در بسیاری حالات لازم نیست CPU بداند چه وسیله‏ای باس را صفر کرده است, مثلا حالت انتظار  که از طرف یک حافظه کند که نمی‏تواند به سرعت داده مورد تقاضای CPU را فراهم آورد درخواست می‏شود.  در این حالت اینکه کدام حافظه تقاضای انتظار کرده مهم نیست.

 

1-1-3    باس نوع سوم

 

 

 

 باس نوع3, یک باس دو جهته است که روی آن چند ین فرستنده وچند گیرنده قرار دارد.

 

متداولترین مثال, باس داده  در یک سیستم  میکروپروسسوری است.  شکل 1-4 جهت عبور داده از یک وسیله ورودی به CPU را نشان میدهد. توجه کنید که تمام فرستنده‏ها به صورت گیت‏های سه حالته وتمام گیرنده‏ها به صورت لچ   شامل فیلیپ‏ فلاپهای D نشان داده شده‏اند.

 

لزوم سه حالته بودن فرستنده‏ها باید روشن باشد. در هر زمان تنها باید یک فرستنده, کنترل باس را در دست داشته باشد، اما ممکن است لزوم لچ داشتن گیرنده چندان واضح نباشد. چیزی که باید به یاد داشته باشیم این است که داده برای مدت کوتاهی روی باس قرار می‏گیرد. به عنوان مثال،  هنگام اجرای یک دستور ورودی در سیکل M1 روی باس

 

  

 

                                  شکل 1-4 جهت عبور داده بر روی یک باس دو جهته

 

داده آپ کد دستور IN وجود دارد. (مراحل اجرای یک دستور در فصل‏های بعدی به تفضیل شرح داده خواهد شد)  در سیکل ماشین بعدی این باس آدرس دریچه ورودی/خروجی را دارد. در سیکل ماشین سوم وسیله ورودی فعال شده و داده را روی باس قرار می‏دهد. چون هر سیکل ماشین تنها چهار یا پنج سیکل ساعت طول می‏کشد, هر گیرنده باید موقعی که نوبتش است داده را سریعا در لچ خود قرار دهد.

 

مساله اصلی باس3 همین است؛ چطور یک گیرنده یا فرستنده می‏فهمد که نوبتش رسیده است؟

 

پاسخ این سوال به روشهای کدگشایی  باس آدرس وکنترل برمی‏گردد, این روشها را در آینده به تفضیل خواهیم دید؛ ولی ایده به حد کافی ساده است. در واقع زمان‏بندی عملکرد این باس از این قرار است : اگر خط خواندن I/O باس کنترل فعال است, و آدرس ما روی باس آدرس قرار دارد, نوبت ماست که داده را روی باس قرار دهیم و باید فرستنده سه حالته خود را فعال کنیم. البته باز هم بافر نیاز است. شکل 1-5 روش کار را نشان می‏دهد. برای هر خط دو گیت سه حالته با خطوط Enable, READ و WRITE مجزا لازم است. سیگنالهای فعال کننده را باید از باس کنترل میکروپرسسور گرفت.

 


دانلود با لینک مستقیم


تحقیق در مورد جزوه درس ساختار و زبان ماشین