صفحه 1:
00
Department of Computer and IT
Engineering
University of Kurdistan
Coxpputer Brickiterture
MANO Basic Computer
صفحه 2:
معماری اوه مرس لوق : ۵0
۲ 55 5 15 ۱۱12015
در این نوع ساختار که اغلب کامپیوتر ها از آن پيروي میکنند عملیات یک کامپیوتر توسط برنامه اي که توسط برنامه
نویس نوشته شده و در حافظه 636960 قرار داده میشود کنترل میگردد .
"این برنامه از دستورالعمل هاست که نوع عملیات. عملوندهاي مربوطه و توالي اجراي عملیات را
*یک دستورالعمل یک کد باينري است که توالي انجام میکروایریشن ها را مشخص مي نماید .
کامپیوتر یک دستورالعمل را از حافظه خوانده و در داخل ROO
یک رجیستر قرار مي دهد. | [Cowl Cove
واحد کنترل کد بايتري دستورالسمل راط کرده و لت
دنباله اي از میکرواپریشن هاي لازم براي اجراي آن واحد كنترل * | O00 Oxe
دستورالعمل را بوجود مي آورد 4 4
کد یک دستورالعمل گروهي از بیت هاست که به کامپیوتر Re | [ovo
دستور مي دهد تا عمل خاصي را انجام دهد .این کد معمولا 1
به بخشهايي تقسیم مي شود که هر کدام وظیفه خاص
ودشان را دارند 0-۹
صفحه 3:
O اصلي ترین قسمت یک کد دستورالعمل بخش طحه میم يا لم0 است.
طسسیم) نوع دستورالعمل نظیر ۵000), 0000) و غیره را مشخص میکند تعداد بيتهاي
طحصح0 به تعداد کل دستورالعملهاي موجود در دحت بستكي دارد .
دستورالعمل نه تنها باید نوع عمل (طحسح) بلکه باید محلي که آن عمل روي آن انجام میگردد (حافظه
يا رجیستر) را مشخص کند.
لذا در کد دستورالعمل یک محل حافظه با آدرس آن مشخص مي شود که این آدرس جزئي از کد
دستورالعمل را تشکیل مي دهد . 2۴
براي مشخص کردن رجيسترهاي 26۳00) نیز از یک کد باينري استفاده مي شود اكر 00800 تعداد
رجیستر داشته باشد از یک کد 6)بيتي براي آنها استفاده مي شود .
صفحه 4:
کامییو تر یایه مان
اس سه سه 2 1 1ه 11
واحد حافظه با 1093 كلمه 11 بيتى
MR, PC, OR, BO, 168, ۳۵, 07۳68, رجیسترهای
1DPR, GC
فلیپ فلاپ های GR, IO, G1, PGBO ,6 ,1
رمزگشای ۳به ۸ اعمال و ۶ به ۱٩ زمانبندی
گذرگاه مشترک ۱۱ بیتی
دروازه های منطقی کنترلی
جمع کننده و مدارهای منطقی که به ورودی 696 وصل شده اند
9
صفحه 5:
کد دست رها
١11110 11 19 191 11 91 1
* دستورهاى كامييوتر بصورت يك كد دودوئى هستند كه ترتيب
خاصی از ریز عمل ها را مشخص مى كنند.
* کد دستور + آدرس
- اگر تعداد دستورات "9 باشد. کد دستور باید ۰ بیتی باشد.
- کد دستور گاهی درشت عمل (2۰۳۰) سعه()) نامیده می
شود.
- آدرس یک رجیسترو یا مکانی از حافظه را مشخص می کند.
* مکان حافظه آدرس عملوند می باشد.
* دستورها و داده ها در حافظه قرار دارند.
صفحه 6:
کامییوتر يايه (معماری تک انباره ای)
1 1 1110801۳115
یک رجیسترپردازنده
@O - ولجویحجه —
۴ شکل دستور
- کد دستور ۴ بیتی می باشد.
- ۱۲ بیت مربوط به آدرس می باشد (۲۱۲-۴۰۹۶)
چرخه اجرای دستور
- خواندن یک دستور ۱۶ بیتی از حافظه
- استفاده از ۱۲ بیت آدرس جهت واکشی عملوند از حافظه
- اجراى كد دستور ءا بيتى
09
صفحه 7:
حافظه 09966 [0]0 + 60 ۶ 60 : 46 200 Cxavple:
۴ 1
5
قالب دستور
as oO
عملوند دودونی
سس 1 ممکن است بعضي از دستورالعملها به عملوند (0بوجه)
بجیسترپردازنده - 100۱ احتیاج نداشته باشند. مانند 00 که در این حالت قسمت آدرس
میتواند براي مقاصد ديگري استفاده شود.
صفحه 8:
اضافه نمودن مدهای آدرسد
تست ون lta.
* آدرس ۱۲ بیتی قرار گرفته در دستور
* آدرس مکانی از حافظه که داده در آنجا قرار گرفته است.
- غير مستقيم (ecb)
* آدرس مکانی از حافظه که در آنجا آدرس داده مورد نظر (عملوند) قرار
گرفته است.
به آدرس مکان عملوند آدرس موثر (068)) گفته می شود.
* یکی از بیت های دستور به عنوان بیت غیرمستقیم در نظر گرفته
شده است.
9
صفحه 9:
Addressing
mode
457 آدرس موثر
صفحه 10:
رجيستر ها وحافظه كامييوتر يايه
سک ۱۱۱09۱39۵
۱
boa]
oa
19
5
1
صفحه 11:
a
عملوندخوانده شد
نكهدارى آدرس حافظه
رجيستر پردازشگر
كد دستور خوانده شده
نكهدارى آدرس دستور
نگهداری داده های موقتی
کاراکترهای ورودی
کاراکترهای خروجی
رجیسترداده
رجیسترآدرس
ais
رجیستردستور
شمارنده برنامه
رجیسترموقت
رجیسترورودی
خروجی
۱۲
۱۶
۱۶
۱۲
۱۶
۳4
"0
0
PC
DR
ADP
صفحه 12:
ویس دا
1
Ba Lat oad *
-لفرليشيكواجدي AOR (iwrewent) *
۰) ( 008 - ياككردن
7+
1
9
wR Ch «
R
&
صفحه 13:
شمارنده 2 نامه
هت سر د د هك 18
* آدرس مکانی از حافظه که دستور بعدی در آن قرار گرفته است را نگه
می دارد.
* در زمانی که چرخه اجرای دستور فعلی کامل شد. دستور بعدی واکشی
(2) می شود.
* دقیقا پس از واکشی دستور. (*) افزایش می یابد.
* در زمان اجرای دستور انشعاب (۳۵) . (۳6) مقدار جدیدی می
گیرد.
aq ©
eo سس
6 1
بات
Lo wR Oo «
2) 3
صفحه 14:
گذرگاه مشترک ne
االلللا
به یکدیگر و به حافظه وصل می کند.
* با توجه به 09,09 ن9) مشخص مى شود كه خروجى كدام بخش بايد روى
گذرگاه قرار گیرد.
زمانی که رجیسترکمتر از ۱۷ پیت داده دارد . به بيت هاى با ارزش گذرگاه مقدار صفر داده
می شود.
* رجیستری که پایه 60 آن یک باشد. داده ها را از گذرگاه می خواند.
* در زمانی که پایه 7۷۳() حافظه فعال باشد. داده ها در حافظه نوشته می شوند.
* در زمانی که پایه ل() حافظه فعال باشد. داده های حافظه روی گذرگاه قرار می
گیرد.
- مشروط به اینکه ۵,۵,0 ن۵)باشد
ae
09
صفحه 15:
نحوه اتصال احزاء کامسه ت, ناه
HH
صفحه 16:
يع 5
9۷
INPR
16-bit Common Bus
صفحه 17:
رحبي - آدر - 66
سكس ههه ۵ ۵ ۵ ۱۱۱3۷3۵
همیشه برای مشخص کردن آدرسی از حافظه بکار می رود.
این رجیستراختصاصی نیاز به وجود گذرگاه جداگانه ای hy
گذرگاه آدرس را از بین برده است.
محتوای هر یک از رجیسترهایی که خروجی آنها به گذرگاه متصل است را
می توان در حافظه نوشت.
هر یک از رجیسترهایی که ورودی آن به گذرگاه متصل است. می تواند به
عنوان مقصد دستور ل) از حافظه باشد. ور
- در صورتی که خحط (,] آن فعال باشد.
‘|
باه
«
نات
OR
108
11
7
Lo
09
صفحه 18:
)90 — , Pre زنب >)
Itt
* ورودى اين رجيسترء خروجی مدار جمع کننده و منطقی می باشد.
9 مدار جمع کننده و منطقی
- ورودى
خروجی ۱3 بیتی انبر(00)
خروجی ۱۸ بیتی رجیسترداده(؟606)
DPR) 525
خروجی ۸ بیتی رجیستر
خروجی
۴ ورودی ۱ بیتی انباره(0))
* فلیپ فلاپ 2) (سرریز یا همان بیت توسعه انباره)
* رجیسترهای داده و انباره برای انجام اعمال منطقی و محاسباتی بکار میروند.
9
6
صفحه 19:
stile}
08 515 5 15 15 15 111۳10
محتویات هر رجیستری که خروجی آن به گذرگاه متصل است. می تواند
روی گذرگاه گذاشته شود و هر رجیستری که ورودی های آن به گذرگاه
متصل است (همه غیر از 62) نیز می تواند در همان چرخه ساعت
(عاصج كاوصاه) از كذ ركاه بار شود.
عمليات در جفعصبا عسكلك8) و انتقال به باس ميتواند همزمان صورت
مثلا دو ريز عمل زير مى توانند در يك زمان اجرا شوند:
—OR 20) امه 0005-50 ٠
صفحه 20:
ساختار د سد رات ab
8119 18 18 191 19 111111
* دستورات مراجعه به حافظه )كد عمل از 05٠ تا ۱۱۰)
a Opvode Oddress
* دستورات مراجعه به رجیسترها (کد عمل ۱۱۱ و 120)
9 033 o
موه ۳ 4 0 0 ©
* دستورات ورودی خروجی (کد عمل ۱۱۱ و 120)
9 060 ©
وه 1۵ 40 0 0 4
هه
صفحه 21:
فرمت دستورات
1 191 11 11 1193 ل 100
eq
فقط ۳ بیت براى كد دستور بكار مى رود.
بنا به فرض فوق. بنظر می رسد كه فقط / كد دستور مختلف مى توانيم
داشعهياشيم,
اما اين غلط است...
زمانى كه كد عمل 11١ اسث یعنی در دستورات مراجعه به رجیستر و
دستورات ورودی/خروجی که احتیاج به ادرس ندارند. ۱۲ بیت باقیمانده
جهت توسعه فضای تعریف کد دستورالعمل ها بکار می رود.
در عمل تعداد ۲۵ دستورالعمل برای کامپیوتر پایه تعریف شده است.
9
صفحه 22:
دستورات کامپیوتر پایه
دستورات
ورودی اخروجی
66
Description
AND memory word to AC
‘Add memory word to AC
Load AC from memory
Store content of AC into memory
Branch unconditionally
Branch and save return address
Increment and skip if zero
Clear AC
Clear E
Complement AC
Complement E
Circulate right AC and E
Circulate left AC and E
Increment AC
Skip next instr. if AC is positive
‘Skip next instr. if AC is negative
Skip next instr. if AC is zero
Skip next instr, if E is zero
Halt computer
Input character to AC
Output character from AC
Skip on input flag
Skip on output flag
Interrupt on
Interrupt off
1
00
900
AXxx
Bxxx
Cxxx
Dxxx
Exxx
Hex Code
T=0
(Oxxx
00
300
400
BXXX
600
7800
7400
7200
7100
7080
7040
7020
7010
7008
7004
7002
7001
F800
F400
F200
F100
F080
F040
Symbol
"AND
ADD
LDA
STA
BUN
BSA
52
CLA
CLE
cMA
CME
عا
۱
INC
SPA
SNA
SZE
HLT
INP
ouT
SKI
0
ION
0
دستورات مراج
راجعه به حافظه
دستورات مراجعه به رجیستر &
صفحه 23:
دستورات کامپیوتر پایه
3 ۱11711555
* تفریق را میتوان با 006) و ۳۳۳ پیاده سازی نمود.
* ضرب و تقسیم را میتوان با جمع و تفریق و شیفت پیاده سازی کرد.
* با 6000 » DOOO & 5 5b: DODO sl xe Orrwplewent
هم ميتوان تمام توابع منطقی را پیاده سازی کنیم.
.سس
صفحه 24:
sls ات د
inna 00
اگر یک کامپیوتر در هرکدام از گروههای زیر تعدادی دستورالعمل داشته باشد
میگوییم مجموعه دستورالعملهای آن کامل است:
* محاسباتی. منطقی. و شیفت
؟ انتقال داده به/از رجیسترها و حافظه
کنترل جریان برنامه و بررسی وضعیت
ورودی و خروجی (1/60)
می توان مجموعه دستورالعملها را پیچیده تر هم کرد ولی طراحی مشکلتر خواهد شد.
9
صفحه 25:
واحد
ات انز
Ward wired 1
دو ساختار کلی برای طراحی
واحد کنترل:
Diero Prownne
۶ واحد کنترل 1-٩ با عناصر منطقی مانند گیتها. فلیپ فلاپهاء دیکودر
و ... به صورت سخت افزاری پیاده سازی ميشود.
در کنترل به صورت ۳۳۲۰ ۳7۲() اطلاعات کنترلی در حافظه ای موسوم به
حافظه کنترلی ذخیره میگردد.
< با تغییر طراحی. در روش کنترل ۸۲۱ بايد تغييراتى در مدار کنترلی
اعمال كنيم اما در روش 0005 بايد برنامه داخل حافظه کنترلی را تغییر داد.
صفحه 26:
واحد
Control
signals
ود
J we
111 1111 1 5 ۳
م موی
Combinational
Control
logic
|+—— Increment (INR)
ها Clear (CLR)
J+—— Clock
sequence
counter |
صفحه 27:
واحد
iin ee! 00
خواندن دستور از حافظه و انتقال آن به WR
قرار دادن سمت جب ترين بيت در فليب فلاب 1“
* رمزگشایی کد ۳بیتی دستورالعمل با استفاده از یک رمزگشای ۳ به ۸ در
DO, Dy bse
* رمزگشایی کد ؛ بیتی شمارنده ترتیبی با استفاده از یک رمزگشای ۶ به ۱٩
در حطوط و" تا وم"/(سیگنالهای زمانی)
* مقادیر 1.60 تا )و و" تا یم" و ۱۲ بیت سمت راستى 2108 و
سایر ورودی ها به دروازه های کنترلی و منطقی ارسال میگردند.
صفحه 28:
ترتیب شمار (0))
۵ 1191 191 11 111111
* داراى ورودى هاى افزايش (10008” و ياك كردن (08را0)
می باشد.
* مثال
- 902) ب صورهتفزایشیشمرشمیکند تا م۰۳ ...و مرا تولید
abs
ot phe side g old SL ghd G5 Lab JID, 51. Mg dbej 52 —
كيرف
اين ريز عمليات بصورت زير نوشته مى شود :
00-0 : م0 -
9
هه
صفحه 29:
ltt tas
Clock
10
7
12
13
14
03
عه
sc
صفحه 30:
حه د
1 1 1 11180101
هر دستورالعمل باید از یک چرخه برای اجرا عبور کند. هر سیکل از تعدادی فاز
تشکیل شده است.
۱- واکشی دستور از حافظه
۲- رمزگشایی دستور
۳- خواندن ادرس موثر از حافظه
- در صورتی که از شیوه آدرس دهی غیر مستقیم استفاده شده باشد
۶- اجرای دستورالعمل
“بعد از اجرای مرحله ۴ دوباره به مرحله ۱ باز میگردیم تا دستورالعمل بعدی را
واکشی نماییم. این کار تا دستور 1,۳" ادامه می یابد. R
90
صفحه 31:
واكد و رمزگشا
1لا 1 ۱۱000101
* مقداردهی شدن 00 به صفر. سیگنال زمانی "را تولید
می کند.
* پس از هر ضربان زمانی. (6) افزايش می یابد.
fe De: OO,...,.0P — Devrde IRCA), BR
:)ی - ------ ٍ
صفحه 32:
TO: AR PC (8,S,S,=010, TO=1)
T1:IR<—MIAR], PC<-PC +1 (S0S1S2=111, T1=1)
72: DO,..., D7 < Decode IR(12-14), AR < IR(0-11), | <— IR(15)
1
صفحه 33:
AR < MIAR]
Nothing
Execute a register-reference instr.
Execute an input-output instr.
Decode Opeode in IR(12-14),
AR ۱300-11(_ ۱-5
=0 (direct)
memory-rete
instruction
56 >60
03
07۳3
97۳13
073
صفحه 34:
د تورات انتقال رحبي مرها
۵ ۱۱۱39۳۵۵
۲2۵
IRQ,
=> Register Reference Instruction
50*0
AC<0
2۰
۸0۰
2+
۸۵۵ 50۲۸۵6, ۸۵5( 1۴۰۰۵۵0
AC « ShIAC, AC(0) < E, E< AC(15)
ACC ACH
if (AC(15) = 0) then (PC « PC+1)
if (AC(15) = 1) then (PC « PC+1)
if (AC = 0) then (PC < PC+1)
if (E = 0) then (PC < PC#1)
S <0 (Sisa start-stop flip-flop)
صفحه 35:
دستورات مراحعه به حافظه
ههه 5 ۵ ۵ ۱۱۱333۵۵
Symbolic Description
AC < AC” MAR]
AC © AC + MAR], E <—C,,
AC — MIAR]
MIAR] — AC
هم وعم
۱/۵ ۰ ۳6, ۳۵۰۰۸6۰ 1
MIAR] — MIAR] +1, if MIAR] + 1 =0 then PC <— PCH
صفحه 36:
دستورات مراحعه به حافظه
2 ۱۳9۹۵
COO tt BC Js lal
با توجه به طحه این دستور (۰۰۰) بیت 060) برای شناسایی آن بکار خواهد رفت. در زمان DEP
اپراند از حافظه به داخل 6000٩ خوانده میشود و در 2 عمل مورد نظر بر ریی محتوی )06٩ و
BO انجام شده و نتیجه به 600 منتقل میگردد. در زمان ۳62" اجرای دستور تمام شده است لذا
0 صفر میشود تا مراحل اجرای دستور بعدی آغاز گردد(فان ری
شمه هه: ۵0۶
GO OR,GO © هن : 6 0ه
اجراى دستور 0600 12 COD
با توجه به م0 اين دستور (001) بيت 001 براى شناسايى آن بكار ميرود .
0076 :08 61
0016 :68 ۵+06 هم One GO ©
صفحه 37:
دستورات مراحعه به حافظه
كه د سه 3 1 5ه 5
LOB (load Pe 0( اجرای دستور
چون هیچ مسیر مستقیمي بین 2۲) و (6) وجود ندارد لذا می بایست برای خواندن داده ای از حافظه و
انتقال آن به Lal BO آن را به 0008 منتقل و سپس از مسیر موجود بين 00 و 600 به (90) منتقل نمود
علت وصل نكردن 00 به 00009 به اين خاطر بوده كه در اينصورت بعلت تاخيرى كه بر اثر وجود
جمع كننده در سر راه اين انتقال بوجود مى آمد زمان اجراى اين دستور از يك كلاك بيشتر ميشود ولی با حذف
O[OR] هه : © ه06
اين مسير تمامى دستورات را ميتوان در يك كلاك انجام داد
© 06,49 876:06@
اجرای دستور GTO (Gtore POC)
دستور را میتوان با یک میکرواپریشن انجام داد
را خروجی (69 به 00068) متصل است و © Ge ,GO هم] © : © ه06
آدرس اپراند هم در 968) موجود می باشد
صفحه 38:
(®rccck ud Gave Retura Ockress) اجرای دستور
DS TH : DOR] PO, SR 4
O89 7TS:R6 OR, GO ©
9b
دستور بعدی
od
زیربرنامه
ooo Wg
حافظه و 50 بعد از اجرای
COB
0 60 9
1
eo
eq
ade
9
مقادیر حافظه و PO 5 00 در زمان
Te
09
CGB
این دستور برای پیاده سازی 0/«۲۵۲() یا صدا زدن تابع استفاده می شود. هنكام صدا زدن يك تابع بايد
آدرس موجود در (6() که آدرس دستور بعدی در روال عادی اجرای برنامه را مشخص میکند در محلی ذخیره گردد
. تا پس از خاتمه تابع بتواند دوباره به همان محل رجوع کند
برای پیاده سازی اینکار مقدار ()) در آدرسی که توسط (0696) مشخص شده ( ودر 68) موجود است ) ذخیره گرد
و سپس مقدار (6*) با 261*6) پر میشود . 6*0() محلی است که اجرای تابع از آن شروع خواهد شد.
000
دستور بعدی
ed
000
2
1
مه
0-8
a
صفحه 39:
رات احعه به حافظه
ایا ان
اجرای دستور BOD يرش غير شرطى
اين دستور برای انجام یک پرش غیر شرطی به محلی از حافظه که آدرس آن در دستور ذکر شده بكار ميرود ميدانيم كه
0 ممواره آدرس دستور بعدی را مشخص میکند از ایترو با تغیر مقدار ۳60) به آدرس محل مورد نظر میتوان روند
طبیعی اجرای دستور را قطع و کامپیوتر را وادار به اجرای دستور از محل دیگری نمود
© وو,هه هم : عم مهم
اجرای دستور Derv) ۲ موا .8 مومصها") 1840
معمولا از اين دستور هنگام پیاده سازی یک حلقه تکرار شونده استفاده میشود. تعداد شمارش یا دفعات تکرار حلقه
بصورت یک عدد منفی در حافظه قرار داده شده و به ازای هر با تکرار حلقه یکبار افزایش می یابد تا به صفر رسیده
و خانمه شمارش و یا عمل تکراری را مشخص مینماید . وقتی که شمارنده صفر میشود مقدار (6) یک واحد
افزایش داده میشود تا از اجرای دستور بعدی صرفنظر گردد . 61 OO TE :OR
ORH هه : ۵97
0979:066۲ OR, A(OR=O) teu(PO POH),6O O
il
برای افزايش مقدار شمارنده محتوی محلی از حافظه که بعنوان شمارنده بكار ميرود به +000 منتقل و يس از
افزايش مجددا به حافظه برگردانده میشود
توجه شود که اجرای طولانی ترین دستور ۷ پالس ساعت نیاز دارد لذا (96) را میشود با یک شمارنده Gal نیز
برای اجرای تمرینات کتاب است 2
صفحه 40:
Memory-reference instruction
DoT,
4
DR « MIAR]
ای توه
WIAR] >
SCO
Ac AC + DR
E< out
DeT 4
ووه
MIAR] — PC
ARC AR +1
IMIAR] «DR .
0 سس ۲۵820 0
fen ee «Pe +1)
sone
صفحه 41:
er
1۱۴۱۳۵۵۵ سككس هه
* اگر کامپیوتری نتواند با دنیای خارج ارتباط برقرار کند. تقریبا هیچ کار
مفیدی نمیتواند انجام دهد.
برای ورودی و خحروجی کامپیوتر باید از یک ترمینال استفاده میشود که
قسمت ورودی به کامپیوتر یک صفحه کلید و بخش خروجی یک پرینتر
خواهد بود.
۰
هر دو قسمت ورودی و خروجی بصورت سریال با کامپیوتر در تماسند
صفحه 42:
سازمان ورودی خر و <
(1۱۲-۱ 11 1901 1لا 1ل 1
eo
port yt 1
555 1 ۵۸
00 ۱
1 ابید
00۸ 1 پرینتر
| ۳0
رجیسترها و فلیپ فلاپهای داخل پردازنده
صفحه 43:
ایجاد همزمانی (سنکرون کردن) بین ورودی و کامپیوتر
___ سس _ ۱ 1۱
1 95 1
براي ایجاد همزماني بين ورودي و کامپیوتر از AOR
فلیپ فلاپ ۳601 استفاده ميشود. کات
eH هه
* وقتى كه كامبيوتر شروع به كار ميكند فليب فلاب 6۳001200 است
* هنكامى كه كليدى در صفحه كليد فشار داده ميشود يك كد هشت بيتى بياى آن توليد و بصورت
سريال به رجيستر 100030 فر ود . ايتكار 00091 را يك ميكند تا هم مانع ارسال داده جديد
شود و هم کامپیوتر را از وجود یک داده جدید در 1006۳68 مطلع سازد
* _ کامپیوتر با چک کردن ۳69 از وجود کلید آگاه میشود و با انتقال آن به 962) این فلگ را صفر
میکند
جدید اجازه ورود به 6000808 را بيدا ميكند
cul JEIDPR : COED
كير است 0000 : 0
*؟ باصفر شدناين فلك
eo
09
صفحه 44:
براي ايجاد همزماني ( سنكرون كردن ) بين
ورودي و کامپیوتر از فلیپ فلاب 60
استفاده میشود. پرینتر
000
* كامبيوتر قبل از ارسال داده به خروجی (۳06) را چک میکند
اطلاعات 962 به 001901908 فرستاده شده و
0 صفر ميشود
Sst PEO»
* _ کامپیوتر تا یک شدن 680*) داده جدیدی را به خروجی نخواهد فرستاد
020 : 00۳6 )خالي است
020 : مكبر است
ee
09
صفحه 45:
2/0 احرای دستورات
11100۱015 5 5 55 ee
IR() =B, i=6, ..., 11
میکرو اپریشن
106 | میم PC(O-A)E WOR, FO1E OD
0۵ | : مو مج COTE O(-7), ۵00
۵0| همم وم م0۵ و
۵060 | مه) م1 (6۵۵20) ۳ ى من[ € POH)
OO): eo?
woe | | Goo WOO
دستورات 1/60 در (۳6/ اجرا میشوند
onl Gly Opole Jue * دستورات (۱۱۱) و بیت 120 است. لذا شرط کنترلی بصورت ,6
اجرای دستورات در کلاک 9" تمام شده و مقدار (96) صفر میشود تا دستور بعدی اجرا گردد.
9
صفحه 46:
و سمس سه دده 11
دو راه براى اطلاع از ورودى و خروجى :
۳۳۹-۱ يا سركشى:
- كامبيوتر بطور متناوب وضعيت ورودى و خروجى را جك ميكند تا از آماده بودن خروجى يا
ورودى براى انتقال اطلاعات آكاه شود
- اين روش ساده است ولى بعلت متفاوت بودن نرخ آماده شدن اطلاعات در 1/0 و سرعت
پردازش کامپیوتر باعث اتلاف وقت خواهد شد
Ieterrupt Drives 1/60 -۲ :
- در این روش وسیله ورودی و خروجی با ارسال یک سیگنال وقفه کامپیوتررا از آماده بودن
0 برا انتقال اطلاعات مطلع می سازد
- در این روش دیگر نیازی به چک کردن متناوب 1/60 نبوده و کامپیوتر در فاصله بین آماده
شدن VO میتاند به اجرای برنامه دیگری بپزدازد
9
صفحه 47:
قفه در کامسو تر Ah
ltt tas
1000 - فلييفلابيعاتاكه 02 Interrupt :
در کامپیوتر پایه یک ۳ به امر وقفه اختصاص داده شده است.
اگر کامپیوتر بخواهد به دستگاه 1/60" اجازه ارسال وقفه را بدهد اين
)را ا95) میکند اما با صفر کردن این ) میتوان جلو ارسال وقفه را
سد كرد.
براى تغيير وضعيت اين 0202 از دستورات 10060 و 1006۳ استفاده
میشود.
PP دیگریسه نام () یقوع وقفه را مشخصرهینماید
& EE gy
صفحه 48:
فعال سازی وقفه
01 5 5 15 15 ۲۱۳۲۱۸۱۲15
* کنترل مداوم ۳60) و 6696 توسط کامپیوتر زمان را تلف می کند.
* با استفاده از 16260" هر زمان که نیازی به کنترل ورودی و خروجی باشد. به
وی اطلاع داده می شود.
* در خلال اجرای دستون در صورتی S PBO | POTS باشد. مقدار
8) یک می شود.
وقفه در زمانی رخ می دهد که کامپیوتر خواسته باشد دستور بعدی را واکشی
نماید.
R=O Si — باشد. اجرای دستور انجام می گيرد.
- اگر 320 باشد. اجرای وقفه انجام می گیرد.
9
9
صفحه 49:
R= Interrupt f/f
Interrupt cycle
e return address
location 0
M0] — PC
آدرس برگشت در خانه شماره صفر ذخیره میشود. که میتوان از يك رجیستر و با بامعل)براي این کار استفادهنمود &
a
صفحه 50:
قفه
سس سس 5 ه115
* باتوجه به شكل مذكور شرط مقدار دهى 8) به يك:
(IEN)(FGI+FGO): Re 1 و1011
* میکرو اپریشن سیکل وقفه
AR<0, TR<PC :و۲1
MIAR]<TR, PC <0 ,۴۲
RT,; PC<PC+1, IEN< 0, Re 0,SC<0
اضافه كردن فلیپ Gach R GUS میشود تا میکرو اپریشن سیکل
واکشی و دیکود بصورت زیر تصحیح گردد:
PO ۵6 :170
POH عم , 0۵6 -16 :1۳۳0
RTO: OF..00 Dro IRCOAP) ,OR 1۵00400 0
صفحه 51:
ee وفعه در روند احرای دستورات کامپیو تر
Ee ak 0101 1110
* وقتی که یک وقفه اتفاق می افتد کامپیوتر:
۱ اجرای دستورجاری خود را تمام ميكند و
۲ آدرس دستور بعدی (محتوی ۳0)) را در محل مشخصی ذخیره میکند
(آدرس صفر حافظه) و
و با قطع روند عادی اجرای برنامه به اجرای دستورات مربوط به پردازش
وقفه که در آدرس از پیش تعیین شده ای (آدرس یک ) قرار دارد
میپردازد .
۱ پس از خاتمه اجرای دستورات مربوط به وقفه کامپیوتر باید
برنامه قطع شده را مجددا از همان محل ادامه دهد برای اب
کار در انتهای روتین وقفه یک دستور پرش با آدرس دهی RE
مستقیم به آدرس صفر قرار داده میشود تا برنامه اصلی از
محل قطع شده ادامه یابد . همچنین 1026" دوباره یک میشو در
09
صفحه 52:
100 oom me elie
محل ذخیره آدرس
برگشت
حافظه
ese
©0060 _ 6000 0
برنامه اصلي
روتین وقفه
04 220 9
بعد از وقفه
حافظه
محل شروع وووو_ هو
روتين وقفه
اتفاق وقفه
که برنامه اصلي
روتين وقفه
۵00 9
قبل از وقفه
صفحه 53:
تشخیص وقوع وقفه
سر ار ا
* در هر سیکل اجرای دستور پس از آتکه عمل واکشی و دیکود
دستور العمل انجام شد سخت افزار کامپیوتر وقوع یک وقفه را
بررسی میکند .
* در صورتی که 160-0 باشد یعنی کامپیوتر اجازه وقفه را داده
باشد و یکی از پرچمهای 6*01 و ۳620 فعال شده باشد وقوع
وقفه تشخیص داده میشود.
۴ وقوع وقفه با 22 کردن یک oy PP نام #3ثبت میشود تاعملیات
مربوط به پردازش وقفه آغاز شود.
صفحه 54:
ی 3
ترز ووو ۳
در صورتی که فلیپ فلاپ 8-0 باشد یک وقفه اتفاق افتاده
است لذا كا ب تر در سیکل ۲ بجای روند عادی اجرای
سيكل دستور عمليات مربوط به اجراى سيكل وقفه راانجام
میدهد این عملیات عبارتست از :
- ذخیره آدرس دستور بعدی در محل صفر حافظه و انجام پرش به
محل یک حافظه.
- همچنین )٩<0( میشود تا دوباره سیکل اجرای دستور شروع شود .
تیب 100200 میشود تا در هنگام پردازش وقفه جاری
جلوی وقفه های دیگر گرفته شود .
@
صفحه 55:
Qrcode
سح اس
1
28-0 \
26-0
صفحه 56:
نمودار گردشی اعمال کامییوتر یایه
AR < IR(0-11), 1 IR(18)
وه — Decode IR(12 ~ 14)
DRIES ۳۹
Execute [AR © MARI] [Tale]
vio
Instruction
se
صفحه 57:
یک واحد حافظه متشکل از ۴۰۹۶ کلمه ۱۶ بیتی
نه رجیستر به نامهای:
PR,PO,OR,OC,AR,PROOTR OPR,GC —
فلیپ فلاپ های وضعیت:
1,6,۸, -
رمز گشا
- یک رمز گشای ۳ به ۸ برای کد دستورها
- یک رمزگشای ۴ به ۱۶ برای زمانبندی
دروازه های منطقی کنترلی (برای ساختن واحد کنترل به صورت
((harchuired
جمع کننده و مدار منطقی
2 به رجیسترانباره متصل می شود. 0-۹
صفحه 58:
ورودی های دروازه عاى م ی مدار کنترل
75۳5۳5
مه
(ito. لِا
دو رمز كشا
- ۸ بیت دستور العمل و ۱۶ بیت خروجی ترتیب شمار
هفت فليب فلاب 1,6,6,8,160,PG1,PGO
بيت هاى ٠ه تا ١١ رجيستر دستور العمل
بیت های ه تا ۱۵ رجیسترانباره
- برای کنترل صفر بودن رجیستر و کنترل بیت علامت
بیت های ه تا ۱۵ رجیسترداده
برای کنترل صفر بودن رجیستر
صفحه 59:
هاى دروازه ها
لسن كاد wi nie
هدف: طراحی سیگنالهایی برای کنترل:
* ورودی های کنترلی ٩ رجیستر
۶ خطوط کنترلی خواندن و نوشتن حافظه
* یک . صفر یا متمم کردن مقدار فلیپ GUS ها
* خطوط ,),9)9)جهت انتخاب یک رجیستربرای دسترسی Oy گذرگا
* کنترل جمع کننده و مدار منطقی انباره متصل به DO
صفحه 60:
AR عم
IR ۱/۵۵۵, ۳۵ ۰
DO, ..., D7 < Decode IR(12 ~ 14),
AR © IR(0~ 11), 1 <IR(15)
AR < MAR]
8-4
۸٩ 0۵
MIAR] < TR, PC <0
0+ 56 ,0->8 ,0 للع ,1 + عم PC
DR ۷۸
AC ۵۵۵۵
DR « MIAR]
AC © AC + DR, E< Coy, SC <0
DR « MIAR]
AC DR, SC <0
MIAR] «AC, SC 0
PC AR, SC 60
MIAR] <— PC, AR AR +1
PC AR, SCO
DR « MIAR]
08 08 +1
MIAR] < DR, if(DR=0) then (PC < PC +1),
sco
مه
Decode
Indirect D, ITs:
Interrupt
To'Ty/T(IEN\(FGI + FGO):
RTo:
AND
ADD
LDA
STA
BUN
BSA
152
صفحه 61:
(Common to all register-reference instr)
(= 01,2, .. 11)
50
۸0۰0
E<o
AC «AC!
Ee
shr AC, AC(15) «E, E < AC(0) « عم
AC « shi AC, AC(0) « E, E < AC(15)
AC AC +4
I(AC(15) =0) then (PC < PC +1)
M(AG(15) =1) then (PC < PC + 1)
H(A = 0) then (PC < PC +1)
If(E=0) then (PC «PC +1)
5
(Common to all input-output instructions)
(i= 6,7,8,9,10,11)
و عه
‘AC(0-7) < INPR, FGI <0
OUTR < AC(0-7), FGO <0
I(FGI=1) then (PC < PC +1)
I(FGO=1) then (PC PC +1)
IEN <1
IEN <0
ea
عملیانهای کامپپوتر پایه -
۱ 8
Register-Reference
DAT;
ماه
CLE
cMA
CME
cIR
باه
INC
SPA
SNA
SZA
SZE
HLT
Input-Output
INP
OUT
50
50
ION
0
صفحه 62:
دروازه های کین be 4
7 1ك 1ك 1 11۲۱1۱1
* ورودی های کنترلی رجیستر: ۵,1۵۲,0۷۸
* تمام عبارتهایی که مقدار 00 را تغییر مى دهند
LD(AR) = +RT, + DIT;
CLR 9 Pat,
INR’ Ry 901
وه
9
صفحه 63:
دروازه هاى 2 آدر
110۳1 ۳
Clock
صفحه 64:
دروازه های کنترلی فلیپ فلاپ
اس ۲ ۱۱۱
pB7:_IEN < 1 (I/O Instruction)
86۰ ۱۶ < 0 (I/O Instruction
RT,: IEN < 0 (Interrupt)
p = DIT, (Input/Output Instruction)
ow
صفحه 65:
(Rew bs J = حافظه
1 1 11۲۱1۱1
* تمام میکرواپریشن هایی که در آنها [6063]() در سمت راست
انتقال قرار دارد. ( به فرم : > [00]008 ... )
م0 + و0 +0 + ن0) خر ۵ Rewl=
صفحه 66:
90
5
2 Multiplexer
bus select
inputs
5
* براى رجيستر 20
صفحه 67:
مدار مرنيط با رح تا اه
lata
Adder and
From DR logic
3 circuit
From INPR
Control
gates
صفحه 68:
د توارت تانب گذار روی مقدار
كك كك كر دح
۸۵6 + ۸ AND with DR
AC<AC+DR Add with DR
AC<DR Transfer from DR
AC(0-7) — INPR Transfer from INPR
AC < AC’ Complement
AC < shr AC, AC(15) < E | Shift right
AC < shi AC, AC(0)<-E Shift left
AC<0 Clear
AC<AC+1 Increment
ee
صفحه 69:
صفحه 70: