معماری کامپیوتر

35
ر ت و ی پ م ماری کا ع م سال دوم م ی ن92 - 93 د "رن ت ی واحد م لا س اد ا ه ا*را گ- ش ن دا

Upload: marius

Post on 07-Feb-2016

116 views

Category:

Documents


0 download

DESCRIPTION

معماری کامپیوتر. دانشگاه آزاد اسلامی واحد پرند. نیمسال دوم 92-93. معماری کامپیوتر. دانشگاه آزاد اسلامی واحد پرند. انتقال ثبات ها و ریزعمل ها. مطالب این فصل. زبان انتقال ثبات انتقال ثبات انتقال حافظه و گذرگاه ريزعمل‌ها ریز عمل‌هاي حسابي ريزعمل‌هاي منطقي ريزعمل‌هاي شيفت - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: معماری کامپیوتر

معماری کامپیوتر

93-92نیمسال دوم

دانشگاه آزاد اسالمی واحد پرند

Page 2: معماری کامپیوتر

دانشگاه آزاد اسالمی واحد پرندمعماری کامپیوتر

انتقال ثبات ها و ریزعمل ها

Page 3: معماری کامپیوتر

مطالب این فصل

زبان انتقال ثبات•انتقال ثبات•انتقال حافظه و گذرگاه•ريزعمل ها•

ریز عمل هاي حسابي•ريزعمل هاي منطقي•ريزعمل هاي شيفت•

واحد حساب، منطق، شیفت•

Page 4: معماری کامپیوتر

سیستم دیجیتالی ساده

معرفي شده اند( 2 و 1مدارات ترتيبي و ترکيبي )که در فصل •مي توانند براي ساختن سيستم هاي ديجيتالي ساده استفاده

شونداين مدارات واحدهاي سازنده سطح پايين يک کامپيوتر –

ديجيتال هستند.

سيستم هاي ديجيتالي ساده معموال با موارد زير شناخته •مي شوند:

ثبات هايي که در سيستم موجود است.–ها انجام مي دهند. عملياتي که اين ثبات ها بر داده–

براي شناسايي يک سيستم بايد بدانيم:•چه عملياتي روي داده های داخل ثبات ها انجام مي شود.– چه اطالعاتي بين ثبات ها منتقل مي شود. –

Page 5: معماری کامپیوتر

سیستم دیجیتال: ریزعمل و داده

ريز عمل عملياتي که روي داده ها در ثبات ها انجام مي شود •ناميده مي شود.

عمليات داخلي ثبات ها نمونه هايي از ريزعمل ها هستند. •Shiftشيفت –Loadبار کردن –Clearپاک کردن –Increment اضافه کردن ––...

يک يا چند يک عمليات پايه که روي داده هاي ذخيره شده در •انجام مي شود ريزعمل نام طي يک پالس ساعت در ثبات دارد.

Page 6: معماری کامپیوتر

سیستم دیجیتال: سازمان داخلی

( داخلي کامپيوتر با موارد زير تعريف organizationسازمان )•مي شود:

ها و وظایف آن ثبات ها مجموعه ريزعمل ها مجموعه که ترتيب ريزعمل ها را مشخص کنترليسيگنال هاي

مي کنند

Page 7: معماری کامپیوتر

زبان انتقال ثبات

انتقال• بیان برای استفاده مورد سYYمبلیک بیان های نحوه ها ریزعملی بین ثباتناميده مي شود.زبان انتقال ثبات

سخت منطقYی مدارات وجود بیانگYر ثبات« »انتقال اصYطالح توانYد یYک ریزعمYل را اجرا کنYد و نتیجYه را به 2افزاری اسYت کYه می )در چند اسالید بعد خواهیم دید..(یک ثبات منتقل کند.

ریزعمل : سمبل )در زبان( : سخت افزارثبات• انتقال از زبان ترتيب هYر دادن نشان براي مي توانYد

ريزعمل ها مورد استفاده قرار گيرد. زبان انتقال ثبات:•

يک زبان سمبوليک است.–يک ابزار آسان براي شرح سازمان داخلي کامپيوترهاي ديجيتال است. –فرايند طراحي سيستم هاي ديجيتال را تسهيل مي کند. –

Page 8: معماری کامپیوتر

نام گذاری ثبات ها

ثبات ها• با حروف بزرگ نامگذاري مي شوند. گاهي اوقات پس از معموالاسم آن ها اعداد قرار

(. 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

Page 9: معماری کامپیوتر

انتقال ثبات

نام انتقال ثبات کپي شدن اطالعات يک ثبات به ثبات ديگردارد.

:يک انتقال ثبات به شکل زير نشان داده مي شودR2 R1

در حالت انتقال منتقل مي شود.R2 به R1 محتواي ثبات •انتقال در يک پالس ساعت انجام مي شود. • تغيير نمي کند.R1محتواي •

الزمه انتقال ثباتR2 به R1خطوط انتقال از •R2بار شدن موازي در •خطوط کنترل الزم براي انجام عمليات•

Page 10: معماری کامپیوتر

انتقال ثبات: با کنترل

اغل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)

Page 11: معماری کامپیوتر

Aانتقال ثبات: مدار سخت افزاری

P: R2 R1

بلوک دياگرام

دياگرام زمان بندي

Clock

Transfer occurs here

R2

R1

Control Circuit

LoadP

n

Clock

Load

t t+1

فرض مي شود است که ثبات ها حساس به لبه مثبت هستند•

Page 12: معماری کامپیوتر

انتقال ثبات: همزمانی چند عمل

:اگر تعداد دو يا بيشتر عمليات همزمان انجام شودآن ها را با کاما )،( از هم جدا مي کنيم

P: R3 R5,, MAR IR

در اينجا اگرP=1 باشد، به طور همزمان انتقاالت زیر انجام می شود:

R5 به R3 IR به MAR

Page 13: معماری کامپیوتر

انتقال ثبات: خالصه دستورالعمل ها

سمبل توضیح مثالحروف )و

ارقام(یک ثبات را مشخص می

کند MAR R2

پرانتز بخشی از یک ثبات را مشخص می کند

R2(0-7) R2(L)

پیکان انتقال اطالعات را مشخص می کند

R2 R1

کاما دو ریز عمل را از هم جدا می کند

R2 R1 , R1 R2

Page 14: معماری کامپیوتر

انتقال گذرگاهی: ارتباط بین ثبات ها

های زیاد در کامپیوتر دیجیتال وجود ثباتنیاز به مسیرهای انتقال اطالعات

خYط ارتباطي n(n-1) ثبات بYه يکديگYر بYه nبراي اتصYال •نياز است.

O(n2)هزينه: •براي سيستم هاي با تعداد ثبات زياد عملي نيست–

راه حل: •اسYتفاده از يYک مجموعYه مدار متمرکYز )متشکYل از یک •

براي (bus)گذرگاه مشترک گروه از سYیم هYا( به نام انتقال اطالعات

نیاز بYه مدارهاي کنترلYي براي تعييYن اینکه کدام ثبات، •ثبات منبع و کدام ثبات مقصد است

Page 15: معماری کامپیوتر

ساخت سیستم انتقال گذرگاهی: گذرگاه مشترک

استفاده از مالتی پلکسراستفاده از بافر سه حالته

نمایش انتقال ثبات از طريق گذرگاه•وجود گذرگاه به طور ضمنی•

بیان وجود به طور صریح•R2 R1

BUS R1, R2 BUS

Page 16: معماری کامپیوتر

انتقال گذرگاهی: مالتی پلکسر

راه اول ساخت سیستم گذرگاه مشترکاستفاده از مالتی پلکسرسیستم گذرگاه مشترک برای چهار ثبات چهار بیتی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

Page 17: معماری کامپیوتر

انتقال گذرگاهی: بافر سه حالته

راه دوم ساخت سیستم گذرگاه مشترک استفاده از بافر سه حالته: امکان اتصال خروجی گیت های

سه حالته

استفاده از دیکدردر هر لحظه فقط یک ورودی فعال است•

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

Page 18: معماری کامپیوتر

ای انتقال حافظه

حافظه مداري شامل تعدادي ثبات( 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

Page 19: معماری کامپیوتر

ای انتقال حافظه

نشان داده مي شود.Mدر سطح انتقال ثبات کYلمه حافظه به صورت نماد •چون يک حافظه شامل چندين آدرس مختلف است، بايد جاي مورد نظر در •

حافظه مشخص شود.در سيستم هاي کامپيوتري براي دستيابي به حافظه، آدرس دلخواه در يک •

ثبات مشخص قرار داده مي شود. ناميده مي شود. (AR یا MAR) Memory Address Registerاين ثبات • به عنوان آدرس روي ARوقتي حافظه دستيابي مي شود، محتواي •

خطوط آدرس حافظه مورد استفاده قرار مي گيرد.

AR Memoryunit

Read

Write

Data inData out

Page 20: معماری کامپیوتر

خواندن از حافظهای: انتقال حافظه

براي خواندن از يک کلمه حافظه زبان انتقال ثبات به شکل •زیر است:

براي انجام مثال فوق اعمال زير انجام مي پذيرد:•

روي خطوط آدرس فرستاده مي شود.ARمحتواي – به واحد حافظه فرستاده مي شود. Read (= 1)سيگنال –محتواي آدرس مشخص شده روي خطوط داده قرار –

مي گيرد. منتقل مي شود.R1اين مقدار از گذرگاه به ثبات –

R1 M[AR]

Page 21: معماری کامپیوتر

نوشتن در حافظهای: انتقال حافظه

براي خواندن از يک کلمه حافظه زبان انتقال ثبات به شکل •زیر است:

براي انجام مثال فوق اعمال زير انجام مي پذيرد:•

روي خطوط آدرس فرستاده مي شود. ARمحتواي – به واحد حافظه فرستاده مي شود. write (= 1)سيگنال – به گذرگاه منتقل مي شود.R1اين مقدار ثبات –مقدار به محل مشخص شده در حافظه منتقل مي شود.–

M[AR] R1

Page 22: معماری کامپیوتر

ریزعمل ها: انواع

ريزعمل هاي انتقال ثباتريزعمل هاي حسابيريزعمل هاي منطقيريزعمل هاي شيفت

Page 23: معماری کامپیوتر

ریزعمل ها : ریزعمل های حسابی

ریز عمل های پایهجمع تفريقافزايش يک واحديک واحد Yنمادکاهش برخی ریزعمل های

متداولR3 R1 + R2 جمعR3 R1 - R2 تفريق R2 R2’ R2 مکمل يک R2 R2’+ 1 R2 مکمل دوR3 R1 + R2’+ 1 تفريق R1 R1 + 1 افزايش يک واحد R1 R1 – 1 کاهش يک واحد

Page 24: معماری کامپیوتر

ریزعمل ها : ریزعمل های حسابی

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جمع کننده دودويي

Page 25: معماری کامپیوتر

ریزعمل ها : ریزعمل های حسابی

مدار عملیات حسابی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

Page 26: معماری کامپیوتر

ریزعمل ها : ریزعمل های منطقی

که عمليات دودويي را روي رشته اي از بيت هاي ريزعمل هايي ثبات انجام مي دهند.

: عمليات منطقي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

Page 27: معماری کامپیوتر

ریزعمل ها : ریزعمل های منطقی

تابع بر روی دو متغير دودويي16جدول ارزش براي

Page 28: معماری کامپیوتر

ریزعمل ها : ریزعمل های منطقی

پیاده سازی سخت افزاری

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

Page 29: معماری کامپیوتر

ریزعمل ها : ریزعمل های شیفت

شيفت منطقيشيفت چرخشيشيفت حسابي

تفاوت در بیت ورودیSerialinput

Serialinput

شیفت به راست

شیفت به چپ

Page 30: معماری کامپیوتر

ریزعمل ها : شیفت منطقی

در شیفت منطقی بیت ورودی سریال صفر است

در زبان انتقال ثبات

–shl شيفت منطقي به چپR2 shl R2– shr شيفت منطقي به راستR3 shr R3

0

0

Page 31: معماری کامپیوتر

ریزعمل ها : شیفت چرخشی

در شیفت چرخشی بيت ورودي سريال، بيت خروجي از سمتديگر ثبات است

در زبان انتقال ثبات

–cil شيفت چرخشی به چپR2 cil R2– cir شيفت چرخشی به راستR3 cir R3

Page 32: معماری کامپیوتر

ریزعمل ها : شیفت حسابی

شيفت حسابي• براي اعداد عالمت دار معني دار است.• ضرب مي کند.2شیفت به چپ: عدد درون ثبات را در • تقسيم مي کند.2شیفت به راست: عدد درون ثبات را بر •

مهمترين ويژگي:•به هنگام شيفت )ضرب و تقسيم( عالمت ثبات را حفظ مي کند.•

0

signbit

signbit

Page 33: معماری کامپیوتر

ریزعمل ها : شیفت حسابی

شيفت حسابي به چپ•overflowکنترل مساله •

در زبان انتقال ثبات

–ashl شيفت حسابی به چپR2 ashl R2– ashr شيفت حسابی به راستR3 ashr R3

0

Vاگر قبل از شيفت مقدار دو بيت آخر.متفاوت باشد، سرريز رخ داده است

signbit

Page 34: معماری کامپیوتر

ریزعمل ها: ریزعمل های شیفت

پیاده سازی سخت افزاری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

Page 35: معماری کامپیوتر

واحد حساب، منطق، شیفت

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