Upload
hillary-nixon
View
64
Download
9
Embed Size (px)
DESCRIPTION
Department of Computer and IT Engineering University of Kurdistan Computer Architecture MANO Basic Computer By: Dr. Alireza Abdollahpouri. معماري SPC : Stored program control. - PowerPoint PPT Presentation
Citation preview
Department of Computer and IT EngineeringDepartment of Computer and IT EngineeringUniversity of KurdistanUniversity of Kurdistan
Computer Architecture
MANO Basic Computer
By: Dr. Alireza AbdollahpouriBy: Dr. Alireza Abdollahpouri
2
SPC : Stored program controlمعماري
در اين نوع ساختار که اغلب کامپيوتر ها از آن پيروي ميکنند عمليات يک کامپيوتر قرار RAMتوسط برنامه اي که توسط برنامه نويس نوشته شده و در حافظه
داده ميشود کنترل ميگردد .
اين برنامه مجموعه اي از دستورالعمل هاست که نوع عمليات، عملوندهاي •مربوطه و توالي اجراي عمليات را مشخص مي کند .
يک دستورالعمل يک کد باينري است که توالي انجام ميکرواپريشن ها را •کامپيوتر يک دستورالعمل را از حافظه مشخص مي نمايد .
خوانده و در داخل يک رجيستر قرار مي دهد.
واحد کنترل کد باينري دستورالعمل را Decode کرده و دنباله اي از
ميکرواپريشن هاي الزم براي اجراي آن دستورالعمل را بوجود مي آورد .
کد يک دستورالعمل گروهي از بيت هاست که به کامپيوتر دستور مي دهد تا
عمل خاصي را انجام دهد . اين کد معموال به بخشهايي تقسيم مي شود که
هر کدام وظيفه خاص خودشان را دارند .
ADD Ax,s
Control Regs
کنترل واحد
Regs ALU
RAM
3
اصلي ترين قسمت يک کد دستورالعمل بخشOperation code يا Op-code.است
Op-code نوع دستورالعمل نظير ADD ، SUB و غيره را مشخص ميکند تعداد بيتهاي
Op-code به تعداد کل دستورالعملهاي موجود در cpu. بستگي دارد بلكه بايد محلي كه آن عمل ( opcodeدستورالعمل نه تنها بايد نوع عمل )
روي آن انجام ميگردد )حافظه يا رجيستر( را مشخص كند. آن مشخص مي شود آدرس لذا در کد دستورالعمل يک محل حافظه با
که اين آدرس جزئي از کد دستورالعمل را تشکيل مي دهد . نيز از يک کد باينري استفاده مي CPUبراي مشخص کردن رجيسترهاي
بيتي براي آنها K تعداد رجيستر داشته باشد از يک کد CPUشود اگر استفاده مي شود .
k2
4
کامپیوتر پایه مانوکامپیوتر پایه مانو
بیتی16 کلمه 4096واحد حافظه با • ,AR, PC, DR, AC, IR, TR, OUTR, INPRرجيسترهای •
SCI, S, E, R, IEN, FGI, FGOفلیپ فالپ های • زمانبندی16 به 4 اعمال و 8 به 3رمزگشای • بیتی16گذرگاه مشترک •دروازه های منطقی کنترلی • وصل ACجمع کننده و مدارهای منطقی که به ورودی •
شده اند
5
کد دستورهاکد دستورها
دستورهای کامپیوتر بصورت یک کد دودوئی هستند که ترتیب •خاصی از ریز عمل ها را مشخص می کنند.
کد دستور + آدرس • بیتی باشد.n باشد، کد دستور باید 2nاگر تعداد دستورات – (Macro Operation )درشت عملکد دستور گاهی –
نامیده می شود. آدرس یک رجيسترو یا مکانی از حافظه را مشخص می –
کند.مکان حافظه آدرس عملوند می باشد.•
دستورها و داده ها در حافظه قرار دارند.•
6
کامپیوتر پایه )معماری کامپیوتر پایه )معماری تک انباره ای(تک انباره ای(
یک رجيسترپردازنده •–AC – accumulator
شکل دستور • بیتی می باشد.4کد دستور –(212=4096 بیت مربوط به آدرس می باشد )12–
چرخه اجرای دستور • بیتی از حافظه16خواندن یک دستور – بیت آدرس جهت واکشی عملوند از حافظه 12استفاده از– بیتی4اجرای کد دستور –
7
کامپیوتر پایه – فرمت کامپیوتر پایه – فرمت دستوراتدستورات
دستورات برنامه
عملوند ها )داده(
4096X16حافظه
AC - رجيسترپردازنده
کد آدرس
عملوند دودوئی
15 0
4 12
قالب دستور
(operandممكن است بعضي از دستورالعملها به عملوند ). كه در اين حالت قسمت آدرس Clear AC احتياج نداشته باشند. مانند
ميتواند براي مقاصد ديگري استفاده شود.
Example: ADD 15 ; AC AC + M[15]
8
اضافه نمودن مدهای اضافه نمودن مدهای آدرسدهیآدرسدهی
بیتی قرار گرفته در دستور12آدرس •(direct)مستقیم –
آدرس مکانی از حافظه که داده در آنجا قرار گرفته است.•
(indirect)غیر مستقیم –آدرس مکانی از حافظه که در آنجا آدرس داده مورد نظر •
)عملوند( قرار گرفته است.
(EA)به آدرس مکان عملوند آدرس موثر •گفته می شود.
یکی از بیت های دستور به عنوان بیت •غیرمستقیم در نظر گرفته شده است.
9
آدرس دهی مستقیم و آدرس دهی مستقیم و غیر مستقیمغیر مستقیم
آدرس موثرآدرس موثر
آدرس دهی غیر آدرس دهی غیر آدرس دهی مستقیمآدرس دهی مستقیممستقیممستقیم
10
رجيستر ها وحافظه رجيستر ها وحافظه کامپیوتر پایهکامپیوتر پایه
IR15 0
TR15 0
DR15 0
AC15 0
OUTR7 0
INPR7 0
PC11 0
AR11 0
Memory4096 X 16
11
لیست رجيستر های لیست رجيستر های کامپیوتر پایهکامپیوتر پایه
نمادتعداد بیت
نام وظیفه
DR 16رجيسترداد
هعملوندخوانده شده
از حافظه
AR 12رجيسترآدر
سنگهداری آدرس
حافظه
AC 16 انباره رجيستر پردازشگر
IR 16رجيستردس
تورکد دستور خوانده
شده
PC 12شمارنده
برنامه نگهداری آدرس
دستور
TR 16رجيسترموق
تنگهداری داده های
موقتی
INPR 8رجيسترورو
دیکاراکترهای ورودی
OUTR 8رجيسترخر
وجیکاراکترهای
خروجی
12
ورودی های کنترلی ورودی های کنترلی رجيسترها رجيسترها
•LD (load)بار کردن – •INR (increment) افزایش يك واحدي – •CLR (clear)پاک کردن –
12
CLKCLRINRLD
12
13
شمارنده برنامهشمارنده برنامه
آدرس مکانی از حافظه که دستور بعدی در آن •قرار گرفته است را نگه می دارد.
در زمانی که چرخه اجرای دستور فعلی کامل • می شود.(fetch)شد، دستور بعدی واکشی
افزایش می PCدقیقا پس از واکشی دستور، •یابد.
PC ، (branch)در زمان اجرای دستور انشعاب •مقدار جدیدی می گیرد.
12
0
CLK
CLRINRLD
PCPC
11
14
((busbus))گذرگاه مشترک گذرگاه مشترک
رجيسترها را به یکدیگر و به حافظه وصل می کند.•
مشخص می شود که خروجی کدام بخش S2 S1 S0با توجه به •باید روی گذرگاه قرار گیرد.
بیت داده دارد ، به بیت های با ارزش 16زمانی که رجيسترکمتر از –گذرگاه مقدار صفر داده می شود.
آن یک باشد، داده ها را از گذرگاه می LDرجيستري که پایه •خواند.
حافظه فعال باشد، داده ها در حافظه Writeدر زمانی که پایه •نوشته می شوند.
حافظه فعال باشد، داده های حافظه Readدر زمانی که پایه •روی گذرگاه قرار می گیرد.
باشد. S2 S1 S0=111مشروط به اینکه –
15
نحوه اتصال اجزاء نحوه اتصال اجزاء کامپیوتر پایه کامپیوتر پایه
ALU
16
سیستم گذرگاه مشترک سیستم گذرگاه مشترک از نگاه دیگراز نگاه دیگر
17
ARARرجيسترآدرس - رجيسترآدرس -
همیشه برای مشخص کردن آدرسی از حافظه بکار می •رود.
این رجيستراختصاصی نیاز به وجود گذرگاه •جداگانه ای برای گذرگاه آدرس را از بین برده
است.محتوای هر یک از رجيسترهایی که خروجی آنها به •
گذرگاه متصل است را می توان در حافظه نوشت.هر یک از رجيسترهایی که ورودی آن به گذرگاه متصل •
از Readاست، می تواند به عنوان مقصد دستور حافظه باشد.
آن فعال باشد.LDدر صورتی که خط –
12
0
CLK
CLRINRLD
ARAR
II
18
يا يا رجيسترانبارهرجيسترانبارهACACاكوموالتور - اكوموالتور -
ورودی این رجيستر، خروجی مدار جمع کننده و منطقی می •باشد.
مدار جمع کننده و منطقی•ورودی–
( AC) بیتی انباره16خروجی •( DR) بیتی رجيسترداده16خروجی •( INPR) بیتی رجيسترورودی8خروجی •
خروجی–( AC) بیتی انباره16ورودی • )سرریز یا همان بیت توسعه انباره(Eفلیپ فالپ •
رجيسترهای داده و انباره برای انجام اعمال منطقی و •محاسباتی بکار میروند.
19
زمانبدی زمانبدی
محتویات هر رجيستري که خروجی آن به گذرگاه متصل •است، می تواند روی گذرگاه گذاشته شود و هر
رجيستري که ورودی های آن به گذرگاه متصل است )همه clock)نیز می تواند در همان چرخه ساعت (ACغير از cycle) .از گذرگاه بار شود
و انتقال به باس ميتواند همزمان Adder Logicعمليات در •صورت گيرد. مثال دو ریز عمل زیر می توانند در یک زمان
اجرا شوند:• DRAC and AC DR
20
ساختار کلی دستورات ساختار کلی دستورات پایهپایه
کد عمل از (دستورات مراجعه به حافظه •(110 تا 000
)کد عمل دستورات مراجعه به رجيسترها •(I=0 و 111
و 111)کد عمل دستورات ورودی خروجی •I=1)
15 14 12 11 0
I Opcode Address
15 12
11 0
0 1 1 1 Register operation
15 12
11 0
1 1 1 1 I/O operation
21
فرمت دستوراتفرمت دستورات
بیت برای کد دستور بکار می رود.3فقط • کد دستور 8بنا به فرض فوق، بنظر می رسد که فقط •
مختلف می توانیم داشته باشیم.اما این غلط است...• است يعني در دستورات 111زمانی که کد عمل •
مراجعه به رجيستر و دستورات ورودي/خروجي كه بیت باقيمانده جهت توسعه 12احتياج به آدرس ندارند،
فضای تعریف کد دستورالعمل ها بکار می رود. دستورالعمل براي كامپيوتر پايه 25در عمل تعداد •
تعريف شده است.
22
دستورات کامپیوتر پایهدستورات کامپیوتر پایهه
جعرا
م
ترا
وست
دهظ
فحا
ه ب
ه جع
رام
ترا
وست
درست
جي ر
هب
دستورات ورودي/خروجي
23
دستورات کامپیوتر پایهدستورات کامپیوتر پایه
پياده سازي Complement و ADDتفريق را ميتوان با •نمود.
ضرب و تقسيم را ميتوان با جمع و تفريق و شيفت •پياده سازي كرد.
بسازيم و با NAND ميتوانيم Complement و ANDبا •NAND هم ميتوان تمام توابع منطقي را پياده سازي
كنيم.
24
کامل بودن مجموعه کامل بودن مجموعه دستوراتدستورات
محاسباتی، منطقی، و شیفت•انتقال داده به/از رجيسترها و حافظه •کنترل جريان برنامه و بررسی وضعیت•(I/Oورودی و خروجی )•
اگر يك كامپيوتر در هركدام از گروههاي زير تعدادي دستورالعمل داشته باشد ميگوييم مجموعه
دستورالعملهاي آن كامل است:
مي توان مجموعه دستورالعملها را پيچيده تر هم كرد ولي طراحي مشكلتر خواهد شد.
25
واحد کنترلواحد کنترل
دو ساختار كلي براي طراحي واحد
كنترل:
Hard wired
Micro Program
واحد كنترل Hardwired ،با عناصر منطقي مانند گيتها فليپ فالپها، ديكودر و ... به صورت سخت افزاري پياده
سازي ميشود.
در كنترل به صورت Micro program اطالعات كنترلي در ذخيره ميگردد.حافظه كنترليحافظه اي موسوم به
با تغيير طراحي، در روش كنترل hardwired بايد بايد MPتغييراتي در مدار كنترلي اعمال كنيم اما در روش
برنامه داخل حافظه كنترلي را تغيير داد.
26
واحد کنترلواحد کنترل
27
واحد کنترلواحد کنترل
IRخواندن دستور از حافظه و انتقال آن به •Iقرار دادن سمت چپ ترین بیت در فلیپ فالپ • بیتی دستورالعمل با استفاده از یک 3رمزگشایی کد •
D7تا D0 در خطوط 8 به 3رمزگشای
بیتی شمارنده ترتیبی با استفاده از 4رمزگشایی کد •)سیگنالهای T15 تا T0 در خطوط 16 به 4یک رمزگشای
زمانی(
بیت سمت راستی 12و T15 تا T0 و D7 تا I، D0مقادیر •IR و سایر ورودی ها به دروازه های کنترلی و منطقی
ارسال میگردند.
28
((SCSC))ترتیب شمار ترتیب شمار
(CLR) و پاک کردن (INR)دارای ورودی های افزایش • می باشد.
مثال •–SC بصورت افزایشی شمارش می کند تا T0 ، T1 و . . . ،T4
را تولید نماید.
فعال باشد ، ترتیب شماره پاک شده و D3 ، اگر T4در زمان –مقدار صفر می گیرد.
این ریز عملیات بصورت زیر نوشته می شود :
– D3T4 : SC0
29
دیاگرام زمانیدیاگرام زمانی
30
چرخه دستورالعمل چرخه دستورالعمل
- واکشی دستور از حافظه1- رمزگشایی دستور2- خواندن آدرس موثر از حافظه3
در صورتی که از شیوه آدرس دهی غیر مستقیم –استفاده شده باشد
- اجرای دستورالعمل4
.هر دستورالعمل بايد از يك چرخه براي اجرا عبور كندهر سيكل از تعدادي فاز تشكيل شده است.
باز ميگرديم تا 1 دوباره به مرحله 4بعد از اجراي مرحله دستورالعمل بعدي را واكشي نماييم. اين كار تا دستور
HALT.ادامه مي يابد
31
واکشی و رمزگشاییواکشی و رمزگشایی
T0 به صفر، سیگنال زمانی SCمقداردهی شدن •
را تولید می کند.
افزایش می یابد.SCپس از هر ضربان زمانی، •ریز عمل های واکشی و رمزگشایی•
• T0 : ARPC
• T1 : IR M[AR] , PC PC+1
• T2 : D0,…,D7 Decode IR(12-14), AR IR(0-11) , I IR(15)
Fetch
Decode
32
واکشی و رمزگشاییواکشی و رمزگشایی
33
تعیین نوع دستورالعملتعیین نوع دستورالعمل
34
دستورات انتقال دستورات انتقال رجيسترها رجيسترها
35
دستورات مراجعه به دستورات مراجعه به حافظه حافظه
36
دستور AND to ACاجرای
D0 T4 : DR M[ AR ]
D0 T5 : AC AC DR , SC 0
دستور ADD To ACاجرای
برای شناسایی آن بکار میرود .D1( بیت 001 این دستور )Opcodeبا توجه به
D1 T4 : DR M[ AR ]
D1 T5 : AC AC+ DR , E Cout , SC 0
برای شناسایی آن D0( بیت 000 این دستور )opcodeبا توجه به خوانده DR اپراند از حافظه به داخل T4بکار خواهد رفت. در زمان
انجام AC و DR عمل مورد نظر بر روی محتوی T5میشود و در اجرای دستور تمام T5 منتقل میگردد. در زمان ACشده و نتیجه به
صفر میشود تا مراحل اجرای دستور بعدی آغاز SCشده است لذا (. T0گردد)فاز
دستورات مراجعه به دستورات مراجعه به حافظه حافظه
37
دستور Store AC (STA(اجرای
وجود ندارد لذا می بایست برای خواندن داده ای از حافظه و AC و Busچون هیچ مسیر مستقیمی بین منتقل نمود AC به AC و DR منتقل و سپس از مسیر موجود بین DR ابتدا آن را به ACانتقال آن به
به این خاطر بوده که در اینصورت بعلت تاخیری که بر اثر وجود BUS به ACعلت وصل نکردن جمع کننده در سر راه این انتقال بوجود می آمد زمان اجرای این دستور از یک کالک بیشتر میشود ولی با حذف
این مسیر تمامی دستورات را میتوان در یک کالک انجام داد .D2 T4 : DR M[ AR ]
D2 T5 : AC DR , SC 0
این دستور را میتوان با یک میکرواپریشن انجام داد متصل است وBUS به AC زیرا خروجی
موجود می باشد AR آدرس اپراند هم در D3 T4 : M [AR] Ac , SC 0
دستورات مراجعه به دستورات مراجعه به حافظه حافظه دستور Load To AC (LDA(اجرای
38
دستور Branch And Save Return Address (BSA(اجرای هنگام صدا زدن یک تابع باید. یا صدا زدن تابع استفاده می شودSubroutineاز این دستور برای پیاده سازی
که آدرس دستور بعدی در روال عادی اجرای برنامه را مشخص میکند در محلی ذخیره گرددPC آدرس موجود در تا پس از خاتمه تابع بتواند دوباره به همان محل رجوع کند .
موجود است ( ذخیره گردیدهAR مشخص شده ) ودر BSA در آدرسی که توسط PC برای پیاده سازی اینکار مقدار محلی است که اجرای تابع از آن شروع خواهد شد.AR+1 پر میشود . AR+1 با PC و سپس مقدار
0 BSA 135
بعدی دستور
21
1 BUN 135
20
PC=21
و حافظه در ARو PCمقادیرT4زمان
0 BSA 135
بعدی دستور
21
1 BUN 135
20
21
135
PC=136
و از PCحافظه بعدBSAاجرای
D5 T4 : M[AR] PC , AR AR+1
D5 T5 : PC AR, SC 0
آدرس واقعی کامپیوترهای دررجیسترهای از یکی در برگشت
CPU یا میشود .Stackو ذخیره
دستورات مراجعه به دستورات مراجعه به حافظه حافظه
زيربرنامه
39
دستور Increment & Skip if Zero (ISZ(اجرای
D6 T4 : DR M[ AR ]
D6 T5 : DR DR+1
D6 T6 : M[AR] DR , if( DR=0) then (PC PC+1 ) , SC 0
منتقل و پس ازDRبرای افزایش مقدار شمارنده محتوی محلی از حافظه که بعنوان شمارنده بکار میرود به افزایش مجددا به حافظه برگردانده میشود .
بیتی نیز 3 را میشود با یک شمارنده SC پالس ساعت نیاز دارد لذا 7توجه شود که اجرای طوالنی ترین دستور بیتی برای اجرای تمرینات کتاب است . 4ساخت. استفاده از شمارنده های
دستورات مراجعه به دستورات مراجعه به حافظه حافظه دستور شرطی BUNاجرای غیر پرش
D4 T4 : PC AR , SC 0
این دستور برای انجام یک پرش غیر شرطی به محلی از حافظه که آدرس آن همواره آدرس دستور بعدی را PCبکار میرود میدانیم که در دستور ذکر شده
به آدرس محل مورد نظر میتوان روند PCمشخص میکند از اینرو با تغییر مقدار طبیعی اجرای دستور را قطع و کامپیوتر را وادار به اجرای دستور از محل
دیگری نمود
معموال از این دستور هنگام پیاده سازی یک حلقه تکرار شونده استفاده میشود. تعداد شمارش یا دفعات تکرار حلقه بصورت یک عدد منفی در
حافظه قرار داده شده و به ازاي هر با تکرار حلقه یکبار افزایش می یابد تا به صفر رسیده و خاتمه شمارش و یا عمل تکراری را مشخص مینماید .
یک واحد افزایش داده میشود تا از PCوقتی که شمارنده صفر میشود مقدار اجرای دستور بعدی صرفنظر گردد .
40
دستورات ارجاع به دستورات ارجاع به حافظهحافظه
41
ورودي- خروجيورودي- خروجي
اگر كامپيوتري نتواند با دنياي خارج ارتباط برقرار كند، •تقريبا هيچ كار مفيدي نميتواند انجام دهد.
براي ورودي و خروجي کامپيوتر بايد از يک ترمينال • به کامپيوتر يک يشود که قسمت ورودياستفاده م
و بخش خروجي يک پرينتر خواهد بود. صفحه کليد هر دو قسمت ورودي و خروجي بصورت سريال با •
کامپيوتر در تماسند
42
FGIFGI
FGOFGO
INPRINPR
ACAC
OUTROUTR
کليد کليد صفحه صفحه
پرينترپرينتر
serial
serial
Parallel
سازمان ورودی خروجیسازمان ورودی خروجی
رجيسترها و فليپ فالپهاي داخل پردازنده
43
ييايجاد همزماني )سنکرون کردن( بين ورودايجاد همزماني )سنکرون کردن( بين ورودو کامپيوترو کامپيوتر
است . FGI=0وقتي که کامپيوتر شروع به کار ميکند فليپ فالپ •هنگامي که کليدي در صفحه کليد فشار داده ميشود يک کد هشت بيتي براي •
را FGI فرستاده ميشود . اينکار INPRآن توليد و بصورت سريال به رجيستر يک ميکند تا هم مانع ارسال داده جديد شود و هم کامپيوتر را از وجود يک
. مطلع سازدINPRداده جديد در AC از وجود کليد آگاه ميشود و با انتقال آن به FGI کامپيوتر با چک کردن •
اين فلگ را صفر ميکند . را پيدا ميکند .INPRبا صفر شدن اين فلگ داده جديد اجازه ورود به •
FGIFGI
INPRINPR
ACAC
کليد کليد صفحه صفحه
و يبراي ايجاد همزماني بين ورود FGIکامپيوتر از فليپ فالپ
استفاده ميشود.
INPR : FGI=0است يخال INPR : FGI=1است پر
44
FGOFGO
ACAC
OUTROUTRپرينترپرينتر
براي ايجاد همزماني ) سنکرون و کامپيوتر يکردن( بين ورود استفاده FGOاز فليپ فالپ
ميشود.
و و ييايجاد همزماني بين خروجايجاد همزماني بين خروجکامپيوترکامپيوتر
را چک ميکندFGOکامپيوتر قبل از ارسال داده به خروجي • صفر FGO فرستاده شده و OUTR به ACباشد اطالعات FGO=1 اگر •
ميشود . دريافت کرده و پس از چاپ داده OUTR دستگاه خروجي داده را از •
FGO يشودمساوي يک قرار داده م. داده جديدي را به خروجي نخواهد فرستاد.FGO کامپيوتر تا يک شدن •
OUTR : FGO=1يخال است
OUTR : FGO=0است پر
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
صفر ميشود تا دستور بعدي اجرا گردد.SC تمام شده و مقدار T3اجراي دستورات در کالک
I/OI/Oاجراي دستورات اجراي دستورات
اجرا ميشوند . T3 در I/Oدستورات • است. لذا شرط کنترلي I=1( و بيت 111 براي اين دستورات )Op-code مقدار •
مشخص ميگردد . PBI=D7IT3BIبصورت
46
دو راه براي اطالع از ورودي و خروجي :1 -Polling:يا سرکشي
کامپيوتر بطور متناوب وضعيت ورودي و خروجي را چک ميکند تا از –آماده بودن خروجي يا ورودي براي انتقال اطالعات آگاه شود .
اين روش ساده است ولي بعلت متفاوت بودن نرخ آماده شدن – و سرعت پردازش کامپيوتر باعث اتالف وقت خواهد I/Oاطالعات در
شد .
2 -Interrupt Driven I/O: در اين روش وسيله ورودي و خروجي با ارسال يک سيگنال وقفه –
برا انتقال اطالعات مطلع مي سازد .I/Oکامپيوتررا از آماده بودن نبوده و کامپيوتر I/O در اين روش ديگر نيازي به چک کردن متناوب –
ميتواند به اجراي برنامه ديگري I/Oدر فاصله بين آماده شدن بپردازد .
InterruptInterruptوقفه وقفه
47
IEN FF - فليپ فالپ Interrupt Enable : به امر وقفه اختصاص داده شده FFدر کامپيوتر پايه يک
است.اجازه ارسال I/O اگر کامپيوتر بخواهد به دستگاه •
ميکند اما با صفر کردن Set را FF را بدهد اين وقفه ميتوان جلو ارسال وقفه را سد کرد.FFاين
IOF و ION از دستورات FF براي تغيير وضعيت اين •استفاده ميشود.
•FF ديگري به نام R را مشخص مينمايد.وقوع وقفه
يهيهپاپا يوتريوترکامپکامپ دردر وقفهوقفه
48
فعال سازی وقفهفعال سازی وقفه
توسط کامپیوتر زمان را تلف FGO وFGIکنترل مداوم •می کند.
هر زمان که نیازی به کنترل ورودی و IENبا استفاده از •خروجی باشد، به وی اطالع داده می شود.
يك FGO یا FGIدر خالل اجرای دستور، در صورتی که • یک می شود.Rباشد، مقدار
وقفه در زمانی رخ می دهد که کامپیوتر خواسته باشد •دستور بعدی را واکشی نماید.
باشد، اجرای دستور انجام می گیرد. R=0اگر – باشد، اجرای وقفه انجام می گیرد. R=1اگر –
49
نمودار گردشی وقفهنمودار گردشی وقفه
براي اين كار استفاده نمود.Stackآدرس برگشت در خانه شماره صفر ذخيره ميشود. كه ميتوان از يك رجيستر و يا
وقفه ديگري قبول نميشود
50
T0 : AR PC
T1 : IR M[AR] , PC PC+1
T2 : D7…D0 Decode IR(12-14) , AR IR(0-11)
RRR
سيکل وقفهسيکل وقفه
ميکرو اپريشن سيکل وقفه•
باعث ميشود تا ميکرو اپريشن Rاضافه کردن فليپ فالپ سيکل واکشي و ديکود بصورت زير تصحيح گردد:
به یک: Rبا توجه به شكل مذكور شرط مقدار دهی •
51
تاثير وقفه در روند اجراي تاثير وقفه در روند اجراي دستورات کامپيوتر پايهدستورات کامپيوتر پايه
وقتي که يک وقفه اتفاق مي افتد کامپيوتر:•و يکندم تمام دستورجاري خود را ياجرا 1.( را در محل مشخصي ذخيره PCآدرس دستور بعدي )محتوي 2.
ميکند )آدرس صفر حافظه( و با قطع روند عادي اجراي برنامه به اجراي دستورات مربوط 3.
به پردازش وقفه که در آدرس از پيش تعيين شده اي )آدرس يک ( قرار دارد ميپردازد .
از خاتمه اجراي دستورات مربوط به وقفه پس1.کامپيوتر بايد برنامه قطع شده را مجددا از همان محل
ادامه دهد براي اين کار در انتهاي روتين وقفه يک دستور پرش با آدرس دهي غير مستقيم به آدرس صفر
قرار داده ميشود تا برنامه اصلي از محل قطع شده دوباره يك ميشو د.IENهمچنين ادامه يابد .
52
0 BUN 1120
برنامه اصلي
1 BUN 0
0
1
255
Pc=256
قبل از وقفه
روتين وقفه
محل شروع روتين وقفه
اتفاق وقفه
0 BUN 1120
برنامه اصلي
1 BUN 0
0
Pc=1
255
256
بعد از وقفه
روتين وقفه
محل ذخيره آدرس برگشت
11201120
256
وقفهوقفه يکليکلسس يياجرااجرا
حافظه حافظه
53
تشخيص وقوع وقفهتشخيص وقوع وقفه
عمل واکشي و در هر سيکل اجراي دستور پس از آنکه • انجام شد سخت افزار کامپيوتر وقوع ديکود دستورالعمل
يک وقفه را بررسي ميکند . باشد يعني کامپيوتر اجازه وقفه را IEN=1در صورتي که •
فعال شده FGO و FGIداده باشد و يکي از پرچمهاي باشد وقوع وقفه تشخيص داده ميشود.
ثبت ميشود R به نام FF کردن يک Set وقوع وقفه با •.تاعمليات مربوط به پردازش وقفه آغاز شود
54
سيکل وقفهسيکل وقفه
باشد يک وقفه اتفاق R=1در صورتي که فليپ فالپ بجاي روند T0افتاده است لذا کامپيوتر در سيکل
عادي اجراي سيکل دستور عمليات مربوط به اجراي سيکل وقفه راانجام ميدهد اين عمليات عبارتست از :
دستور بعدي در محل صفر حافظه و انجام ذخيره آدرس–پرش به محل يک حافظه.
ميشود تا دوباره سيکل اجراي دستور شروع R=0 همچنين –شود .
ميشود تا در هنگام پردازش وقفه IEN=0به همين ترتيب –جاري جلوي وقفه هاي ديگر گرفته شود .
55
سيکل وقفهسيکل وقفه
Fetch Decode Execute
R=1
R=0
Interrupt
Fetch Decode Execute
Fetch Decode Execute
Fetch Decode Execute...
...
...
56
نمودار گردشی اعمال نمودار گردشی اعمال پايهپايه کامپیوترکامپیوتر
57
نیاز های سخت افزاری برای نیاز های سخت افزاری برای طراحی کامپیوتر پایه طراحی کامپیوتر پایه
بیتی16 کلمه 4096یک واحد حافظه متشکل از •نه رجيستر به نامهای:•
–AR,PC,DR,AC,IR,TR,OUTR,INPR,SC
فلیپ فالپ های وضعیت: •–I,S,E,R,IEN,FGI,FGO
رمز گشا • برای کد دستورها8 به 3یک رمز گشای – برای زمانبندی 16 به 4یک رمزگشای –
دروازه های منطقی کنترلی )برای ساختن واحد کنترل به •(Hardwiredصورت
جمع کننده و مدار منطقی •به رجيسترانباره متصل می شود. –
58
ورودی های دروازه های ورودی های دروازه های منطقی مدارکنترلمنطقی مدارکنترل
دو رمز گشا• بیت خروجی ترتیب 16 بیت دستور العمل و 8–
شمار
I,S,E,R,IEN,FGI,FGOهفت فلیپ فالپ • رجيستر دستور العمل11 تا 0بیت های • رجيسترانباره15 تا 0بیت های •
برای کنترل صفر بودن رجيستر و کنترل بیت –عالمت
رجيسترداده 15 تا 0بیت های •برای کنترل صفر بودن رجيستر–
59
خروجی های دروازه های خروجی های دروازه های منطقی کنترلمنطقی کنترل
رجيستر9ورودی های کنترلی •خطوط کنترلی خواندن و نوشتن حافظه •یک ، صفر یا متمم کردن مقدار فلیپ فالپ ها •
جهت انتخاب یک رجيستربرای دسترسی به S2S1S0خطوط •گذرگاه
ACکنترل جمع کننده و مدار منطقی انباره متصل به •
هدف: طراحي سيگنالهايي براي كنترل:هدف: طراحي سيگنالهايي براي كنترل:
60
ليست تمام ریزعملیاتهای ليست تمام ریزعملیاتهای کامپیوتر پایهکامپیوتر پایه
61
ليست تمام ریزعملیاتهای ليست تمام ریزعملیاتهای کامپیوتر پایه - ادامهکامپیوتر پایه - ادامه
62
دروازه های کنترلی دروازه های کنترلی ARARرجيستررجيستر
LD,INR,CLRورودی های کنترلی رجيستر: •
را تغییر می ARتمام عبارتهایی که مقدار •دهند پیدا میکنیم
)ریزعملیاتهایی که به فرم َAR … )باشند
63
دروازه های کنترلی دروازه های کنترلی رجيسترآدرسرجيسترآدرس
64
دروازه های کنترلی فلیپ دروازه های کنترلی فلیپ IENIENفالپ فالپ
65
حافظه حافظهReadRead خط خط کنترلکنترل
در سمت M[AR]تمام ميكرواپريشن هايي كه در آنها • ... (M[AR] راست انتقال قرار دارد. ) به فرم :
Read= R’T1+D’7IT3 + (D0 + D1 + D2 + D6)T4
66
رمزگذار جهت مدار رمزگذار جهت مدار انتخابگر گذرگاهانتخابگر گذرگاه
ARبرای رجيستر •
67
مدار مرتبط با مدار مرتبط با رجيسترانباره رجيسترانباره
68
دستوارت تاثیر گذار روی مقدار دستوارت تاثیر گذار روی مقدار رجيسترانباره رجيسترانباره
69
دروازه های کنترلی دروازه های کنترلی رجيسترانبارهرجيسترانباره
70
دروازه های کنترلی واحد دروازه های کنترلی واحد جمع کننده و منطقجمع کننده و منطق