View
116
Download
0
Category
Preview:
DESCRIPTION
معماری کامپیوتر. دانشگاه آزاد اسلامی واحد پرند. نیمسال دوم 92-93. معماری کامپیوتر. دانشگاه آزاد اسلامی واحد پرند. انتقال ثبات ها و ریزعمل ها. مطالب این فصل. زبان انتقال ثبات انتقال ثبات انتقال حافظه و گذرگاه ريزعملها ریز عملهاي حسابي ريزعملهاي منطقي ريزعملهاي شيفت - PowerPoint PPT Presentation
Citation preview
معماری کامپیوتر
93-92نیمسال دوم
دانشگاه آزاد اسالمی واحد پرند
دانشگاه آزاد اسالمی واحد پرندمعماری کامپیوتر
انتقال ثبات ها و ریزعمل ها
مطالب این فصل
زبان انتقال ثبات•انتقال ثبات•انتقال حافظه و گذرگاه•ريزعمل ها•
ریز عمل هاي حسابي•ريزعمل هاي منطقي•ريزعمل هاي شيفت•
واحد حساب، منطق، شیفت•
سیستم دیجیتالی ساده
معرفي شده اند( 2 و 1مدارات ترتيبي و ترکيبي )که در فصل •مي توانند براي ساختن سيستم هاي ديجيتالي ساده استفاده
شونداين مدارات واحدهاي سازنده سطح پايين يک کامپيوتر –
ديجيتال هستند.
سيستم هاي ديجيتالي ساده معموال با موارد زير شناخته •مي شوند:
ثبات هايي که در سيستم موجود است.–ها انجام مي دهند. عملياتي که اين ثبات ها بر داده–
براي شناسايي يک سيستم بايد بدانيم:•چه عملياتي روي داده های داخل ثبات ها انجام مي شود.– چه اطالعاتي بين ثبات ها منتقل مي شود. –
سیستم دیجیتال: ریزعمل و داده
ريز عمل عملياتي که روي داده ها در ثبات ها انجام مي شود •ناميده مي شود.
عمليات داخلي ثبات ها نمونه هايي از ريزعمل ها هستند. •Shiftشيفت –Loadبار کردن –Clearپاک کردن –Increment اضافه کردن ––...
يک يا چند يک عمليات پايه که روي داده هاي ذخيره شده در •انجام مي شود ريزعمل نام طي يک پالس ساعت در ثبات دارد.
سیستم دیجیتال: سازمان داخلی
( داخلي کامپيوتر با موارد زير تعريف organizationسازمان )•مي شود:
ها و وظایف آن ثبات ها مجموعه ريزعمل ها مجموعه که ترتيب ريزعمل ها را مشخص کنترليسيگنال هاي
مي کنند
زبان انتقال ثبات
انتقال• بیان برای استفاده مورد سYYمبلیک بیان های نحوه ها ریزعملی بین ثباتناميده مي شود.زبان انتقال ثبات
سخت منطقYی مدارات وجود بیانگYر ثبات« »انتقال اصYطالح توانYد یYک ریزعمYل را اجرا کنYد و نتیجYه را به 2افزاری اسYت کYه می )در چند اسالید بعد خواهیم دید..(یک ثبات منتقل کند.
ریزعمل : سمبل )در زبان( : سخت افزارثبات• انتقال از زبان ترتيب هYر دادن نشان براي مي توانYد
ريزعمل ها مورد استفاده قرار گيرد. زبان انتقال ثبات:•
يک زبان سمبوليک است.–يک ابزار آسان براي شرح سازمان داخلي کامپيوترهاي ديجيتال است. –فرايند طراحي سيستم هاي ديجيتال را تسهيل مي کند. –
نام گذاری ثبات ها
ثبات ها• با حروف بزرگ نامگذاري مي شوند. گاهي اوقات پس از معموالاسم آن ها اعداد قرار
(. A, R13, IR) مي گيرد مثال:اغلب نام ها نشان دهنده کاري است که در آن ثبات انجام مي شود•
– MAR - memory address register– PC - program counter– IR - instruction register
ثبات ها و محتواي آنها به طور نمادين مي تواند به صورت هاي زير ديده •شود:
به صورت يک موجوديت واحد–با نشان دادن بيت هاي ثبات –
R1 Register
Numbering of bits
Showing individual bits
SubfieldsPC(H) PC(L)
15 8 7 0
7 6 5 4 3 2 1 0
R215 0
انتقال ثبات
نام انتقال ثبات کپي شدن اطالعات يک ثبات به ثبات ديگردارد.
:يک انتقال ثبات به شکل زير نشان داده مي شودR2 R1
در حالت انتقال منتقل مي شود.R2 به R1 محتواي ثبات •انتقال در يک پالس ساعت انجام مي شود. • تغيير نمي کند.R1محتواي •
الزمه انتقال ثباتR2 به R1خطوط انتقال از •R2بار شدن موازي در •خطوط کنترل الزم براي انجام عمليات•
انتقال ثبات: با کنترل
اغلYب اوقات عمليات فقYط زمانYي کYه يک شرط خاص برقرار •باشد بايد اجرا شوند.
در زبان هاي برنامه نويسي است.ifاين مساله شبيه •
Controlدر سYيستم هاي ديجيتال شرط بYا يYک سYيگنال کنترلي )•Signal).يا تابع کنترلي انجام مي شود
تابع کنترلي به شکل زير نشان داده مي شود:•
P: R2 R1
انجام R2 به R1 بود انتقال از1برابر P بديYن معنYي کYه اگYر:شود. يا
if (P = 1) then (R2 R1)
Aانتقال ثبات: مدار سخت افزاری
P: R2 R1
بلوک دياگرام
دياگرام زمان بندي
Clock
Transfer occurs here
R2
R1
Control Circuit
LoadP
n
Clock
Load
t t+1
فرض مي شود است که ثبات ها حساس به لبه مثبت هستند•
انتقال ثبات: همزمانی چند عمل
:اگر تعداد دو يا بيشتر عمليات همزمان انجام شودآن ها را با کاما )،( از هم جدا مي کنيم
P: R3 R5,, MAR IR
در اينجا اگرP=1 باشد، به طور همزمان انتقاالت زیر انجام می شود:
R5 به R3 IR به MAR
انتقال ثبات: خالصه دستورالعمل ها
سمبل توضیح مثالحروف )و
ارقام(یک ثبات را مشخص می
کند MAR R2
پرانتز بخشی از یک ثبات را مشخص می کند
R2(0-7) R2(L)
پیکان انتقال اطالعات را مشخص می کند
R2 R1
کاما دو ریز عمل را از هم جدا می کند
R2 R1 , R1 R2
انتقال گذرگاهی: ارتباط بین ثبات ها
های زیاد در کامپیوتر دیجیتال وجود ثباتنیاز به مسیرهای انتقال اطالعات
خYط ارتباطي n(n-1) ثبات بYه يکديگYر بYه nبراي اتصYال •نياز است.
O(n2)هزينه: •براي سيستم هاي با تعداد ثبات زياد عملي نيست–
راه حل: •اسYتفاده از يYک مجموعYه مدار متمرکYز )متشکYل از یک •
براي (bus)گذرگاه مشترک گروه از سYیم هYا( به نام انتقال اطالعات
نیاز بYه مدارهاي کنترلYي براي تعييYن اینکه کدام ثبات، •ثبات منبع و کدام ثبات مقصد است
ساخت سیستم انتقال گذرگاهی: گذرگاه مشترک
استفاده از مالتی پلکسراستفاده از بافر سه حالته
نمایش انتقال ثبات از طريق گذرگاه•وجود گذرگاه به طور ضمنی•
بیان وجود به طور صریح•R2 R1
BUS R1, R2 BUS
انتقال گذرگاهی: مالتی پلکسر
راه اول ساخت سیستم گذرگاه مشترکاستفاده از مالتی پلکسرسیستم گذرگاه مشترک برای چهار ثبات چهار بیتیk ثبات n : بیتی n مالتی پلکسر k:1
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4Register A Register B Register C Register D
B C D1 1 1
4 x1MUX
B C D2 2 2
4 x1MUX
B C D3 3 3
4 x1MUX
B C D4 4 4
4 x1MUX
4-line bus
xy
0 0 0 0
BUS R از يک ثبات به گذرگاه:
A B C D
Bus lines
y x Reg0 0 A0 1 B1 0 C1 1 D
انتقال گذرگاهی: بافر سه حالته
راه دوم ساخت سیستم گذرگاه مشترک استفاده از بافر سه حالته: امکان اتصال خروجی گیت های
سه حالته
استفاده از دیکدردر هر لحظه فقط یک ورودی فعال است•
Output Y=A if C=1
High-impedence if C=0Control input C
Normal input A
SelectEnable
0123
S0S1
A0B0C0D0
Bus line for bit 0
ای انتقال حافظه
حافظه مداري شامل تعدادي ثبات( RAM)حافظه•.را تشکيل مي دهد( word )هر ثبات يک کلمه•هر ثبات با يک آدرس مشخص مي شود.• مي باشد.r-1 تا0 ثبات آدرس دهي از rبراي • بيت را ذخيره کند.nهر ثبات )کلمه( مي تواند • کلمه به موارد زير نياز دارد:r = 2k با RAMيک •
–nخط داده ورودي –nخط داده خروجي –kخط آدرس يک خط کنترل خواندن–يک خط کنترل نوشتن–
data input lines
data output lines
n
n
kaddress lines
Read
Write
RAMunit
ای انتقال حافظه
نشان داده مي شود.Mدر سطح انتقال ثبات کYلمه حافظه به صورت نماد •چون يک حافظه شامل چندين آدرس مختلف است، بايد جاي مورد نظر در •
حافظه مشخص شود.در سيستم هاي کامپيوتري براي دستيابي به حافظه، آدرس دلخواه در يک •
ثبات مشخص قرار داده مي شود. ناميده مي شود. (AR یا MAR) Memory Address Registerاين ثبات • به عنوان آدرس روي ARوقتي حافظه دستيابي مي شود، محتواي •
خطوط آدرس حافظه مورد استفاده قرار مي گيرد.
AR Memoryunit
Read
Write
Data inData out
خواندن از حافظهای: انتقال حافظه
براي خواندن از يک کلمه حافظه زبان انتقال ثبات به شکل •زیر است:
براي انجام مثال فوق اعمال زير انجام مي پذيرد:•
روي خطوط آدرس فرستاده مي شود.ARمحتواي – به واحد حافظه فرستاده مي شود. Read (= 1)سيگنال –محتواي آدرس مشخص شده روي خطوط داده قرار –
مي گيرد. منتقل مي شود.R1اين مقدار از گذرگاه به ثبات –
R1 M[AR]
نوشتن در حافظهای: انتقال حافظه
براي خواندن از يک کلمه حافظه زبان انتقال ثبات به شکل •زیر است:
براي انجام مثال فوق اعمال زير انجام مي پذيرد:•
روي خطوط آدرس فرستاده مي شود. ARمحتواي – به واحد حافظه فرستاده مي شود. write (= 1)سيگنال – به گذرگاه منتقل مي شود.R1اين مقدار ثبات –مقدار به محل مشخص شده در حافظه منتقل مي شود.–
M[AR] R1
ریزعمل ها: انواع
ريزعمل هاي انتقال ثباتريزعمل هاي حسابيريزعمل هاي منطقيريزعمل هاي شيفت
ریزعمل ها : ریزعمل های حسابی
ریز عمل های پایهجمع تفريقافزايش يک واحديک واحد Yنمادکاهش برخی ریزعمل های
متداولR3 R1 + R2 جمعR3 R1 - R2 تفريق R2 R2’ R2 مکمل يک R2 R2’+ 1 R2 مکمل دوR3 R1 + R2’+ 1 تفريق R1 R1 + 1 افزايش يک واحد R1 R1 – 1 کاهش يک واحد
ریزعمل ها : ریزعمل های حسابی
FA
B0 A0
S0
C0FA
B1 A1
S1
C1FA
B2 A2
S2
C2FA
B3 A3
S3
C3
C4
Binary Adder-Subtractorجمع کننده-تفريق کننده دودويي
FA
B0 A0
S0
C0C1FA
B1 A1
S1
C2FA
B2 A2
S2
C3FA
B3 A3
S3C4
M
Binary Incrementerفزايشگر دودوييا HA
x y
C S
A0 1
S0
HAx y
C S
A1
S1
HAx y
C S
A2
S2
HAx y
C S
A3
S3C4
Binary Adderجمع کننده دودويي
ریزعمل ها : ریزعمل های حسابی
مدار عملیات حسابیS1S00123
4x1MUX
X0
Y0
C0
C1D0FA
S1S00123
4x1MUX
X1
Y1
C1
C2D1FA
S1S00123
4x1MUX
X2
Y2
C2
C3D2FA
S1S00123
4x1MUX
X3
Y3
C3
C4D3FA
Cout
A0
B0
A1
B1
A2
B2
A3
B3
0 1
S0S1Cin
s1 s0 cin y output Micro Opretation
0 0 0 B D = A + B Add0 0 1 B D = A + B + 1 Add with carry0 1 0 B’ D = A + B’ Subtract with borrow0 1 1 B’ D = A + B’+ 1 Subtract1 0 0 0 D = A Transfer A 1 0 1 0 D = A + 1 Increment A1 1 0 1 D = A - 1 Decrement A1 1 1 1 D = A Transfer A
ریزعمل ها : ریزعمل های منطقی
که عمليات دودويي را روي رشته اي از بيت هاي ريزعمل هايي ثبات انجام مي دهند.
: عمليات منطقيbit-wise روي يک بيت داده کار مي کنند : مثال در يک ثبات هشت بيتي وقتي –
انجام مي شود روي هر بيت به طور مستقل انجام مي notعمل شود.
عمليات منطقي براي دستکاري بيتيbit manipulations) ) داده استفاده می شود.
16عمليات متفاوت منطقي روي دو متغير دودويي .بيشتر سيستم ها فقط چهار عمل زير را پياده سازي مي کنند
AND (), OR (), XOR (), Complement/NOT عمليات ديگر مي توانند با استفاده از اين چهار ريزعمل ساخته
شوند.0 0 0 0 0 … 1 1 10 1 0 0 0 … 1 1 11 0 0 0 1 … 0 1 11 1 0 1 0 … 1 0 1
A B F0 F1 F2 … F13 F14 F15
ریزعمل ها : ریزعمل های منطقی
تابع بر روی دو متغير دودويي16جدول ارزش براي
ریزعمل ها : ریزعمل های منطقی
پیاده سازی سخت افزاری
0 0 F = A B AND0 1 F = AB OR1 0 F = A B XOR1 1 F = A’ Complement
S1 S0 Outputجدول توابع
BA
SS
F
10
i
ii 0
1
2
3
4 X 1MUX
Select
Micro-operation
ریزعمل ها : ریزعمل های شیفت
شيفت منطقيشيفت چرخشيشيفت حسابي
تفاوت در بیت ورودیSerialinput
Serialinput
شیفت به راست
شیفت به چپ
ریزعمل ها : شیفت منطقی
در شیفت منطقی بیت ورودی سریال صفر است
در زبان انتقال ثبات
–shl شيفت منطقي به چپR2 shl R2– shr شيفت منطقي به راستR3 shr R3
0
0
ریزعمل ها : شیفت چرخشی
در شیفت چرخشی بيت ورودي سريال، بيت خروجي از سمتديگر ثبات است
در زبان انتقال ثبات
–cil شيفت چرخشی به چپR2 cil R2– cir شيفت چرخشی به راستR3 cir R3
ریزعمل ها : شیفت حسابی
شيفت حسابي• براي اعداد عالمت دار معني دار است.• ضرب مي کند.2شیفت به چپ: عدد درون ثبات را در • تقسيم مي کند.2شیفت به راست: عدد درون ثبات را بر •
مهمترين ويژگي:•به هنگام شيفت )ضرب و تقسيم( عالمت ثبات را حفظ مي کند.•
0
signbit
signbit
ریزعمل ها : شیفت حسابی
شيفت حسابي به چپ•overflowکنترل مساله •
در زبان انتقال ثبات
–ashl شيفت حسابی به چپR2 ashl R2– ashr شيفت حسابی به راستR3 ashr R3
0
Vاگر قبل از شيفت مقدار دو بيت آخر.متفاوت باشد، سرريز رخ داده است
signbit
ریزعمل ها: ریزعمل های شیفت
پیاده سازی سخت افزاریS01
H0MUX
S01
H1MUX
S01
H2MUX
S01
H3MUX
Select شيفت به راست )پايين( 0چپ )باال(شيفت به 1
Serialinput (IR)
A0
A1
A2
A3
Serialinput (IL)
S H0 H1 H2 H3
0 IR A0 A1 A2
1 A1 A2 A3 IL
واحد حساب، منطق، شیفت
S3 S2 S1 S0 Cin عمليات توضيح0 0 0 0 0 F = A Transfer A0 0 0 0 1 F = A + 1 Increment A0 0 0 1 0 F = A + B Addition0 0 0 1 1 F = A + B + 1 Add with carry0 0 1 0 0 F = A + B’ Subtract with borrow0 0 1 0 1 F = A + B’+ 1 Subtraction0 0 1 1 0 F = A - 1 Decrement A0 0 1 1 1 F = A TransferA0 1 0 0 X F = A B AND0 1 0 1 X F = A B OR0 1 1 0 X F = A B XOR0 1 1 1 X F = A’ Complement A1 0 X X X F = shr A Shift right A into F1 1 X X X F = shl A Shift left A into F
واحدحسابي
واحدمنطقي
C
C 4 x 1مالتي پلکسر
Select
0123
F
S3S2S1S0
BA
i
A
D
A
E
shrshl
i+1 i
ii
i+1i-1
i
i
Recommended