MANO Basic Computer
اسلاید 1: Department of Computer and IT EngineeringUniversity of KurdistanComputer ArchitectureMANO Basic ComputerBy: Dr. Alireza Abdollahpouri
اسلاید 2: 2معماري SPC : Stored program control در اين نوع ساختار که اغلب کامپيوتر ها از آن پيروي ميکنند عمليات يک کامپيوتر توسط برنامه اي که توسط برنامه نويس نوشته شده و در حافظه RAM قرار داده ميشود کنترل ميگردد . اين برنامه مجموعه اي از دستورالعمل هاست که نوع عمليات، عملوندهاي مربوطه و توالي اجراي عمليات را مشخص مي کند .يک دستورالعمل يک کد باينري است که توالي انجام ميکرواپريشن ها را مشخص مي نمايد .کامپيوتر يک دستورالعمل را از حافظه خوانده و در داخل يک رجيستر قرار مي دهد.واحد کنترل کد باينري دستورالعمل را Decode کرده و دنباله اي از ميکرواپريشن هاي لازم براي اجراي آن دستورالعمل را بوجود مي آورد .کد يک دستورالعمل گروهي از بيت هاست که به کامپيوتر دستور مي دهد تا عمل خاصي را انجام دهد . اين کد معمولا به بخشهايي تقسيم مي شود که هر کدام وظيفه خاص خودشان را دارند . ADD Ax,sControl Regsواحد کنترلRegsALURAM
اسلاید 3: 3 اصلي ترين قسمت يک کد دستورالعمل بخش Operation code يا Op-code است. Op-code نوع دستورالعمل نظير ADD ، SUB و غيره را مشخص ميکند تعداد بيتهاي Op-code به تعداد کل دستورالعملهاي موجود در cpu بستگي دارد .دستورالعمل نه تنها بايد نوع عمل (opcode) بلكه بايد محلي كه آن عمل روي آن انجام ميگردد (حافظه يا رجيستر) را مشخص كند. لذا در کد دستورالعمل يک محل حافظه با آدرس آن مشخص مي شود که اين آدرس جزئي از کد دستورالعمل را تشکيل مي دهد .براي مشخص کردن رجيسترهاي CPU نيز از يک کد باينري استفاده مي شود اگر CPU تعداد رجيستر داشته باشد از يک کد Kبيتي براي آنها استفاده مي شود .
اسلاید 4: 4کامپیوتر پایه مانوواحد حافظه با 4096 کلمه 16 بیتیرجيسترهای AR, PC, DR, AC, IR, TR, OUTR, INPR, SCفلیپ فلاپ های I, S, E, R, IEN, FGI, FGOرمزگشای 3 به 8 اعمال و 4 به 16 زمانبندیگذرگاه مشترک 16 بیتیدروازه های منطقی کنترلی جمع کننده و مدارهای منطقی که به ورودی AC وصل شده اند
اسلاید 5: 5کد دستورهادستورهای کامپیوتر بصورت یک کد دودوئی هستند که ترتیب خاصی از ریز عمل ها را مشخص می کنند.کد دستور + آدرس اگر تعداد دستورات 2n باشد، کد دستور باید n بیتی باشد.کد دستور گاهی درشت عمل (Macro Operation) نامیده می شود. آدرس یک رجيسترو یا مکانی از حافظه را مشخص می کند.مکان حافظه آدرس عملوند می باشد.دستورها و داده ها در حافظه قرار دارند.
اسلاید 6: 6کامپیوتر پایه (معماری تک انباره ای)یک رجيسترپردازنده AC – accumulatorشکل دستور کد دستور 4 بیتی می باشد.12 بیت مربوط به آدرس می باشد (4096=212)چرخه اجرای دستور خواندن یک دستور 16 بیتی از حافظهاستفاده از12 بیت آدرس جهت واکشی عملوند از حافظه اجرای کد دستور 4 بیتی
اسلاید 7: 7کامپیوتر پایه – فرمت دستوراتدستورات برنامه عملوند ها (داده)4096X16حافظه AC - رجيسترپردازندهکد آدرس عملوند دودوئی15 0 4 12قالب دستورممكن است بعضي از دستورالعملها به عملوند (operand) احتياج نداشته باشند. مانند Clear AC. كه در اين حالت قسمت آدرس ميتواند براي مقاصد ديگري استفاده شود.Example: ADD 15 ; AC AC + M[15]
اسلاید 8: 8اضافه نمودن مدهای آدرسدهیآدرس 12 بیتی قرار گرفته در دستورمستقیم (direct)آدرس مکانی از حافظه که داده در آنجا قرار گرفته است.غیر مستقیم (indirect)آدرس مکانی از حافظه که در آنجا آدرس داده مورد نظر (عملوند) قرار گرفته است. به آدرس مکان عملوند آدرس موثر (EA) گفته می شود.یکی از بیت های دستور به عنوان بیت غیرمستقیم در نظر گرفته شده است.
اسلاید 9: 9آدرس دهی مستقیم و غیر مستقیمآدرس موثرآدرس موثرآدرس دهی غیر مستقیمآدرس دهی مستقیم
اسلاید 10: 10رجيستر ها وحافظه کامپیوتر پایهIR15 0TR15 0DR15 0AC15 0OUTR7 0INPR7 0PC11 0AR11 0Memory4096 X 16
اسلاید 11: 11لیست رجيستر های کامپیوتر پایه
اسلاید 12: 12ورودی های کنترلی رجيسترها LD (load) – بار کردنINR (increment) – افزایش يك واحدي CLR (clear) – پاک کردن12CLKCLRINRLD12
اسلاید 13: 13شمارنده برنامهآدرس مکانی از حافظه که دستور بعدی در آن قرار گرفته است را نگه می دارد.در زمانی که چرخه اجرای دستور فعلی کامل شد، دستور بعدی واکشی (fetch) می شود.دقیقا پس از واکشی دستور، PC افزایش می یابد.در زمان اجرای دستور انشعاب (branch) ، PC مقدار جدیدی می گیرد.120CLKCLRINRLDPC11
اسلاید 14: 14گذرگاه مشترک (bus)رجيسترها را به یکدیگر و به حافظه وصل می کند.با توجه به S2 S1 S0 مشخص می شود که خروجی کدام بخش باید روی گذرگاه قرار گیرد.زمانی که رجيسترکمتر از 16 بیت داده دارد ، به بیت های با ارزش گذرگاه مقدار صفر داده می شود.رجيستري که پایه LD آن یک باشد، داده ها را از گذرگاه می خواند.در زمانی که پایه Write حافظه فعال باشد، داده ها در حافظه نوشته می شوند.در زمانی که پایه Read حافظه فعال باشد، داده های حافظه روی گذرگاه قرار می گیرد. مشروط به اینکه S2 S1 S0=111 باشد.
اسلاید 15: 15نحوه اتصال اجزاء کامپیوتر پایه ALU
اسلاید 16: 16سیستم گذرگاه مشترک از نگاه دیگر
اسلاید 17: 17رجيسترآدرس - ARهمیشه برای مشخص کردن آدرسی از حافظه بکار می رود.این رجيستراختصاصی نیاز به وجود گذرگاه جداگانه ای برای گذرگاه آدرس را از بین برده است.محتوای هر یک از رجيسترهایی که خروجی آنها به گذرگاه متصل است را می توان در حافظه نوشت.هر یک از رجيسترهایی که ورودی آن به گذرگاه متصل است، می تواند به عنوان مقصد دستور Read از حافظه باشد.در صورتی که خط LD آن فعال باشد.120CLKCLRINRLDARII
اسلاید 18: 18رجيسترانباره يا اكومولاتور - ACورودی این رجيستر، خروجی مدار جمع کننده و منطقی می باشد.مدار جمع کننده و منطقیورودیخروجی 16 بیتی انباره(AC) خروجی 16 بیتی رجيسترداده(DR) خروجی 8 بیتی رجيسترورودی(INPR) خروجیورودی 16 بیتی انباره(AC) فلیپ فلاپ E (سرریز یا همان بیت توسعه انباره)رجيسترهای داده و انباره برای انجام اعمال منطقی و محاسباتی بکار میروند.
اسلاید 19: 19زمانبدی محتویات هر رجيستري که خروجی آن به گذرگاه متصل است، می تواند روی گذرگاه گذاشته شود و هر رجيستري که ورودی های آن به گذرگاه متصل است (همه غير از AC) نیز می تواند در همان چرخه ساعت (clock cycle) از گذرگاه بار شود. عمليات در Adder Logic و انتقال به باس ميتواند همزمان صورت گيرد. مثلا دو ریز عمل زیر می توانند در یک زمان اجرا شوند:DRAC and AC DR
اسلاید 20: 20ساختار کلی دستورات پایهدستورات مراجعه به حافظه )کد عمل از 000 تا 110)دستورات مراجعه به رجيسترها (کد عمل 111 و I=0)دستورات ورودی خروجی (کد عمل 111 و I=1)15 12 11 00 1 1 1Register operation15 12 11 01 1 1 1I/O operation
اسلاید 21: 21فرمت دستوراتفقط 3 بیت برای کد دستور بکار می رود.بنا به فرض فوق، بنظر می رسد که فقط 8 کد دستور مختلف می توانیم داشته باشیم.اما این غلط است...زمانی که کد عمل 111 است يعني در دستورات مراجعه به رجيستر و دستورات ورودي/خروجي كه احتياج به آدرس ندارند، 12 بیت باقيمانده جهت توسعه فضای تعریف کد دستورالعمل ها بکار می رود.در عمل تعداد 25 دستورالعمل براي كامپيوتر پايه تعريف شده است.
اسلاید 22: 22دستورات کامپیوتر پایهدستورات مراجعه به حافظهدستورات مراجعه به رجيستردستورات ورودي/خروجي
اسلاید 23: 23دستورات کامپیوتر پایهتفريق را ميتوان با ADD و Complement پياده سازي نمود.ضرب و تقسيم را ميتوان با جمع و تفريق و شيفت پياده سازي كرد.با AND و Complement ميتوانيم NAND بسازيم و با NAND هم ميتوان تمام توابع منطقي را پياده سازي كنيم.
اسلاید 24: 24کامل بودن مجموعه دستوراتمحاسباتی، منطقی، و شیفتانتقال داده به/از رجيسترها و حافظه کنترل جريان برنامه و بررسی وضعیتورودی و خروجی (I/O)اگر يك كامپيوتر در هركدام از گروههاي زير تعدادي دستورالعمل داشته باشد ميگوييم مجموعه دستورالعملهاي آن كامل است:مي توان مجموعه دستورالعملها را پيچيده تر هم كرد ولي طراحي مشكلتر خواهد شد.
اسلاید 25: 25واحد کنترلدو ساختار كلي براي طراحي واحد كنترل:Hard wiredMicro Program واحد كنترل Hardwired با عناصر منطقي مانند گيتها، فليپ فلاپها، ديكودر و ... به صورت سخت افزاري پياده سازي ميشود. در كنترل به صورت Micro program اطلاعات كنترلي در حافظه اي موسوم به حافظه كنترلي ذخيره ميگردد. با تغيير طراحي، در روش كنترل hardwired بايد تغييراتي در مدار كنترلي اعمال كنيم اما در روش MP بايد برنامه داخل حافظه كنترلي را تغيير داد.
اسلاید 26: 26واحد کنترل
اسلاید 27: 27واحد کنترلخواندن دستور از حافظه و انتقال آن به IRقرار دادن سمت چپ ترین بیت در فلیپ فلاپ Iرمزگشایی کد 3 بیتی دستورالعمل با استفاده از یک رمزگشای 3 به 8 در خطوط D0 تا D7رمزگشایی کد 4 بیتی شمارنده ترتیبی با استفاده از یک رمزگشای 4 به 16 در خطوط T0 تا T15 (سیگنالهای زمانی)مقادیر I، D0 تا D7 و T0 تا T15 و 12 بیت سمت راستی IR و سایر ورودی ها به دروازه های کنترلی و منطقی ارسال میگردند.
اسلاید 28: 28ترتیب شمار (SC)دارای ورودی های افزایش (INR) و پاک کردن (CLR) می باشد.مثال SC بصورت افزایشی شمارش می کند تا T0 ، T1 ، . . . و T4 را تولید نماید. در زمان T4 ، اگر D3 فعال باشد ، ترتیب شماره پاک شده و مقدار صفر می گیرد. این ریز عملیات بصورت زیر نوشته می شود : D3T4 : SC0
اسلاید 29: 29دیاگرام زمانی
اسلاید 30: 30چرخه دستورالعمل 1- واکشی دستور از حافظه2- رمزگشایی دستور3- خواندن آدرس موثر از حافظهدر صورتی که از شیوه آدرس دهی غیر مستقیم استفاده شده باشد4- اجرای دستورالعملهر دستورالعمل بايد از يك چرخه براي اجرا عبور كند. هر سيكل از تعدادي فاز تشكيل شده است.بعد از اجراي مرحله 4 دوباره به مرحله 1 باز ميگرديم تا دستورالعمل بعدي را واكشي نماييم. اين كار تا دستور HALT ادامه مي يابد.
اسلاید 31: 31واکشی و رمزگشاییمقداردهی شدن SC به صفر، سیگنال زمانی T0 را تولید می کند.پس از هر ضربان زمانی، SC افزایش می یابد.ریز عمل های واکشی و رمزگشاییT0 : ARPCT1 : IR M[AR] , PC PC+1T2 : D0,…,D7 Decode IR(12-14), AR IR(0-11) , I IR(15)FetchDecode
اسلاید 32: 32واکشی و رمزگشایی
اسلاید 33: 33تعیین نوع دستورالعمل
اسلاید 34: 34دستورات انتقال رجيسترها
اسلاید 35: 35دستورات مراجعه به حافظه
اسلاید 36: 36اجرای دستور AND to ACD0 T4 : DR M[ AR ]D0 T5 : AC AC DR , SC 0اجرای دستور ADD To AC با توجه به Opcode این دستور (001) بیت D1 برای شناسایی آن بکار میرود . D1 T4 : DR M[ AR ]D1 T5 : AC AC+ DR , E Cout , SC 0با توجه به opcode این دستور (000) بیت D0 برای شناسایی آن بکار خواهد رفت. در زمان T4 اپراند از حافظه به داخل DR خوانده میشود و در T5 عمل مورد نظر بر روی محتوی DR و AC انجام شده و نتیجه به AC منتقل میگردد. در زمان T5 اجرای دستور تمام شده است لذا SC صفر میشود تا مراحل اجرای دستور بعدی آغاز گردد(فاز T0). دستورات مراجعه به حافظه
اسلاید 37: 37اجرای دستور (Store AC) STA چون هیچ مسیر مستقیمی بین Bus و AC وجود ندارد لذا می بایست برای خواندن داده ای از حافظه و انتقال آن به AC ابتدا آن را به DR منتقل و سپس از مسیر موجود بین DR و AC به AC منتقل نمود علت وصل نکردن AC به BUS به این خاطر بوده که در اینصورت بعلت تاخیری که بر اثر وجود جمع کننده در سر راه این انتقال بوجود می آمد زمان اجرای این دستور از یک کلاک بیشتر میشود ولی با حذف این مسیر تمامی دستورات را میتوان در یک کلاک انجام داد . D2 T4 : DR M[ AR ]D2 T5 : AC DR , SC 0این دستور را میتوان با یک میکرواپریشن انجام داد زیرا خروجی AC به BUS متصل است و آدرس اپراند هم در AR موجود می باشد D3 T4 : M [AR] Ac , SC 0دستورات مراجعه به حافظه اجرای دستور (Load To AC) LDA
اسلاید 38: 38اجرای دستور (Branch And Save Return Address) BSAاز این دستور برای پیاده سازی Subroutine یا صدا زدن تابع استفاده می شود. هنگام صدا زدن یک تابع باید آدرس موجود در PC که آدرس دستور بعدی در روال عادی اجرای برنامه را مشخص میکند در محلی ذخیره گردد تا پس از خاتمه تابع بتواند دوباره به همان محل رجوع کند . برای پیاده سازی اینکار مقدار PC در آدرسی که توسط BSA مشخص شده ( ودر AR موجود است ) ذخیره گردیده و سپس مقدار PC با AR+1 پر میشود . AR+1 محلی است که اجرای تابع از آن شروع خواهد شد. 0 BSA 135دستور بعدی211 BUN 13520PC=21مقادیر حافظه و PC و AR در زمان T40 BSA 135دستور بعدی211 BUN 1352021135PC=136حافظه و PC بعد از اجرای BSAD5 T4 : M[AR] PC , AR AR+1D5 T5 : PC AR, SC 0 در کامپیوترهای واقعی آدرس برگشت در یکی از رجیسترهای CPU و یا Stack ذخیره میشود .دستورات مراجعه به حافظه زيربرنامه
اسلاید 39: 39اجرای دستور (Increment & Skip if Zero) ISZ D6 T4 : DR M[ AR ]D6 T5 : DR DR+1D6 T6 : M[AR] DR , if( DR=0) then (PC PC+1 ) , SC 0برای افزایش مقدار شمارنده محتوی محلی از حافظه که بعنوان شمارنده بکار میرود به DR منتقل و پس از افزایش مجددا به حافظه برگردانده میشود .توجه شود که اجرای طولانی ترین دستور 7 پالس ساعت نیاز دارد لذا SC را میشود با یک شمارنده 3بیتی نیز ساخت. استفاده از شمارنده های 4 بیتی برای اجرای تمرینات کتاب است . دستورات مراجعه به حافظه اجرای دستور BUN پرش غیر شرطیD4 T4 : PC AR , SC 0این دستور برای انجام یک پرش غیر شرطی به محلی از حافظه که آدرس آن در دستور ذکر شده بکار میرود میدانیم که PC همواره آدرس دستور بعدی را مشخص میکند از اینرو با تغییر مقدار PC به آدرس محل مورد نظر میتوان روند طبیعی اجرای دستور را قطع و کامپیوتر را وادار به اجرای دستور از محل دیگری نمود معمولا از این دستور هنگام پیاده سازی یک حلقه تکرار شونده استفاده میشود. تعداد شمارش یا دفعات تکرار حلقه بصورت یک عدد منفی در حافظه قرار داده شده و به ازاي هر با تکرار حلقه یکبار افزایش می یابد تا به صفر رسیده و خاتمه شمارش و یا عمل تکراری را مشخص مینماید . وقتی که شمارنده صفر میشود مقدار PC یک واحد افزایش داده میشود تا از اجرای دستور بعدی صرفنظر گردد .
اسلاید 40: 40دستورات ارجاع به حافظه
اسلاید 41: 41ورودي- خروجياگر كامپيوتري نتواند با دنياي خارج ارتباط برقرار كند، تقريبا هيچ كار مفيدي نميتواند انجام دهد.براي ورودي و خروجي کامپيوتر بايد از يک ترمينال استفاده ميشود که قسمت ورودي به کامپيوتر يک صفحه کليد و بخش خروجي يک پرينتر خواهد بود. هر دو قسمت ورودي و خروجي بصورت سريال با کامپيوتر در تماسند
اسلاید 42: 42FGIFGOINPRACOUTRصفحه کليد پرينترserialserialParallelسازمان ورودی خروجیرجيسترها و فليپ فلاپهاي داخل پردازنده
اسلاید 43: 43ايجاد همزماني (سنکرون کردن) بين ورودي و کامپيوتروقتي که کامپيوتر شروع به کار ميکند فليپ فلاپ FGI=0 است . هنگامي که کليدي در صفحه کليد فشار داده ميشود يک کد هشت بيتي براي آن توليد و بصورت سريال به رجيستر INPR فرستاده ميشود . اينکار FGI را يک ميکند تا هم مانع ارسال داده جديد شود و هم کامپيوتر را از وجود يک داده جديد در INPR مطلع سازد. کامپيوتر با چک کردن FGI از وجود کليد آگاه ميشود و با انتقال آن به AC اين فلگ را صفر ميکند . با صفر شدن اين فلگ داده جديد اجازه ورود به INPR را پيدا ميکند .FGIINPRACصفحه کليد براي ايجاد همزماني بين ورودي و کامپيوتر از فليپ فلاپ FGI استفاده ميشود. INPR : FGI=0خالي است INPR : FGI=1پر است
اسلاید 44: 44FGOACOUTRپرينتربراي ايجاد همزماني ( سنکرون کردن) بين ورودي و کامپيوتر از فليپ فلاپ FGO استفاده ميشود.ايجاد همزماني بين خروجي و کامپيوترکامپيوتر قبل از ارسال داده به خروجي FGO را چک ميکند اگر FGO=1باشد اطلاعات AC به OUTR فرستاده شده و FGO صفر ميشود . دستگاه خروجي داده را از OUTR دريافت کرده و پس از چاپ داده FGO مساوي يک قرار داده ميشود. کامپيوتر تا يک شدن FGO داده جديدي را به خروجي نخواهد فرستاد. OUTR : FGO=1خالي است OUTR : FGO=0پر است
اسلاید 45: 45دستورINPOUTSKISKOIONIOFشرط کنترلPB 11 :PB 10 :PB 9 :PB 8 :PB 7 :PB 6 : ميکرو اپريشنAC ( 0-7) INPR , FGI 0OUT A(0-7) , FGO 0If (FGI=1) Then (PC PC+1)If (FGO=1) Then (PC PC+1)IEN 1IEN 0اجراي دستورات در کلاک T3 تمام شده و مقدار SC صفر ميشود تا دستور بعدي اجرا گردد.اجراي دستورات I/Oدستورات I/O در T3 اجرا ميشوند . مقدار Op-code براي اين دستورات (111) و بيت I=1 است. لذا شرط کنترلي بصورت PBI=D7IT3BI مشخص ميگردد .
اسلاید 46: 46دو راه براي اطلاع از ورودي و خروجي :1- Polling يا سرکشي: کامپيوتر بطور متناوب وضعيت ورودي و خروجي را چک ميکند تا از آماده بودن خروجي يا ورودي براي انتقال اطلاعات آگاه شود . اين روش ساده است ولي بعلت متفاوت بودن نرخ آماده شدن اطلاعات در I/O و سرعت پردازش کامپيوتر باعث اتلاف وقت خواهد شد .2- Interrupt Driven I/O : در اين روش وسيله ورودي و خروجي با ارسال يک سيگنال وقفه کامپيوتررا از آماده بودن I/O برا انتقال اطلاعات مطلع مي سازد . در اين روش ديگر نيازي به چک کردن متناوب I/O نبوده و کامپيوتر در فاصله بين آماده شدن I/O ميتواند به اجراي برنامه ديگري بپردازد .وقفه Interrupt
اسلاید 47: 47IEN FF - فليپ فلاپ Interrupt Enable : در کامپيوتر پايه يک FF به امر وقفه اختصاص داده شده است. اگر کامپيوتر بخواهد به دستگاه I/O اجازه ارسال وقفه را بدهد اين FF را Set ميکند اما با صفر کردن اين FF ميتوان جلو ارسال وقفه را سد کرد. براي تغيير وضعيت اين FF از دستورات ION و IOF استفاده ميشود.FF ديگري به نام R وقوع وقفه را مشخص مينمايد.وقفه در کامپيوتر پايه
اسلاید 48: 48فعال سازی وقفهکنترل مداوم FGI و FGO توسط کامپیوتر زمان را تلف می کند. با استفاده از IEN هر زمان که نیازی به کنترل ورودی و خروجی باشد، به وی اطلاع داده می شود.در خلال اجرای دستور، در صورتی که FGI یا FGO يك باشد، مقدار R یک می شود.وقفه در زمانی رخ می دهد که کامپیوتر خواسته باشد دستور بعدی را واکشی نماید. اگر R=0 باشد، اجرای دستور انجام می گیرد. اگر R=1 باشد، اجرای وقفه انجام می گیرد.
اسلاید 49: 49نمودار گردشی وقفه آدرس برگشت در خانه شماره صفر ذخيره ميشود. كه ميتوان از يك رجيستر و يا Stack براي اين كار استفاده نمود.وقفه ديگري قبول نميشود
اسلاید 50: 50 T0 : AR PC T1 : IR M[AR] , PC PC+1 T2 : D7…D0 Decode IR(12-14) , AR IR(0-11)سيکل وقفهميکرو اپريشن سيکل وقفهاضافه کردن فليپ فلاپ R باعث ميشود تا ميکرو اپريشن سيکل واکشي و ديکود بصورت زير تصحيح گردد:با توجه به شكل مذكور شرط مقدار دهی R به یک:
اسلاید 51: 51تاثير وقفه در روند اجراي دستورات کامپيوتر پايهوقتي که يک وقفه اتفاق مي افتد کامپيوتر: اجراي دستورجاري خود را تمام ميکند وآدرس دستور بعدي (محتوي PC) را در محل مشخصي ذخيره ميکند (آدرس صفر حافظه) و با قطع روند عادي اجراي برنامه به اجراي دستورات مربوط به پردازش وقفه که در آدرس از پيش تعيين شده اي (آدرس يک ) قرار دارد ميپردازد . پس از خاتمه اجراي دستورات مربوط به وقفه کامپيوتر بايد برنامه قطع شده را مجددا از همان محل ادامه دهد براي اين کار در انتهاي روتين وقفه يک دستور پرش با آدرس دهي غير مستقيم به آدرس صفر قرار داده ميشود تا برنامه اصلي از محل قطع شده ادامه يابد . همچنين IEN دوباره يك ميشو د.
اسلاید 52: 520 BUN 1120برنامه اصلي 1 BUN 001255Pc=256قبل از وقفهروتين وقفه محل شروع روتين وقفه اتفاق وقفه 0 BUN 1120برنامه اصلي 1 BUN 0 0Pc=1255256بعد از وقفهروتين وقفه محل ذخيره آدرس برگشت 11201120256اجراي سيکل وقفهحافظهحافظه
اسلاید 53: 53تشخيص وقوع وقفه در هر سيکل اجراي دستور پس از آنکه عمل واکشي و ديکود دستورالعمل انجام شد سخت افزار کامپيوتر وقوع يک وقفه را بررسي ميکند . در صورتي که IEN=1 باشد يعني کامپيوتر اجازه وقفه را داده باشد و يکي از پرچمهاي FGI و FGO فعال شده باشد وقوع وقفه تشخيص داده ميشود. وقوع وقفه با Set کردن يک FF به نام Rثبت ميشود تاعمليات مربوط به پردازش وقفه آغاز شود.
اسلاید 54: 54سيکل وقفهدر صورتي که فليپ فلاپ R=1 باشد يک وقفه اتفاق افتاده است لذا کامپيوتر در سيکل T0 بجاي روند عادي اجراي سيکل دستور عمليات مربوط به اجراي سيکل وقفه راانجام ميدهد اين عمليات عبارتست از : ذخيره آدرس دستور بعدي در محل صفر حافظه و انجام پرش به محل يک حافظه. همچنين R=0 ميشود تا دوباره سيکل اجراي دستور شروع شود .به همين ترتيب IEN=0 ميشود تا در هنگام پردازش وقفه جاري جلوي وقفه هاي ديگر گرفته شود .
اسلاید 55: 55سيکل وقفه FetchDecodeExecuteR=1R=0InterruptFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecute.........
اسلاید 56: 56نمودار گردشی اعمال کامپیوتر پايه
اسلاید 57: 57نیاز های سخت افزاری برای طراحی کامپیوتر پایه یک واحد حافظه متشکل از 4096 کلمه 16 بیتینه رجيستر به نامهای:AR,PC,DR,AC,IR,TR,OUTR,INPR,SCفلیپ فلاپ های وضعیت: I,S,E,R,IEN,FGI,FGOرمز گشا یک رمز گشای 3 به 8 برای کد دستورهایک رمزگشای 4 به 16 برای زمانبندی دروازه های منطقی کنترلی (برای ساختن واحد کنترل به صورت Hardwired)جمع کننده و مدار منطقی به رجيسترانباره متصل می شود.
اسلاید 58: 58ورودی های دروازه های منطقی مدارکنترلدو رمز گشا8 بیت دستور العمل و 16 بیت خروجی ترتیب شمارهفت فلیپ فلاپ I,S,E,R,IEN,FGI,FGOبیت های 0 تا 11 رجيستر دستور العملبیت های 0 تا 15 رجيسترانبارهبرای کنترل صفر بودن رجيستر و کنترل بیت علامتبیت های 0 تا 15 رجيسترداده برای کنترل صفر بودن رجيستر
اسلاید 59: 59خروجی های دروازه های منطقی کنترلورودی های کنترلی 9 رجيسترخطوط کنترلی خواندن و نوشتن حافظه یک ، صفر یا متمم کردن مقدار فلیپ فلاپ ها خطوط S2S1S0 جهت انتخاب یک رجيستربرای دسترسی به گذرگاه کنترل جمع کننده و مدار منطقی انباره متصل به AC هدف: طراحي سيگنالهايي براي كنترل:
اسلاید 60: 60ليست تمام ریزعملیاتهای کامپیوتر پایه
اسلاید 61: 61ليست تمام ریزعملیاتهای کامپیوتر پایه - ادامه
اسلاید 62: 62دروازه های کنترلی رجيسترARورودی های کنترلی رجيستر: LD,INR,CLRتمام عبارتهایی که مقدار AR را تغییر می دهند پیدا میکنیم (ریزعملیاتهایی که به فرم َAR … باشند)
اسلاید 63: 63دروازه های کنترلی رجيسترآدرس
اسلاید 64: 64دروازه های کنترلی فلیپ فلاپ IEN
اسلاید 65: 65کنترل خط Read حافظهتمام ميكرواپريشن هايي كه در آنها M[AR] در سمت راست انتقال قرار دارد. ( به فرم : M[AR] ... )Read= R’T1+D’7IT3 + (D0 + D1 + D2 + D6)T4
اسلاید 66: 66رمزگذار جهت مدار انتخابگر گذرگاه برای رجيسترAR
اسلاید 67: 67مدار مرتبط با رجيسترانباره
اسلاید 68: 68دستوارت تاثیر گذار روی مقدار رجيسترانباره
اسلاید 69: 69دروازه های کنترلی رجيسترانباره
اسلاید 70: 70دروازه های کنترلی واحد جمع کننده و منطق
نقد و بررسی ها
هیچ نظری برای این پاورپوینت نوشته نشده است.