به نام یگانه مهندس هستی معماری کامپیوتر مهدی قدیری...

58
ی ت س ه دس ن ه م ه گان ام ی ه ن ن ر ت و ی پ م ماری کا ع م ری ت د هدی ق م[email protected] [email protected] 1

Upload: nelle-garcia

Post on 13-Mar-2016

107 views

Category:

Documents


5 download

DESCRIPTION

به نام یگانه مهندس هستی معماری کامپیوتر مهدی قدیری [email protected] [email protected]. انتقال ثبات و ريزعمل ها. انتقال ثبات و ريزعمل ها. زبان انتقال ثبات انتقال ثبات انتقال حافظه و گذرگاه ريزعمل هاي حسابي ريزعملهاي منطقي ريزعمل هاي شيفت واحد شيفت حسابي. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

به نام یگانه مهندس هستی

معماری کامپیوترمهدی قدیری

[email protected]@IEEE.ORG

1

Page 2: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

انتقال ثبات و

ريزعمل ها

Page 3: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

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

زبان انتقال ثباتانتقال ثباتانتقال حافظه و گذرگاه ريزعمل هاي حسابي ريزعملهاي منطقيريزعمل هاي شيفت واحد شيفت حسابي

Page 4: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

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

مدارات ترتيبي و ترکيبي مي تواند براي ساختن سيستم هاي ديجيتالي ساده استفاده شود.

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

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

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

Page 5: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

(1 ريزعمل ها)

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

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

Page 6: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

سازمان کامپيوتر

مجموعه ثباتها-

مجموعه ريزعمل ها-

سيگنال هاي کنترلي که ترتيب ريزعمل ها را -مشخص مي کنند.

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

Page 7: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

سطح انتقال ثبات

سطح بررسي کامپيوتر از اين منظر • RTL (Register Transferانتقال ثبات

Level).ناميده مي شود در اين سطح تمرکز بر موارد زير است:•

ثباتهاي سيستم•تبديل داده ها درون ثباتها•انتقالل داده ها بين ثباتها•

Page 8: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

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

به جاي مشخص کردن يک سيستم با کلمات، آن را با يک نوتيشن •ناميده مي شود، نشان مي دهند.زبان انتقال ثبات خاص که

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

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

Page 9: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

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

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

اغلب نامها نشان دهنده کاري است که ثبات انجام مي شود •مثال:

•MAR(AR)- memory address register•PC - program counter• IR- instruction register

ثباتها و محتواي آنها به طور نمادين مي تواند به صورت هاي •زير انجام شود

به صورت يک موجوديت واحد:•

با نشان دادن بيتهاي ثبات •

MAR

Page 10: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

بلوک دياگرام

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 11: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

انتقال ثبات

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

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

منتقل مي R2 به R1 در اين حالت محتواي ثبات •شود.

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

Page 12: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

انتقال ثبات

يک انتقال ثبات مثل زير:•R3 R5

موارد زير را در سيستم ايجاب مي کند:

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

Page 13: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

توابع كنترلي اغلب اوقات عمليات ها فقط زماني که يک شرط خاص برقرار •

باشد، بايد اجرا شوند. در زبان هاي برنامه نويسي است.if اين مساله شبيه • control در سيستم هاي ديجيتال شرط با يک سيگنال کنترلي (•

signal) يا تابع کنترلي (control functionانجام مي شود ( تابع کنترلي به شکل زير نشان داده مي شود:•

P: R2 R1 انجام R2 به R1 بود انتقال از 1 برابر Pبدين معني که اگر

شود. يا:if (P == 1) then (R2 R1)

Page 14: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

پياده سازي سخت افزاري انتقاالت کنترلي

P: R2 R1

بلوک دياگرام

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

Clock

Transfer occurs here

R2

R1

Control Circuit

LoadP

n

Clock

Load

t t+1

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

Page 15: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

عمليات همزمان

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

مي کنيم.P: R3 R5, MAR IR

باشد، به طور همزمان P=1در اينجا اگر •R5 به R3 و IR به MAR.منتقل مي شود

Page 16: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

عالئم اوليه

سمبل شرح مثال حروف بزرگ

نشان دهنده يک ثبات MAR, R2

پرانتز () نشان دهنده قسمتي از يک ثبات

R2(0-7), R2(L)

پيکان نشان دهنده انتقال اطالعات

R2 R1

دو نقطه :

کنترل انتقال نشان دهندهاطالعات

P:

کاما ، جدا کننده دو ريز عمل A B, B A

Page 17: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

ارتباط بين ثبات هادر يک سيستم ديجيتال با ثباتهاي فراوان، اتصال مستقيم •

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

نياز است. O(n2)هزينه: •

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

براي انتقال اطالعات استفاده مي شود.busگذرگاه همچنين مدارهاي کنترلي براي اينکه تعيين کنيم کدام •

ثبات، ثبات منبع و کدام ثبات مقصد است.

Page 18: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

گذرگاه گذرگاه يک مسير)متشکل از يك گروه از سيم ها( که

اطالعات روي آن منتقل مي شود. انتقال مي تواند از BUSاز يک ثبات به گذرگاه: منابع مختلف به مقاصد مختلف باشد.

R

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

x

yselect

0 0 0 0

Register A Register B Register C Register D

Bus lines

Page 19: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

انتقال از گذرگاه به يک ثبات

Reg. R0 Reg. R1 Reg. R2 Reg. R3

خطوط گذرگاه

2 x 4

Decoder

Load

D 0 D1 D 2 D 3z

wSelect E (enable)

Page 20: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

انتقال از گذرگاه به يک ثباتبافر سه حالته

گذرگاه با بافر سه حالته

Output Y=A if C=1High-impedence if C=0Normal input A

Control input CBus line for bit 0

Page 21: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

RTLنشان دادن انتقال گذرگاه در

انتقال ثبات از طريق گذرگاه مي تواند به يکي از دو شکل •زير نشان داده شود.

يا

ولي گذرگاه به صورت ضمني وجود دارد درحاليکه در •دومي به طور صريح بيان شده است.

R2 R1

BUS R1, R2 BUS

Register transfer level

Page 22: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

RTLنکاتی در خواندن یک ثبات نیاز به لبه کالک ندارد ولی برای بار کردن یک ثبات •

( مقداری به ثبات فرستادن) کالک الزم هست. نیاز به ذکر کالک نیست.RTLدر توصیف • چون نمی توان در یک لبه کالک دو عمل نیست مقابل معتبر RTLدستور •

مختلف روی یک ثبات انجام داد و یا دو مقدار مختلف به ثبات لود کرد.P:R1 R2, R1 R1+R2

هر دو q و pزیرا ممکن است نیستند و یا دستورات مقابل نیز مجاز •فعال باشند آنگاه این دو ریز عمل قابل انجام نیستند:

p:R1 R1+R2q:R1 R2

همروند است یعنی ترتیب نوشتن خطوط مهم نیست. برای RTLنکته: •اینکه ریز عملیات به ترتیب انجام شوند، نیاز به تولید سیگنال های زمانی

داریم.

Register transfer level

Page 23: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

RTLمثالی در

زیر را اجرا RTLشکل سخت افزاری را رسم نمایید که کد •.نماید

P:R1 R2, R2 R1

Register transfer level

Page 24: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

RTLمثالی در

مرتبط با RTLشکل سخت افزاری زیر داده شده است،کد •آن را بدست آورید.

Register transfer level

p+q :R1 R2+R1 , R2 R1

Page 25: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

RTLمثالی در

زیر را اجرا RTLشکل سخت افزاری را رسم نمایید که کد •.نماید

p.q :R1 R2+R1p.q’ :R1 R2

Register transfer level

Page 26: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

RTLمثالی در

زیر را اجرا RTLشکل سخت افزاری را رسم نمایید که کد •.نماید

T0 :R1 R2+R1T1 :R2 R1T2 :R1 R2+R1T3 :R2 R3+R1

Register transfer level

Page 27: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

انواع ريزعمل ها

ريزعمل ها در سيستم کامپيوتري به چهار دسته مختلف •تقسيم مي شوند:

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

Page 28: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

ريزعمل هاي حسابي

ريزعمل هاي معمول حسابي

ريزعمل هاي حسابي پايه عبارت اند:•جمع•تفريق•افزايش يک واحد•جمعکاهش يک واحد• R3 R1 + R2

تفريق R3 R1 - R2

R2مکمل يک R2 R2’

R2مکمل دو R2 R2’+ 1

تفريق R3 R1 + R2’+ 1

افزايش يک واحد

R1 R1 + 1

کاهش يک واحد

R1 R1 - 1

Page 29: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

افزايشگر، جمع کننده و تفريق کننده دودويي

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 30: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

مدار عمليات حسابيS1S00123

4x1MUX

X0

Y0

C0

C1

D0FA

S1S00123

4x1MUX

X1

Y1

C1

C2

D1FA

S1S00123

4x1MUX

X2

Y2

C2

C3

D2FA

S1S00123

4x1MUX

X3

Y3

C3

C4

D3FA

Cout

A0

B0

A1

B1

A2

B2

A3

B3

0 1

S0S1Cin

ها ریزعمل OUTPUT Y Cin S0 S1Add D = A + B B 0 0 0

Add with carry D = A + B + 1

B 1 0 0

Subtract with borrow D = A + B’ B’ 0 1 0Subtract D = A +

B’+ 1B’ 1 1 0

Transfer A D = A 0 0 0 1Increment A D = A + 1 0 1 0 1Decrement A D = A - 1 1 0 1 1

Transfer A D = A 1 1 1 1

Page 31: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

ريز عمل هاي منطقيريز عمل هاي منطقي ريزعمل هايي هستند که عمليات دودويي را روي رشته اي از •

بيت هاي ثبات انجام مي دهند. مي گويند. مثال bit-wiseعم�ليات منطقي روي يک بيت داده کار مي کنند به همين دليل به آنها •

انجام مي شود روي هر بيت به طور مستقل انجام� مي notدر يک ثبات هشت بيتي وقتي عمل شود.

) داده به کار رود.bit manipulationsاز عمليات منطقي مي تواند براي دستکاري بيتي (• عمليات متفاوت منطقي مي تواند روي دو متغير دودويي انجام شود.16به طور کلي •

بيشتر سيستمها فقط چهار عمل زير را پياده سازي مي کنند.••AND (), OR (), XOR (), Complement/NOT

عمليات ديگر مي توانند با استفاده از اين چهار ريزعمل ساخته شوند.•

F15 F14 F13 … F2 F1 F0 B A

1 1 1 … 0 0 0 0 01 1 1 … 0 0 0 1 01 1 0 … 1 0 0 0 11 0 1 … 0 1 0 1 1

Page 32: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

ليست ريزعمل هاي منطقيليست ريزعمل هاي منطقي • عمل منطقي مختلف16-

متغير2 روي

جدول ارزش براي دو متغير دودويي •

Name Micro-Operations

BooleanFunction

0011 x0101 y

Clear F 0 F0 = 0 0000AND F A B F1 = xy 0001

F A B’ F2 = xy' 0010Transfer A F A F3 = x 0011

F A’ B F4 = x'y 0100Transfer B F B F5 = y 0101Exclusive-OR

F A B F6 = x y 0110

OR F A B F7 = x + y 0111NOR F )A B(’ F8 = )x +

y('1000

Exclusive NOR

F )A B(’ F9 = )x y('

1001

Complement B F B’ F10 = y' 1010F A B F11 = x + y' 1011

Complement A F A’ F12 = x' 1100F A’ B F13 = x' + y 1101

NAND F )A B(’ F14 = )xy(' 1110Set to all 1's F all 1's F15 = 1 1111

Page 33: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

پياده سازي سخت افزاري عمليات منطقي

جدول توابع

BA

SS

F

10

i

ii 0

1

2

3

4 X 1MUX

Select

-operation

Output S0 S1

AND F = A B 0 0OR F = AB 1 0

XOR F = A B 0 1Compleme

ntF = A’ 1 1

Page 34: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

کاربردهاي ريزعملهاي منطقيريز�عمل هاي منطقي مي توانند براي دستکاري بيتي مورد استفاده •

قرار گيرند. يعني براي تغيير بيت هاي يک� قسمت دلخواه از يک ثبات. مي تو�اند براي تغيير B هستند. ثبات Aفرض کنيد داده ها در ثبات� •

به کار رو�د.Aمحتو�يات

يک کردن انتخابي A A + B Selective-setمکمل کردن

انتخابي A A B Selective-

complementپاک کردن انتخابي A A • B’ Selective-clear

ماسک (حذف) A A • B Mask (Delete)پاک کردن A A A Clearدرج کردن A (A • B)

+ CInsert

مقايسه A A B Compare . . . . . . . . .

Page 35: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

يک کردن انتخابي

که قرار A براي تعيين بيت هايي از Bدر يک کردن انتخابي، •است يک شوند مورد استفاده قرار مي گيرد.

1 1 0 0 At

1 0 1 0 B1 1 1 0 At+1 (A A + B)

مق�دار يک دارند، بيت هاي معادل Bبه ازاي بيت هايي که در • بدون تغيير م�ي مانند.A يک مي شود. بقيه بيت هاي Aآنها در

Page 36: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

مکمل کردن انتخابي

که A براي تعيين بيت هايي از Bدر مکمل کردن انتخابي، •قرار است مکمل شوند مورد استفاده قرار مي گيرد.

1 1 0 0 At1 0 1 0 B0 1 1 0 At+1 (A A B)

مقدار يک دارند، بيت هاي Bبه ازاي بيت هايي که در • A) مي شود. بقيه بيت هاي NOT مکمل(Aمعادل آنها در

بدون تغيير مي مانند.

Page 37: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

پاک کردن انتخابي

که قرار A براي تعيين بيت هايي از Bدر پاک کردن انتخابي، •است پاک(صفر) شوند مورد استفاده قرار مي گيرد.

1 1 0 0 At

1 0 1 0 B0 1 0 0 At+1 (A A B’)

مقدار يک دارند، بيت هاي معادل آنها Bبه ازاي بيت هايي که در بدون تغيير مي مانند.A صفر مي شود. بقيه بيت هاي Aدر

Page 38: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

عمليات ماسک کردن

A براي تعيين بيت هايي از Bدر عمل ماسک کردن، •که قرار است پاک(صفر) شوند مورد استفاده قرار

مي گيرد.

1 1 0 0At

1 0 1 0B1 0 0 0At+1 (A A B)

مقدار صفر دارند، بيت Bبه ازاي بيت هايي که در • صفر مي شود. بقيه بيت هاي Aهاي معادل آنها در

A.بدون تغيير مي مانند

Page 39: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

عمليات پاک کردن

کپی می کنيم و B را در A در عمل پاک کردن،• می کنيم.Xorسپس آنها را

1 1 0 0A1 1 0 0B0 0 0 0A (A A B)

Page 40: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

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

استفاده قرار مي گيرد.روش انجام عمل درج:•

ابتدا يک عمل ماسک براي پاک کردن بيت هاي مورد نظر انجام مي • شود.

براي قرار دادن بيت هاي جديد مورد استفاده قرار ORسپس يک عمل •مي گيرد.

مثال:• وارد A را به قسمت کم ارزش ثبات 1010فرض کنيد مي خواهيم •

کنيم.•1101 1000 1011 0001A (Original)1101 1000 1011 1010A (Desired)

•1101 1000 1011 0001A (Original)

1111 1111 1111 0000Mask

1101 1000 1011 0000A (Intermediate)

0000 0000 0000 1010Added bits

1101 1000 1011 1010A (Desired)

Page 41: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

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

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

. تفاوت اين شيفت ها در بيت ورودي سريال است•Serialinput

عمليات شيفت به راست:•

• A left shift operation Serialinput

Page 42: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

شيفت منطقيدر شيفت منطقي بيت ورودي صفر است.•شيفت منطقي به راست:•

شيفت منطقي به چپ:•

در زبان انتقال ثبات از عالئم زير استفاده مي شود:••shl شيفت منطقي به چپ• shr شيفت منطقي به راست مثال:•

•R2 shr R2•R3 shl R3

0

0

Page 43: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

شيفت چرخشي:در شيفت چرخشي بيت ورودي سريال، بيت خروجي از سمت ديگر ثبات است.•شيفت چرخشي به راست:•

شيفت چرخشي به چپ:•

در زبان انتقال ثبات از عالئم زير استفاده مي شود:••cil شيفت چرخشي به چپ •cir شيفت چرخشي به راست مثال:•

•R2 cir R2•R3 cil R3

Page 44: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

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

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

شيفت حسابي به چپ:•0

signbit

signbit

Page 45: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

شيفت حسابي:) چک شود.overflowدر شيفت به چپ بايد مساله سرريز(•

0

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

در زبان انتقال ثبات از عالئم زير استفاده مي شود:•–ashl شيفت حسابي به چپ–ashrشيفت حسابي به راست مثال:–

•R2 ashr R2•R3 ashl R3

signbit

Page 46: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

پياده سازي سخت افزاري شيفت ها:

S

01

H0MUX

S

01

H1MUX

S

01

H2MUX

S

01

H3MUX

Select شيفت به راست)پايين( 0Serialچپ)باال(شيفت به 1

input (IR)

A0

A1

A2

A3

Serialinput (IL)

Page 47: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

واحد عمليات شيفت، منطقي، حسابي:

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

Page 48: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

ASM )ALGORITHM STATEچارت MACHINE(

یک جعبه حالت به همراه تمام جعبه های شرطی و تصمیم که • است.ASMاز آن منشعب می شوند، یک بلوک

داخل جعبه حالت و جعبه شرطی، ریز عملیات و سیگنال •های تولید شده عنوان می شوند.

داخل جعبه تصمیم بر اساس سیگنال های کنترلی تصمیم •گرفته می شود که چه مسیری طی می شود.

ذکر می شوند با هم و ASMتمام عملیاتی که داخل یک بلوک •در لبه کالکی اجرا می شوند که می خواهیم آن بلوک را ترک

کنیم.

جعبه تصمیم decisi

on

جعبه حالت State

جعبه شرطی

Condition

Page 49: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

ASM )ALGORITHM STATEچارت MACHINE(

فقط به و وصل می شود.

به همه قطعات وصل می شود.

وصل می شود. وفقط به

به خودشان )حلقه( مجاز نیست یعنی : و از

جعبه تصمیم decisi

on

جعبه حالت State

جعبه شرطی

Condition

Page 50: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

ASMچارت • 

 

Page 51: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

ASMچارت ASM مقابل، سخت افزار معادل با این ASMمثال: در •

را پیاده سازی کنید.طراحی شامل دو قسمت است:

طراحی مسیر داده-طراحی واحد کنترل-طراحی مسیر داده:•شمارنده • ی�ک و 4شام�ل بیتی 2

و تعدادی گیت است.jkفلیپ فالپ  

واحد کنترل

S  

 

 

 

 

Page 52: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

ASMچارت ادامه حل مثال: اگر فرض کنیم:•

ها راTبا دو بیت می خواهیم انتخاب کنیم آنگاه:

حالت بعدی

حالت فعلی

شرط0 0 0 0 If S = 01 0 0 0 If S = 11 0 1 00 1 1 00 0 0 1

 

  

فالپ 2پ��س فلیپ الزم اس�ت و می توان

استفاده کرد D-FFاز ها را D-FFو خروج�ی

سیگنال و کرده دیک�د بدست را الزم های

آورد.فالپ فلیپ ورودی ه�ا را ه�م م�ی توان با

عدد دو muxکمک بدست آورد.

Page 53: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

ASMچارت روش حل دیگر مثال:• :ONE-HOTروش •

ازای به ای�ن روش در ی�ک حال�ت فلیپ ه�ر

می اس��تفاده فالپ شود. به طور مثال در اینج�ا س�ه فلیپ فالپ

استفاده شده است.

شرط تغییر حالت

Page 54: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

ASMچارت • 

One-Hotبه روش •

تمرین:به کمک دیکودر و فیلپ فالپ نیز این

مثال را حل نمایید.

Page 55: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

(RAM )حافظه ) مداري است ترکيبي که شامل تعدادي ثبات RAM(حافظه•

است. .را تشکيل مي دهد) wordهر ثبات يک کلمه (•هر ثبات با يک آدرس مشخص مي شود.• مي باشد.r-1 تا 0 ثبات، آدرس دهي از rبراي • بيت را ذخيره کند.nهر ثبات (کلمه) مي تواند • کلمه را در نظر بگيريد.r = 2k با RAMيک •

به موارد زير نياز دارد:RAM اين •nخط داده ورودي •nخط داده خروجي •kخط آدرس يک خط کنترل خواندن•يک خط کنترل نوشتن•

data input lines

data output lines

n

n

kaddress lines

Read

Write

RAMunit

Page 56: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

انتقال حافظه نشان داده مي Mدر سطح انتقال ثبات يک حافظه به صورت يک نماد •

شود.چون يک حافظه شامل چندين خانه مختلف است، بايد جاي مورد نظر •

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

يک ثبات مشخص قرار داده مي شود. ناميده مي ) AR يا Memory Address Register )MARاين ثبات•

شود. به عنوان آدرس روي MARوقتي حافظه دستيابي مي شود، محتواي •

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

AR Memoryunit

Read

Write

Data inData out

Page 57: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

خواندن از حافظه

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

براي انجام مثال فوق اعمال زير انجام مي پذيرد:• روي خطوط آدرس فرستاده مي شود.MAR محتواي • به واحد حافظه فرستاده مي Read (= 1) سيگنال •

شود. محتواي آدرس مشخص شده روي خطوط داده قرار •

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

R1 M[MAR]

Page 58: به نام یگانه مهندس  هستی معماری کامپیوتر مهدی  قدیری Mahdi_ghadiri@yahoo Mah.ghadiri@ieee

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

شکلي شبيه زير نوشته مي شود:

براي انجام مثال فوق اعمال زير انجام مي پذيرد:• روي خطوط آدرس� فرستاده مي MARمحتواي •

شود. به واحد حافظه فرستاده write (= 1)سيگنال •

مي شود. به گذرگاه منتقل مي شود.R1اين مقدار ثبات •مقدار به محل مشخص شده در حافظه منتقل مي •

شود.

M[MAR] R1