32
Department of Computer and IT Department of Computer and IT Engineering Engineering University of Kurdistan University of Kurdistan Computer Architecture Register Transfer Language (RTL) By: Dr. Alireza Abdollahpouri By: Dr. Alireza Abdollahpouri

Department of Computer and IT Engineering University of Kurdistan Computer Architecture

Embed Size (px)

DESCRIPTION

Department of Computer and IT Engineering University of Kurdistan Computer Architecture Register Transfer Language (RTL) By: Dr. Alireza Abdollahpouri. دو بخش اساسی یک پردازنده. Datapath ( مسير داده ) The ALU, registers and logic to perform operations on them - PowerPoint PPT Presentation

Citation preview

Page 1: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

Department of Computer and IT EngineeringDepartment of Computer and IT EngineeringUniversity of KurdistanUniversity of Kurdistan

Computer Architecture

Register Transfer Language (RTL)

By: Dr. Alireza AbdollahpouriBy: Dr. Alireza Abdollahpouri

Page 2: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

2

Datapath (مسير داده)

The ALU, registers and logic to perform operations on them

Control unit (واحد کنترل)Generates signals to control datapathAccepts status signals to perform sequencing

Controlunit

Data Path

دو بخش اساسی یک پردازنده

Page 3: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

3

زبان انتقال رجيستر

:براي مشخص کردن يک سيستم ديجيتال بايد موارد زير تعيين شوند مجموعه رجيسترهاي آن و توانايي هاي هر رجيستر -1 قابل اجرا بر روي اطالعات ذخيره شده ي هايکرواپريشن دنباله م-2

در هر رجيستر از يمتوال يا مجموعه انجام شرط کنترلي که باعث-3

ها مي شود يکرواپريشنم

RTLيستررج انتقال زبانبراي سهولت در توصيف دنباله اي از عملوندها و نقل و انتقال

) از سيستم نمايش ويژه اي به datapathداده بين رجيسترها (در سبب سهولت RTL استفاده ميشود. استفاده از RTLاسم

توصيف عملکرد کامپيوتر و راحتي کار طراحي آن ميگردد.

RTL (Register Transfer language)RTL (Register Transfer language)

)Micro Operationتعريف ريزعمليات(يک عمليات پايه که روي داده هاي ذخيره شده روي

, Shiftرجيسترها در يک کالک انجام ميشود مانند: Load , Clear , Inc ,Dec

Page 4: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

4

RTLقوانين

اسامي رجيسترها :با حروف بزرگ که معموال ساده شده کار رجيستر يسترهارج ياسام

:يرنظ مشخص ميشوند. استMAR=Memory Address Register PC= Program CounterIR= Instruction Register R1=( 1رجيستر شماره )

PCPC

3344556677 001122

نمايش بيت ها : (سمت 0 بيتي از nبيت هاي يک رجيستر

(سمت چپ ترين بيت) شماره n-1راست) تا گذاري ميشوند

نمايش رجيسترها :از يک مستطيل يستررج يک يشنما يبرا

آن وسط در يستررج نام که استفاده ميشوديشودم نوشته

771515 88PC(L)PC(L)PC(H)PC(H)

00 بايت 2 بيتي به 16گاهي يک رجيستر کم ارزش و پر ارزش بصورت زير

از پرانتز و شماره بر اي مشخص تقسيم ميشودکردن يک قسمت از رجيستر

استفاده ميشود

PC(H)= PC(8-15)PC(L)= PC( 0-7 )

Page 5: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

5

داده يشنما يرز بصورت يگريد به يستررج يک اطالعات انتقال :يشودم

R2 R1

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

. ميشودR1محتوي

انتقال :يافزار سخت الزمهR2 به R1- موجود بودن مسيري از خروجي 1) داشته Parallel Load بايد قابليت بارکردن موازي (R2 يستررج - 2

باشد .

RTLقوانين

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

R1 R1+R2, R3 0

Page 6: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

6

يکنترل تابع

شرط انتقال :گاهي اوقات انتقال فقط بايد در صورت تحقق يک شرط کنترلي

:خاص انجام شود نظير عبارت

تابع کنترلي :يک عبارت بولي است که مقدار

صفر يا يک دارد اين تابع بصورت زير يدهگنجان يکرواپريشنم عبارت در

ميشود

P: R2 R1

If (P=1) then (R2 R1)

Control

CircuitR2R2

R1R1

LoadLoad

nn

PPCLKCLK

Page 7: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

7

يبند زمان

ClkClkt+1t+1

Load (P)Load (P)

tt

افتد يم اتقاق زمان ينا در انتقال عمل

P اتفاق مي افتد. اگر t+1كالك اين انتقال در لبه فعال باشد عمل انتقال در ساير Clkبيش از يك

كالك ها هم اتفاق خواهد افتاد.

فعال بودن به لبه باعث ميشود تا بتوان عمل را در .يك كالك پالس انجام داد

tمدار كنترل در زمان را فعال Pسيگنال

ميكند لذا وقتي كالك t+1 به وقوع مي

فعال Pپيوندد با شده و باعث روبرو

R2 به R1انتقال ميشود.

T: R2 R1 , R1 R2

Page 8: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

8

Multiplexer-Based Transfers

Consider

Which can also be expressed as

Block diagram?

20)12()10()11( RRthenKifelseRRthenKif

20:21

,10:1

RRKK

RRK

Page 9: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

9

Multiplexer Block Diagram

20:21

,10:1

RRKK

RRK

Page 10: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

10

211)1()71()01( RRRthenKifelseRthenRif

Control

unitR2R2

LoadLoad

nn

KK

R1R1

MUXMUX

++nn

10

7 (0…0111)

تمرین

Page 11: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

11

(BUS)انتقال از طريق گذرگاه

در يک کامپيوتر تعداد زيادي رجيستر وجود دارد کههمه آنها بايد به نوعي به هم متصل شوند براي

استفاده مي شود.Busسهولت در اتصال از Bus به مجموعه اي از خطوط مشترک اتالق

خط مي توانند اطالعات nميشود که با داشتن بيتي را به طور همزمان منتقل nرجيسترهاي

کنند.

براي پياده سازيBus از دو طريق استفاده مي شود:

مالتي پلکسرها حالته3گيت هاي با خروجي

Page 12: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

12

BUSبا استفاده از MUX

00112233

S0S0S1S1

S0S0S1S1 44 line Busline Bus

4x14x1

MUXMUXAA

BB

CC

DD

S0 S1 Reg Selected

0 0 A

0 1 B

1 0 C

1 1 D

0123

0123

0123

0123

4x14x1

MUXMUX

4x14x1

MUXMUX

4x14x1

MUXMUX

قرار ميدهد و ... )bus بيت صفر تمام رجيسترها را روي Mux 0 به تعداد بيتهاي رجيسترها ( ها :MUXتعداد به تعداد رجيسترها ها :MUXتعداد ورودي

Page 13: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

13

BUSانتقال از طريق

همه رجيسترهاي مقصد به معموال وروديBUS متصل بنحوي انتخاب شود که S1S0 يستکاف ينروا از باشند.يم

قرار گيرد. همزمان ورودي BUSخروجي رجيستر روي Load به مبدا از داده تا فعال شوديزن رجيستر مقصد

به A يستررج انتقال يبرا مثال يبرا .يابد انتقال مقصد:يشودم عمل يرز يبترت به باس يقطر از B يستررج

را بصورت ضمني قبول کنيم BUS در صورتي که وجود :بصورت ساده مي نويسيم

BUS A , B Bus

B A

Page 14: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

14

: مداري است که خروجي آن عالوه بر گيت سه حالته حالت صفر و يک مي تواند دروضعيت سومي قرار 2

گيرد که اصطالحا حالت امپدانس باال ناميده شده و خروجي گيت بصورت مدار باز عمل در اين حالت

ميکند يعني نه به صفر وصل است نه به يک.

Output YOutput YInput AInput A

Control CControl C

Y=A c=1

Y=High Impedance c=0 حالته و 3يك بافر

عملكرد آن

3 با استفاده از گيتهاي BUSپياده سازي TriState Bufferحالته:

Page 15: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

15

استفاده از گيتهاي سه حالته Busسبب ميشود تا بتوان يک

را براحتي از طريق اتصال خروجي رجيسترهاي سه حالته

و يا استفاده از يک بافر سه حالته بوجود آورد

فقط بايد مواظب بود که درهر لحظه فقط يکي از گيت

هاي سه حالته فعال باشد اين اطمينان با استفاده از يک

Decoder حاصل ميشود

Bus line for bit 0

A0A0

B0B0

C0C0

D0D0

2x42x4DecoderDecoder

Enable

S0S0

S1S1

3 با استفاده از گيتهاي BUSپياده سازي TriState Bufferحالته:

Page 16: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

16

یا ریزعملیاتيشناپر يکروم انواع

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

گري منتقل مي ي : اطالعات را از يک رجيستر به دانتقال رجيسترکنند.

: عمليات محاسباتي را روي داده ذخيره شده در محاسباتي رجيسترها انجام ميدهند.

: عمليات دستکاري روي بيت هاي رجيستر را انجام مي دهدمنطقي . Shift: عمل شيفت را روي داده ذخيره شده روي رجيسترها انجام

مي دهند.

Page 17: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

17

انتقال حافظه

AR ، DR :می توان برای کار با حافظه از دو رجيستر استفاده کرد

Readعمل خواندن حافظه : براي خواندن از يک محل مشخص از حافظه بايد آدرس آن محل

نوشته Address Register به نام يمشخص شده در رجيستر خاص نوشته DR در رجيستر يزن خوانده شده از حافظه شود. دادهمي شود .

Writeعمل نوشتن درحافظه :در نظر مورد محل آدرس AR حافظه محل ين. ايشودم يختهر

در يتواندم نظر مورد داده .يشودم داده نشان M[AR] بصورت.باشد داشته قرار يسترهارج از يک هر

بود خواهند يرز بصورت مربوطه يها يشناپر يکروم:Read : ARMDR

Write : 1RARM AR Memory

unit

Read

Write

Data inData out

Page 18: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

18

يمحاسبات يها يکرواپريشنم

از عبارتند محاسباتي اصلييها يشن اپريکروم:يفتش و جمع ، تفريق ، افزايش ، کاهش

: ميکرواپريشن جمعيشودم داده نشان روبرو بصورت: R3 R1+R2

احتياجات سخت افزاري :سه رجيستر و مدارات ديجيتالي که عمل جمع را

انجام دهند .

FA

B0 A0

S0

C0FA

B1 A1

S1

C1FA

B2 A2

S2

C2FA

B3 A3

S3

C3

C4

Page 19: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

19

ميکرو اپريشن تفريق ::و جمع انجام مي شود اغلب از طريق متمم گيري

: INC ، DECميکرواپريشن شمار ساخته ائينپ يک شمارنده باال- و با باي ( با مدار ترکيبمي شوند )

يمحاسبات يها يکرواپريشنم

R3 R1-R2 با است معادل R3 R1+R2+1

R1 R1-1 R1 R1+1

HAx y

C S

A0 1

S0

HAx y

C S

A1

S1

HAx y

C S

A2

S2

HAx y

C S

A3

S3C4

Page 20: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

20

و تفريق كننده باينري جمع کننده

براي اجراي ريزعملوند جمع نياز به مداري است که عمل جمع را روي ساخته FAکننده جمع تمام مدارnانجام دهد. اين مداراز رجيسترهامي شود.

و خروجي مي تواند به R2 و R1 يسترهايرج ازيکهر مدار ينا ورودي به رجيستر ديگري منتقل شود .يا هريک از آنها و

B3 B2 B1 B0A0A1A2A3

FAFA

M

S0S1S2S3

C0C4 C1C2C3

FAFA

M=0 S=A+B

M=1 S=A-B

Page 21: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

21

S1

S1

B

B

S1

B

Micro Operatioon

Add Add With Carry Sub with Borrow

Sub

Inc Dec

Transfor.

يمحاسبات واحد مدار

مي توان با استفاده از مدار روبرو انواع ميکرو

اپريشنهاي محاسباتي را يکجا پياده سازي کرد . خروجي

زير اين مداربصورت جدولاست .

D= A+Y+Cin

Fi

S0S10123

4x1MUX

Fi

X0

S10123

4x1MUX

Fi

S0S10123

4x1MUX

Fi

S0S10123

4x1MUX

C0

C1Y0FA

X1 C1

C2Y1

X3 C2

C3Y3

X3 C3

C4Y3

Cin

Cout

A0

A1

A2

A3

S1S0

B01

S0

B01

S0

B01

S0BB01

D0

D1

D2

D3

S0 S1 CIN Y D

0 0 0 B A+B 0 0 1 B A+B+1 0 1 0 B A+B 0 1 1 B A+B+1 1 0 0 0 A 1 0 1 0 A+1 1 1 0 1 A-1 1 1 1 1 A

S0

Page 22: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

22

Logic يمنطق يها يکرواپريشنمMicroOperations

ها عمليات باينري منطقی را يشناپر يکروم يناروي بيت هاي ذخيره شده در رجيسترها انجام

هر يرو بر جداگانه بصورت ينريبا ميدهند. عمل.يگرددم بيت اعمال

يکرواپريشنم XOR

يکرواپريشنم OR

يکرواپريشنم AND

211: RRRP

211: RRRP

211: RRRP

Page 23: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

23

پياده سازي سخت افزاري يمنطق يها يکرواپريشنم

Ei

S1

S0

Ai

Bi

S0 S1

MUX

0

1

2

0 00 1

1 01 1

S1 S0 OutPut

BAE BAE BAE

AE

3

Page 24: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

24

ميکرو اپريشن يکاربردها يبرخهاي منطقي

Selective Set : بکار ميرود.A براي يک کردن بيتهايي از رجيستر

Bبيتهايي را که ميخواهيم يک شوند، توسط رجيستر مشخص ميکنيم.

انجام ميشود. اينکار باBAA

1110

1100

1010

A

B ( دو بيت سمت چپA ،را مجبور به يک شدن مي کنيم (خورد. يبقيه دست نم

A بعد از)عمل)

به چه صورت عمل selective clearسوال: برای می کنيم؟

به چه صورت عمل selective clearسوال: برای می کنيم؟

Page 25: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

25

يالسر انتقال يبرا ها يشناپر يکروم ينا يروندم بکار داده

شيفت به راست :

شيفت به چپ :

يفتش يها يشناپر يکروم

1 1 0 Si

Si 0 1 1 0 1 1 0

0 1 1 0

Si

Si So

So

يفتش از بعد يفتش از قبل

Page 26: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

26

يفتش انواع

:Logical Shiftشيفت منطقي مقدارSi=0.در نظر گرفته ميشود

R2 Shr R2

مقصد و ميکرواپريشن هر دو رجيستر مبداRTLدر .باشند بايد يکسان

R1 Shl R1 چپ سمت به يمنطق يفتش

راست سمت به يمنطق يفتش

Page 27: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

27

يفتش انواع

: Circular Shiftشيفت چرخشي Si به So.وصل ميشود

R2 Cir R2

R1 Cil R1 به يچرخش يفتشچپ سمت

راست سمت به يچرخش يفتش

Page 28: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

28

يفتش انواع

:Arithmetic Shiftشيفت محاسباتي يمتقس منزله به راست به يفتش يفت،ش نوع ينا در

است. 2 در ضرب منزله به چپ سمت به يفتش و 2 بر يفتش هنگام محتوي بيت عالمت رجيستر در ينروا از

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

اگر درasl مقدار Rn-1 عوض شود OverFlowاتفاق مي افتد .(قبل از شيفت): يشودم استفاده يرز رابطه از امر ينا يصتشخ يبرا

asr:

Si=0

R n-1 R0

R n-1 R0asl:

Si

R1 asl R

R asr R

در ضرب2

تقسيم 2بر

RRV nn 21

Page 29: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

29

يکروم يافزار سخت يساز يادهپيفتش يها يشناپر

يتيب 4 يفتش يبرا يبيترک مدار

S 1 0 S 1 0 S 1 0 S 1 0

A3A2 A1 A0

Serial Input IR

Serial Input IL

S (select)

0 for shift right

1 for shift left

H3 H2 H1 H0

MUX MUX MUX MUX

Page 30: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

30

ALU

به جاي اينکه هر رجيستر جداگانه عمليات را انجاممنطقي دهد، ميتوان از يک واحد محاسباتي

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

خروجي رجيستر مبدا يشناپر يکروم براي انجام يک به ALU متصل شده و خروجي ALUبه ورودي

رجيستر مقصد متصل ميشود. ورودي مدار ترکيبيALU عمل مورد نظر را که توسط

.يدهدوروديهاي کنترل مشخص ميشود انجام معمل شيفت ميتواند توسط ALU يا به صورت مجزا

Aتوسط واحد ديگري انجام شود.L

U

1عملوند

نتیجه

2عملوند انتخاب عمل

carryOV

Page 31: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

31

يک از قسمت

مدار محاسباتي

يک از قسمت

مدار منطقي

S1S0BiAi

S1S0BiAi

Di

Ei

FiSelect

0

123

4x1MUX

Ai-1 Ai+1

S3 S2 S1 S0 Cin

0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 x 0 1 0 1 x 0 1 1 0 x

0 1 1 1 x 1 0 x x x 1 1 x x 0

F Operation

A+B A+B+1

A+B A - B

A A+1

A -1 A

A B A B A B

Ashl A shr A

ALU

S2S3

Ci

Ci+1

ALU: يتب يک يبرا يافزار سخت مدار

د الی

سا

21

د الی

سا

23

Page 32: Department of Computer and IT Engineering University of Kurdistan Computer Architecture

3232

QuestionsQuestionsQuestionsQuestions