صفحه 1:
سازماندهی و طراحی کامپیوتر پایه
صفحه 2:
كامييوتر يايه مانو
* واحد حافظه با ۴۰۹۶ کلمه ۱۶ بیتی
)68, POC, OR, BO, IR, TR, تبات های ۶
OONR, IDPR, GO
1, 6, G, R, ISO, 1, فليب فلاب های *
GO
* رمزگشای ۳ به ۸ اعمال و ۴ به ۱۶ زمانبندی
گذرگاه مشترک ۱۶ بیتی
* دروازه های منطقی کنترلی
* جمع کننده و مدارهای منطقی که به ورودی BO
وصل شده اند.
صفحه 3:
کد دستورها
دستورهای کامپیوتر بصورت یک کد دودوئی
هستند که ترتیب خاصی از ریز عمل ها را مشخص
كد دستور + آدرس
- اگر تعداد دستورات "9 باشد. کد دستور باید " بیتی
باشد.
- کد دستور گاهی درشت عمل نامیده می شود.
- آدرس یک ثبات و یا مکانی از حافظه را مشخص می کند.
* مکان حافظه آدرس عملوند می باشد.
بجای کد دستور از مخفف دستور استفاده می کنیم.
دستورها و داده ها در حافظه قرار دارند.
صفحه 4:
تشکیلات یک برنامه ذخیره شده
۴ یک تثبات پردازنده
woumutitor — = 50)
* شکل دستور
- کد دستور ۴ بیتی می باشد.
- م١ بيت مربوط به آدرس می باشد (۲۱۲-۴۰۹۶)
چرخه اجرای دستور
- خواندن یک دستور ۱۶ بیتی از حافظه
- استفاده از ۱۲ بیت آدرس جهت واکشی عملوند از
حافظه
- اجرای کد دستور ۴ بیتی
صفحه 5:
سازمان یک برنامه ذخیره شده
6096086 _جافظه
45 aw o
|| cae
دستورات برنامه
قالب دستور
as © عملوند ها (اطلاعات)
عملوند دودوتی
| باتپ ردازنده - foo
صفحه 6:
انوا آدرس
* آدرس ۱۲ بیتی قرار گرفته دستور
- بلافصل (علجه)
* مقدار واقعی داده
* آدرس مکانی از حافظه که داده در آنجا قرار گرفته است.
* آدرس مکانی از حافظه که a T LasT ys
)2 ب ae ویر انیا آدرس داده مورد نظر
* به آدرس مکان عملوند آدرس موثر (B®) 0488 0
شود. 1
* یکی از بيت هاى دستور به عنوان بيت يرجم
غيرمستقيم در نظر كرفته شده است. 2
صفحه 7:
آدرس دهی مستقیم و غیر مستقیم
4514 124
1 9
['fopcode] Address]
Addressing
mode 5
Direct addressing Indirect addressing
22 [OTADD J 457)
487 ‘Operand
صفحه 8:
ثبات ها و حافظه کامپیوتر مبنا
@090 << ©
7 3
06 6ه ۲
« «©
t AR i OR
9 5
۲ TR 1 660
e °
foore] fore
صفحه 9:
لیست ثبات های کامپیوتر مبنا
عملوندخوانده شده از حافظه | تبات داده ۱۶ OR
نگهداری آدرس حافظه OR | ae
ثبات پردازشگر ۶ 60
كد دستور خوانده شده ۱۶ JAR
نگهداری آدرس دستور ۱۲ 20
نگهداری داده های موقتی | ثبات موقت DR 1s
۱ 100
کاراکترهای ورودی تبات ورودی R A
oor 7 1
کاراکترهای خروجی ثبات خروجی ۸
96
صفحه 10:
شمارنده پرنامه
* آدرس مکانی از حافظه که دستور بعدی در آن قرار
گرفته است را نگه می دارد.
* در زمانی که چرخه اجرای دستور فعلی کامل شد.
دستور بعدی واکشی (۳۰۳۳) می شود.
* دقیقا پس از واکشی دستور. 00 افزايش مى
یاید.
* در زمان اجرای دستور انشعاب PO « (brawwh)
مقدار جدیدی می گیرد.
0
صفحه 11:
ورودی های کنترلی ثبات ها
* (۲۸) ۱۸۵ - بار کردن
* («سسحصسه) 1008 - افزایش
۶ (عه) 06٩ - پاککردن
صفحه 12:
گذرگاه مشترک (صحا)
* ثبات ها را به یکدیگر و به حافظه وصل می کند.
* با توجه به ,)9 مشخص می شود که خروجی PIAS
بخش باید روی گذرگاه قرار گیرد.
- زمانی که ثبات کمتر از ۱۶ بیت داده دارد . به بیت های با ارزش
گذرگاه مقدار صفر داده می شود.
* تباتی که پایه 6 آن یک باشد. داده ها را از گذرگاه می
خواند.
* در زمانی که پایه 7۳() حافظه فعال باشد. داده ها در حافظه
نوشته می شود.
* در زمانی که پایه اج حافظه فعال باشد. داده های حافظه
روی گذرگاه قرار می گیرد
- مشروط به اینکه )۵,۵20 ,62 باشد.
fda
صفحه 13:
Write Read
{ar}
LD INR CLR
LD INR CLR
DR
Lo INR CLR
عت ۱۷ ۱0
نمض
7
tb wk cl
صفحه 14:
سیستم گذرگاه مشترک
عو ومد
16-bit Common Bus
صفحه 15:
ols آدرس - ج060
* همیشه برای مشخص کردن آدرسی از حافظه بکار
می رود.
* این تبات اختصاصی. نیاز به وجود گذرگاه جداگانه
ای برای گذرگاه آدرس را از بین برده است.
* محتوای هر یک از ثبات هایی که خروجی آنها به
گذرگاه متصل است را می توان در حافظه نوشت.
* هر یک از ثبات هایی که ورودی آن به گذرگاه
متصل است. می تواند به عنوان مقصد دستور
ل۲) از حافظه باشد.
- در صورتی که خط 0 آن فعال باشد.
9
صفحه 16:
ثبات انباره - 90)
* ورودی این تبات. خروجی مدار جمع کننده و منطقی
می باشد.
> مدا ننده نطق
ر جمع کننده و
7 ورودی
* خروجی ۱۶ بیتی انباره(0)
خروجی ۱۶ بیتی ثبات داده(06))
خروجی ۸ بیتی ثبات ورودی(1006848)
7 خروجی
* ورودی ۱۶ بیتی انباره(0))
* فليب فلاب ©) (سرريز يا همان بین توسعه انباره)
* ثبات هاى داده و انباره براى انجام اعمال منطقى و
محاسباتى بكار مى روند.
8
صفحه 17:
زمانبدی
* محتویات هر ثباتی که خروجی آن به گذرگاه متصل
است. می تواند روی گذرگاه گذاشته شود و هر
تباتی که ورودی های آن به گذرگاه متصل است نیز
می تواند در همان چرخه ساعت (عاصه Jl (lock
گذرگاه بار شود.
دو ريز عمل زير مى توانند در یک زمان اجرا شوند:
8 20) الم 0085-60 ٠
ae
صفحه 18:
ساختار کلی دستورات oul
* دستورات با ارجاع به حافظه )کد عمل از ۰۰۰ تا ۱۱۰)
® 0ص oF ور
| Opoode Ocddress
* دستورات با ارجاع به ثبات ها (کد عمل ۱۱۱ و 120)
3 we a 0
© 0 0 4 ۳ موه
* دستورات ورودی خروجی (کد عمل ۱ ۱۱ و 124)
9 060 ©
0 0 0 40 VO موه
©
صفحه 19:
فرمت دستورات
فقط ۳ بیت برای کد دستور بکار می رود.
* بنابه فرض فوق, بنظر می رسد که فقط ۸ کد
دستور مختلف می توانیم داشته باشیم.
* اما این غلط است...
* زمانی که کد عمل ۱۱۱ است. ۱۲ بیت بی ارزش
جهت توسعه فضای تعريف كد دستور العمل ها بكار
فى رود.
صفحه 20:
دستورات کامپیوتر پایه
Hex Code
Symbol [T=0 1 Description
AND | Oxxx xxx | AND memory word to AG
ADD | 1xxx Sxxx | Add memory word to AC.
LDA | 2xxx Axxx | Load AC from memory
STA | 3xxx xxx | Store content of AC into memory
BUN | 4x Cx | Branch unconditionally
BSA | 5xxx —Dxxx | Branch and save return address
IsZ__| 6xxx _ Exxx | Increment and skip ifzero
CLA 7800 Clear AC
ع6 7400 Clear E
cma 7200 Complement AC
CME 7100 Complement E
8 7080 Circulate right AC and E
cL 7040 Circulate left AC and &
Inc 7020 Increment AC
SPA 7010 Skip next instr. if AC is positive
SNA 7008 Skip next instr. if AC is negative
SZA 7004 Skip next instr. if AC is zero
SZE 7002 Skip next instr. if E is zero
HLT 7001 Halt computer
INF F800 Input character to AC
our F400 Output character from AC
Ski F200 ‘Skip on input flag
۷۵ F100 Skip on output flag
ION F080 Interrupt on
ع6 هه F040 Interrupt off
صفحه 21:
کامل بودن مجموعه دستورات
* محاسباتی, منطقی, و شیفت
* انتقال داده به/از تبات ها و حافظه
کنترل برنامه و بررسی وضعیت
ورودی و خروجی
VO.VO — ۶۶
صفحه 22:
واحد کنترل
* خواندن دستور از حافظه و انتقال آن به AR
قرار دادن سمت چپ ترین بیت در فلیپ فلاپ 1"
* رمزگشایی کد ۳ بیتی دستور العمل با استفاده از
یک رمزگشای ۳ به ۸ در خطوط )تا ۸)
* رمزگشایی کد ۴ بیتی شمارنده ترتیبی با استفاده از
یک رمزگشای ۴ به ۱۶ در خطوط م7 تا یم
(سیگنالهای زمانی)
* مقادیر 1.60" تام() و م۲" تام" و ۱۲ بیت سمت
راستى dR و سایر ورودی ها به دروازه های کنترلی
و منطقی ارسال میگردند.
صفحه 23:
5
واحد كنترل
register وا
4 1-0 Other inputs
0 combinational
Control Control
او signals
|< increment (INR)
|+—— Clear (CLR)
Clock
sequence
‘counter
صفحه 24:
ترتیب شمار (GO)
* دارای ورودی های افزایش )10( و پاک کردن
(6)) می باشد.
* مثال
GO — ب صووت اف زایشیشملرشمیک ند تل ,۰۰۰۲۰۳
.و ,را تولید نماید.
- در زمان ,۰*۳ اگر ن() فعال باشد . ترتیب شماره پاک
شده و مقدار صفر می گیرد.
— بصورت زیر نوشته می شود :
OZTy : GC-—O —
صفحه 25:
دیاگرام زمانی
صفحه 26:
چرخه دستور العمل
* واکشی دستور از حافظه
۶ رمزگشایی دستور
۴ خواندن آدرس موتر از حافظه
- در صورتی که از شیوه آدرس دهی غیر مستقیم
استفاده شده باشد
اجراى دستور العمل
صفحه 27:
واکشی و رمزگشایی
* مقداردهی شدن 0) به صفر. سیگنال زمانی ,۲"
را تولید می کند.
* پس از هر ضربان زمانی, (96) افزایش می یابد.
* ریز عمل های واکشی و رمزگشایی
Dy: OR-PC ©
DEIR —O[@R] , 6
ji PC ۳-0
Dy OR AIR(-AM) , +2
1—1R(A6)
صفحه 28:
de e oe
واکشی و رمزگشایی
0: AR < PC (S,8,S,=010, TO=1)
۲1: ۱8 > ۱۷ ]۵8[, ۳6۰ ۴6 +1 (S0S1S2=114, T1=1)
72: DO, ..., D7 < Decode IR(12-14), AR < IR(0-11), 1 <—1R(15)
11
To
صفحه 29:
تعيين نوع دستور العمل
AR < MAR]
Nothing
Execute a register-reference instr.
Execute an input-output instr.
15 MAR] Poe Port
Decode Opcode in IR(12-14),
AR <= IR(O-11), 1 IR(18)
= 0 (direct)
Execute Execute لعفلل كعم
input-output ference
3666 14
cut
memory-reference
‘instruction
sc co
صفحه 30:
دستورات انتقال ثبات ها
r=D;I'T, => Register Reference Instruction
B, = IR(i) , 1=0,1,2,...,11
۳ 50-0
CLA | 1B, ۸0۰-0
CLE | يه E<0
CMA | 86 AC AC’
0۶| ۰ Eee
CIR | 1B, AC < shrAC, AC(15) < E, E< AC(0)
CIL | 1B, ۸۵۵ > 50۱ ۸6, AC() < E, E < AC(15)
INC ۰ AC<AC+1
SPA | 1B, if (AC(15) = 0) then (PC < PC+1)
SNA | 1B, if (AC(15) = 1) then (PC < PC+1)
SZA | 1B, if (AC = 0) then (PC + PC+1)
SZE | 1B, if (E = 0) then (PC < PC+1)
HLT | 1B, S <0 (Sisa start-stop flip-flop)
صفحه 31:
دستورات ارجاع به حافظه (۱)
‘Symbolic Description
AC <— ACA MAR]
AC « AC + MAR], E<C,
AC < MAR]
MIAR] — AC
PC< AR
MIAR] <— PC, PC AR +1
MIAR] — MIAR] + 14, if MAR] + 1=0 then PC < PC#+1
Operation
Decoder
Dy
0
صفحه 32:
دستورات ارجاع به حافظه (۲)
AND to AC
D,T,; DR < MAR]
Dols: ۸۰ نوهو يتاناعم
ADD to AC
نيترم DR <— MAR]
DT; AC<AC+DR,E< Cy, 5604-0
LDA: Load to AC
D,T,; DR« MIAR]
0-+08,50 04م نواوم
STA: Store AC
Dy; M[AR]< AC, SC <0
BUN: Branch Unconditionally
D,Ty; PO<AR,SC <0
صفحه 33:
دستورات ارجاع به حافظه (۳)
BSA:
Branch and Save Return Address
MAR] < PC, PC < AR +14
نكيم MIAR]<PC, ARC AR+1
نووم PC <-AR, SC <0
Memory, PC, AR at time T4 Memory, PC after execution
20 [0 35۸ 135 20]0 858 136
21 | Next instruction
Po =21 [Next instruction
135 21
136 هم
[Subroutine pc=136[ Subroutine 136
1 BUN 138 1 BUN 135
Memory
Memory
صفحه 34:
دستورات ارجاع به حافظه (۴)
152: ۱۳۵۲۵۳۲۵۴۲ ۵00 5۱00
DT 08 ۰۸
Dgl,; DR<«<DR+1
D;T,: M[AR] < DR, if (DR=0)then (PC < PC +1), SC<-0
صفحه 35:
دستورات ارجاع به حافظه (۵)
Memory-reference instruction
ost,
MIAR] < AC’
Sco
صفحه 36:
ثبات ورودی (WR)
* فلیپ فلاپ ورودی یک بیتی PB
- در ایتدا مقدار صفر دارد.
* زمانی که کلیدی روی صفحه کلید فشرده می شود
- یک کد ۸ بیتی عدد-حرف به ثبات 166۳4٩ منتقل مى
شود.
- يرجم ورودى ۲6۶۱ یک می شود.
- ورودی دیگری از صفحه کلید پذیرفته نمی شود.
٠ كا ۲ را کنترل می کند. اگر یک بود
- انتقال بصورت موازى از 1000008 به (96) انجام می شود.
-90)*) صفر مىشود.
- حالا می توان ورودی های دیگری از صفحه کلیدپذیرفت.
مد
صفحه 37:
ثبات خروجی (00/۳6)
* فلیپ فلاپ یک بیتی خروجی PGO
- در ابتدا صفر است.
* کامپیوتر ۴66 را کنترل می کند. اگر يك بود
- اطلاعات بصورت موازی از 90) به Jato OOTR 2(
شود.
- (۲6) صفر میشود.
- خروجی دیگری از کامپیوتر قابل ارسال نمی باشد.
* وسیله خروجی کاراکتر ۸ بیتی را دریافت می کند.
- (6*) یکمیشود.
- در اين لحظه امکان ارسال خروجی جدید وجود دارد.
صفحه 38:
سازمان ورودی خروجی
Serial registers and
Input-output communication Computer
ferminal interface fiip-tlops
Receiver
Printer [+ interface |* LOUTR I] [GO|
AC
*
Transmitter
Keyboard |———*| interface | | ۱۷۴۶ ۱ [ect
—— Serial Communications Path
——> Parallel Communications Path
96
صفحه 39:
دستورات ورودی خروجی
Input char. to AC
Output char. from AC
Skip on input flag
Skip on output flag
Interrupt enable on
Interrupt enable off
‘AC(0-7) < INPR, FG! <0
OUTR < AC(0-7), FGO <0
if(FGI = 1) then (PC < PC + 1)
PC +1)
if(FGO = 1) then (PC «
۱۱۰1
۱۴۱۰0
28
و25
PBs
وهم
رقم
PB,
صفحه 40:
فعال سازی وقفه (160)
۴ کنترل مداوم PB 9 ۳۵6۵) توسط کامپیوتر زمان
را تلف می کند.
۴ با استفاده از IED هر زمان که نیازی به کنترل
ورودی و خروجی باشد. به وی اطلاع داده می شود.
در خلال اجرای دستور. در صورتی که 4*09 پا
00500 صفر باشدء مقدار *) یک می شود.
وقفه در زمانى رخ می دهد که کامپیوتر خواسته
باشد دستور بعدى را واكشى نمايد.
- اكر R=O باشد. اجرای دستور انجام می گیرد.
- اگر )٩26 باشد. اجرای وقفه انجام می گیرد.
eo
صفحه 41:
نمودار گردشی وقفه
R= Interrupt fit
cycle
Fetch and decode ‘Store return address
instructions in location
Mio] < PC
Branch to location 4
صفحه 42:
مثالی از چرخه وقفه
Main
Program
vo
Program
1
Before interrupt
Program
vo
Program
N 0
صفحه 43:
چرخه وقفه
۶ شرط مقدار دهی ؟) به یک
T,'T,'T,’ (IEN)(FGI + FGO): Re1
تغيير یافته مرحله واکشی که جهت سرویس دهی
به وقفه بکار می رود.
AR<0, TRE PC و8
RT; M[IAR]<- TR, PC <0
RT,, PC<PC#1, ENC 0, Re 0,SC<0
صفحه 44:
صفحه 45:
نیاز های سخت افزاری برای طراحی
کامپیوتر پایه
۶ یک واحد حافظه متشکل از ۴۰۹۶ کلمه ۱۶ بیتی
تبات هاى
@PR,PC,OR,CC AR, TR, OOTR,1VDPR,GO —
۰ فلیپ فلاپ های وضعیت
,۳۵۶۱ ,۱,8,۶
۶ رمز گشا
- یک رمز گشای ۳ به ۸ برای کد دستورها
- یک رمزگشای ۴ به ۱۶ برای زمانبندی
* دروازه های منطقی کنترلی
٠ جمع کننده و مدار منطقی
- به ثیات انباره متصل مى شود.
صفحه 46:
ورودی های دروازه های منطقی کنترل
دو رمز گشا
< ۸ بیت دستور العمل و ۱۶ بیت خروجی ترتیب شمار
۴ هفت فلیپ فلاپ 1,6,6,8,160,PG1,PGO
* بیت های ه تا ۱۱ تبات دستور العمل
* بيت های ه تا ۱۵ ثبات انباره
- براى كنترل صفر بودن ثبات و كنترل بيت علامت
* ببت های ه تا ۱۵ ثبات داده
- براى كنترل صفر بودن ثبات
صفحه 47:
خروجی های دروازه های منطقی کنترل
ورودی های کنترلی ٩ ثبات
* خطوط کنترلی خواندن و نوشتن حافظه
* یک . صفر یا متمم کردن مقدار فلیپ فلاپ ها
خطوط ,3,9,9 جهت انتخاب یک ثبات برای
دسترسی به گذرگاه
* کنترل جمع کننده و مدار منطقی انباره
صفحه 48:
دروازه های کنترلی ثبات ؟06)
* ورودی های کنترلی ثبات : ۵,163,668
* تمام دستوراتی مقدار 068) را تغییر می دهند
D(AR) 56
R(0-11) LD(AR)
MIAR]___LD(AR)
CLR(AR)
INR(AR)
2۳
AR <
AR<
AR<0
AR<AR+1
LD(AR) = R'Ty + RT) + D'7ITs
ریب at
INRUAR 5 بل
صفحه 49:
دروازه های کنترلی ثبات آدرس
eo
صفحه 50:
25 » ۱80۳۱1۱۱8۲۵
D...D. < Decode IR(12 ~ 14)
00
=A(Indir)
03
صفحه 51:
دروازه های کنترلی فلیپ فلاپ 1-00
Instruction ۱/۵) 1 > لاعا .رقم
IEN < 0 (I/O Instruction :86
RT,: IEN <0 (Interrupt)
p =D,IT, (Input/Output Instruction)
ea
صفحه 52:
5
2 Multiplexer
bus select
inputs
صفحه 53:
مدار مرتبط با ثبات انباره
Adder and
From DR log
circuit To bus
Control
gates
صفحه 54:
دستوارت تاثیر گذار روی مقدار ثبات
انباره
907: [ ۸6 + ACADR AND with DR
9,۲: | 0ك > ۸6 + Add with DR
DpT,: | AC + DR Transfer from DR
pBy,: | AC(0-7) << INPR Transfer from INPR
:وق AC< AC’ Complement
۲8, : | AC < shr AC, AC(15) < E| Shift right
۲8 : | AC< shi AC, AC(0)<-E | Shift left
۲8, : 6*۷0 Clear
Increment +۰ ۸6| : و۲8
صفحه 55:
د اره ها کنترلی ثبا نباره
روار ى > >
ات |
J
صفحه 56:
دروازه های کنة
1 از ی کنترلی واحد جمع کننده
صفحه 57: