نمايش دا ده ها - شبکه اجتماعی نت
Download
Report
Transcript نمايش دا ده ها - شبکه اجتماعی نت
انتقال ثبات
و
ريزعمل ها
REGISTER TRANSFER AND MICROOPERATIONS
انتقال ثبات و ريزعمل ها
• Register Transfer Language
• Register Transfer
زبان انتقال ثبات
انتقال ثبات
• Bus and Memory Transfers
انتقال حافظه و گذرگاه
• Arithmetic Microoperations
ريزعمل هاي حسابي
• Logic Microoperations
• Shift Microoperations
• Arithmetic Logic Shift Unit
ريزعملهاي منطقي
ريزعمل هاي شيفت
واحد شيفت حسابي
سيستم ديجيتالي ساده
مدارات ترتيبي و ترکيبي مي تواند براي ساختن سيستم هاي ديجيتالي ساده استفاده شود
• سيستمهاي ديجيتالي ساده معموال با يکي از موارد زير شناخته مي شوند:
– ثباتهاي ي که در سيستم موجود است.
– عملياتي که سيستم انجام مي دهد.
• براي شناساي ي يک سيستم بايد بدانيم:
– چه عملياتي روي داده ها انجام مي شود.
– چه اطالعاتي بين ثباتها منتقل مي شود.
ريزعمل ها()1
• عملياتي که روي داده ها در ثباتها انجام مي شود ريز عمل ناميده مي شود.
• عمليات داخلي ثباتها نمونه هاي ي از ريزعمل ها هستند.
–
–
–
–
–
شيفت Shift
بار کردن Load
پاک کردن Clear
اضافه کردن Increment
...
ريزعمل ها()2
يک عمليات پايه که روي داد هاي ذخيره شده در يک يا چند ثبات در طي يک
پالس انجام مي شود ريزعمل نام دارد.
يک سيکل ساعت
ALU
)(f
Registers
)(R
)R f(R, R
fمي تواند ،subtract ،add ،increment ،clear ،load ،shift
xor ،and ، complementيا ...باشد.
سازمان کامپيوتر
•تعريف سازمان( )organizationداخلي کامپيوتر
مجموعه ثباتهامجموعه ريزعمل ها-سيگنال هاي کنترلي که ترتيب ريزعمل ها را مشخص مي کنند.
سطح انتقال ثبات
• بررسي کاميوتر از اين منظر سطح انتقال ثبات
()register transfer level
ناميده مي شود.
• در اين سطح تمرکز بر موارد زير است:
– ثباتهاي سيستم
– تبديل داده ها درون ثباتها
– انتقال داده ها بين ثباتها
زبان انتقال ثبات
REGISTER TRANSFER LANGUAGE
• به جاي مشخص کردن يک سيستم با کلمات ،ان را با يک نوتيشن خاص که زبان انتقال
ثبات ناميده مي شود نشان ميدهند.
• زبان انتقال ثبات مي تواند براي نشان دادن هر ترتيب از ريزعمل ها مورد استفاده قرار گيرد.
• زبان انتقال ثبات:
– يک زبان سمبوليک است.
– يک ابزار اسان براي شرح سازمان داخلي کامپيوترهاي ديجيتال است.
– فرايند طراحي سيستم هاي ديجيتال را تسهيل مي کند.
نامگذاري ثباتها
• ثباتها معموال با حروف بزرگ نامگذاري مي شوند .گاهي اوقات پس از اسم انها اعداد قرار مي
گيرد(A, R13, IR).
• اغلب نامها نشان دهنده کاري است که ثبات انجام مي شود مثال:
- memory address register
- program counter
- instruction register
Showing individual bits
0
1
2
0
3
4
5
6
8 7
)PC(L
– MAR
– PC
– IR
Register
R1
7
15
)PC(H
Subfields
15
0
R2
Numbering of bits
انتقال ثبات
• کپ ي شدن اطالعات يک ثبات به ثبات ديگر انتقال ثبات نام دارد.
• يک انتقال ثبات به شکل زير نشان داده مي شود:
R2 R1
– در اين حالت محتواي ثبات R1به R2منتقل مي شود.
– انتقال در يک پالس انجام مي شود.
– محتواي R1تغييير نمي کند.
انتقال ثبات
• يک انتقال ثبات مثل زير:
R3 R5
موارد زير را در سيستم ايجاب مي کند:
– خطوط انتقال از R3به R5
– بار شدن موازي در R3
– خطوط کنترل الزم براي انجام عمليات
توابع كنترلي
•
•
•
•
اغلب اوقات عمليات ها فقط زماني که يک شرط خاص برقرار باشد بايد اجرا شوند.
اين مساله شبيه ifدر زبان هاي برنامه نويسي است.
در سيستم هاي ديجيتال شرط با يک سيگنال کنترلي ( )control signalيا تابع
کنترلي ( )control functionانجام مي شود
تابع کنترلي به شکل زير نشان داده مي شود:
P: R2 R1
بدين معني که اگر Pبرابر 1بود انتقال از R1به R2انجام شود .يا:
)if (P = 1) then (R2 R1
پياده سازي سخت افزاري انتقاالت کنترلي
P: R2 R1
Load
R2
Clock
P
n
Control
Circuit
بلوک دياگرام
R1
t+1
t
Clock
Load
Transfer occurs here
فرض مي شود که ثبات ها حساس به لبه مثبت هستند•
دياگرام زمان بندي
عمليات همزمان
• اگر تعداد دو يا بيشتر عمليات همزمان انجام شود انها را با کاما ( )،از هم
جدا مي کنيم.
P: R3 R5, MAR IR
• در اينجا اگر P=1باشد ،به طور همزمان R5به R3و IRبه
MARمنتقل مي شود.
عالئم اوليه
شرح
سمبل
حروف بزرگ
MAR, R2
پرانتز ( )
)R2(0-7), R2(L
پيکان
R2 R1
دو نقطه :
کاما ،
A B, B A
مثال
نشان دهنده يک ثبات
نشان دهنده قسمتي از يک ثبات
نشان دهنده انتقال اطالعات
نشان دهنده پايان تابع کنترلي
جدا کننده دو ريز عمل
P:
ارتباط بين ثبات ها
• در يک سيستم ديجيتال با ثباتهاي فراوان ،اتصال مستقيم هر ثبات با
ثبات ديگر امکان پذير نيست.
• براي اتصال nثبات به يکديگر به )n(n-1خط ارتباطي نياز است.
• هزينهO(n2) :
– براي سيستم هاي با تعداد ثبات زياد عملي نيست
• به جاي اين کار از يک مجموعه مدار متمرکز به نام گذرگاه busبراي
انتقال اطالعات استفاده مي شود.
• همچنين از توابع کنترلي تعيين کنيم کدام ثبات ،ثبات منبع و کدام ثبات
مقصد است.
گذرگاه BUS
گذرگاه يک مسير(متشکل يک از گروه از سيم ها) که اطالعات روي ان منتقل مي شود .انتقال مي تواند از منابع مختلف به مقاصد
مختلف باشد.
از يک ثبات به گذرگاهBUS R :
Register D
Register C
Register B
Register A
Bus lines
باس با ماکس
Register A
1
2
3
4
Register B
1
B1 C 1 D 1
0
4 x1
MUX
2
3
Register C
4
1
B2 C 2 D 2
0
4 x1
2
3
4
Register D
1
B3 C 3 D 3
0
MUX
4 x1
MUX
x
select
y
4-line bus
2
3
4
B4 C 4 D 4
0
4 x1
MUX
انتقال از گذرگاه به يک ثبات
خطوط گذرگاه
Reg. R0
Reg. R1
Reg. R2
D 0 D1 D2 D 3
2x4
Decoder
z
Select
w
Reg. R3
Load
E (enable)
بافر سه حالته
Output Y=A if C=1
High-impedence if C=0
Normal input A
Control input C
گذرگاه با بافر سه حالته
Bus line for bit 0
A0
B0
C0
D0
Select
Enable
S0
S1
0
1
2
3
نشان دادن انتقال گذرگاه در RTL
• انتقال ثبات از طريق گذرگاه مي تواند به يکي از دو شکل زير نشان داده شود.
R2 R1
BUS R1, R2 BUS
يا
• در اولي گذرگاه بصورت ضمني وجود دارد درحاليکه در دومي به طور صريح بيان شده
است.
حافظه )(RAM
•
•
•
•
هر کلمه با يک ادرس مشخص مي شود.
براي rکلمه ادرس دهي از 0تا r-1مي باشد.
هر کلمه مي تواند nبيت را ذخيره کند.
يک RAMبا r = 2kکلمه را در نظر بگيريد .اين RAMبه موارد
:
دارد
نياز
زير
data input lines
– nخط داده ورودي
– nخط داده خروجي
– kخط ادرس
– يک خط کنترل خواندن
– يک خط کنترل نوشتن
n
address lines
RAM
unit
k
Read
Write
n
data output lines
انتقال حافظه
• در سطح انتقال ثبات يک حافظه به صورت يک نماد Mنشان داده مي شود.
• چون يک حافظه شامل چندين ادرس مختلف است ،بايد جاي مورد نظر در حافظه مشخص
شود.
•
•
•
در سيستم هاي کامپيوتري براي دستيابي به حافظه ،ادرس دلخواه در يک ثبات مشخص قرار داده مي شود.
اين ثبات MAR( Memory Address Registerيا )ARناميده مي شود.
وقتي حافظه دستيابي مي شود ،محتواي MARبه عنوان ادرس روي خطوط ادرس حافظه مورد استفاده قرار مي
گيرد.
Read
Memory
unit
Write
Data in
M
Data out
AR
خواندن از حافظه
• براي خواندن يک کلمه ازحافظه زبان انتقال ثبات بصورت زير است:
]R1 M[MAR
• براي انجام مثال فوق اعمال زير انجام مي پذيرد:
– محتواي MARروي خطوط ادرس فرستاده مي شود.
– سيگنال ) Read (= 1به واحد حافظه فرستاده مي شود.
– محتواي ادرس مشخص شده روي خطوط داده قرار مي گيرد.
– اين مقدار از گذرگاه به ثبات R1منتقل مي شود.
نوشتن در حافظه
• براي خواندن از يک کلمه حافظه زبان انتقال ثبات بصورت زير نوشته مي شود:
M[MAR] R1
• براي انجام مثال فوق اعمال زير انجام مي پذيرد:
–
–
–
–
محتواي MARروي خطوط ادرس فرستاده مي شود.
سيگنال ) write (= 1به واحد حافظه فرستاده مي شود.
مقدار ثبات R1به گذرگاه منتقل مي شود.
مقدار روی باس به محل مشخص شده در حافظه منتقل مي شود.
Bus and Memory Transfers
SUMMARY OF R. TRANSFER MICROOPERATIONS
A B
Transfer content of reg. B into reg. A
AR DR(AD)
Transfer content of AD portion of reg. DR into reg. AR
A constant
Transfer a binary constant into reg. A
ABUS R1,
Transfer content of R1 into bus A and, at the same time,
R2 ABUS
AR
DR
M[R]
M
Transfer content of bus A into R2
Address register
Data register
Memory word specified by reg. R
Equivalent to M[AR]
DR M
M DR
Memory read operation: transfers content of
Memory word specified by AR into DR
Memory write operation: transfers content of
DR into memory word specified by AR
انواع ريزعمل ها
• ريزعمل ها در سيستم کامپيوتري به چهار دسته مختلف تقسيم مي شوند:
ريزعمل هاي انتقال ثبات
- Register transfer microoperations
ريزعمل هاي حسابي
- Arithmetic microoperations
ريزعمل هاي منطقي
- Logic microoperations
ريزعمل هاي شيفت
- Shift microoperations
ريزعمل هاي حسابي
:• ريزعمل هاي حسابي پايه عبارت اند
– جمع
– تفريق
– افزايش يک واحد
– کاهش يک واحد
R3
R3
R2
R2
R3
R1
R1
R1 + R2
R1 - R2
R2’
R2’+ 1
R1 + R2’+ 1
R1 + 1
R1 - 1
Contents of R1 plus R2 transferred to R3
Contents of R1 minus R2 transferred to R3
Complement the contents of R2
2's complement the contents of R2 (negate)
subtraction
Increment
Decrement
جمع کننده و تفريق کننده دودوي ي،افزايشگر
B3
Binary Adder
جمع کننده دودوي ي
A3
C3
FA
C4
B2
A2
Binary Adder-Subtractor
تفريق کننده دودوي ي- جمع کنندهB3
C2
FA
S3
B1
A1
A3
B2
C1
FA
S2
B0
A0
S1
A2
B1
C0
FA
S0
A1
B0
A0
M
C3
FA
C4
Binary Incrementer
افزايشگر دودوي ي
S3
S2
A3
y
HA
C4
S
S3
y
HA
S
S2
C0
FA
S0
A1
x
C
C1
FA
S1
A2
x
C
C2
FA
x
y
HA
C
S
S1
A0
1
x
y
HA
C
S
S0
مدار عمليات حسابي
Cin
S1
S0
A0
X0
S1
S0
0 4x1
1 MUX
2
3
B0
A1
S1
S0
0 4x1
1 MUX
2
3
B1
A2
S1
S0
0 4x1
1 MUX
2
3
B2
A3
S1
S0
0 4x1
1 MUX
2
3
B3
0
S1
0
0
0
0
1
1
1
1
S0
0
0
1
1
0
0
1
1
Cin
0
1
0
1
0
1
0
1
C0
D0
FA
Y0
C1
X1
C1
D1
FA
Y1
C2
X2
C2
D2
FA
Y2
C3
X3
C3
D3
FA
Y3
C4
Cout
1
Y
B
B
B’
B’
0
0
1
1
Output
D=A+B
D=A+B+1
D = A + B’
D = A + B’+ 1
D=A
D=A+1
D=A-1
D=A
ريزعمل ها
جمع
جمع با بيت انتقال
تفريق با بيت قرضي
تفريق
A انتقال
A افزايش
A کاهش
A انتقال
Add
Add with carry
Subtract with borrow
Subtract
Transfer A
Increment A
Decrement A
Transfer A
ريز عمل هاي منطقي
•
ريز عمل هاي منطقي ريزعمل هاي ي هستند که عمليات دودوي ي را روي رشته اي از بيت هاي ثبات انجام مي دهند.
– عمليات منطقي روي يک بيت داده کار مي کنند به همين دليل به انها bit-wiseمي گويند .مثال در يک ثبات هشت بيتي وقتي
عمل notانجام مي شود روي هر بيت به طور مستقل انجام مي شود.
– از عمليات منطقي مي تواند براي دستکاري بيتي ( )bit manipulationsداده ها استفاده شود
•
به طور کلي 16عمليات متفاوت منطقي مي تواند روي دو متغير دودوي ي انجام شود.
F15
1
1
1
1
•
F14
1
1
1
0
F2 … F13
0 … 1
0 … 1
1 … 0
0 … 1
F1
0
0
0
1
B F0
0 0
1 0
0 0
1 0
A
0
0
1
1
بيشتر سيستمها فقط چهار عمل زير را پياده سازي مي کنند.
– AND (), OR (), XOR (), Complement/NOT
•
عمليات ديگر مي توانند با استفاده از اين چهار ريزعمل ساخته شوند.
ليست ريزعمل هاي منطقي
• ليست ريزعمل هاي منطقي
متغير2 عمل منطقي مختلف روي16n
.منطقي تعريف کرد
2 2عمل
متغير مي توانn با
• جدول ارزش براي دو متغير دودوي ي
x 0011
y 0101
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Boolean
Function
F0 = 0
F1 = xy
F2 = xy'
F3 = x
F4 = x'y
F5 = y
F6 = x y
F7 = x + y
F8 = (x + y)'
F9 = (x y)'
F10 = y'
F11 = x + y'
F12 = x'
F13 = x' + y
F14 = (xy)'
F15 = 1
MicroName
Operations
F0
Clear
FAB
AND
F A B’
FA
Transfer A
F A’ B
FB
Transfer B
FAB
Exclusive-OR
FAB
OR
F A B)’
NOR
F (A B)’ Exclusive-NOR
F B’
Complement B
FAB
F A’
Complement A
F A’ B
F (A B)’
NAND
F all 1's
Set to all 1's
پياده سازي سخت افزاري عمليات منطقي
Ai
Bi
0
1
4X1
MUX
Fi
2
3 Select
S1
S0
جدول توابع
S1
0
0
1
1
S0
0
1
0
1
Output
F=AB
F = AB
F=AB
F = A’
-operation
AND
OR
XOR
Complement
کاربردهاي ريزعملهاي منطقي
•
ريزعمل هاي منطقي مي توانند براي دستکاري بيتي مورد استفاده قرار گيرند .يعني براي تغيير بيت هاي يک قسمت دلخواه از
يک ثبات.
•
فرض کنيد داده ها در ثبات Aهستند .ثبات Bمي تواند براي تغيير محتويات Aبه کار رود.
AA+B
AAB
’A A • B
AA•B
AAB
A (A • B) + C
AAB
Selective-set
Selective-complement
Selective-clear
)Mask (Delete
Clear
Insert
Compare
...
–
–
–
–
–
–
–
–
ست کردن انتخابي
• در يک کردن انتخابي Bبراي تعيين بيت هاي ي از Aکه قرار است يک شوند مورد استفاده قرار مي
گيرد.
)(A A + B
At
B
At+1
1100
1010
1110
• به ازاي بيت هاي ي که در Bمقدار يک دارند ،بيت هاي معادل انها در Aيک مي شود .بقيه بيت هاي
Aبدون تغيير مي مانند.
مکمل کردن انتخابي
• در مکمل کردن انتخابي ثبات Bبراي تعيين بيت هاي ي از Aکه قرار است مکمل شوند مورد استفاده
قرار مي گيرد.
)(A A B
At
B
At+1
1100
1010
0110
• به ازاي بيت هاي ي که در Bمقدار يک دارند ،بيت هاي معادل انها در Aمکمل( )NOTمي شود.
بقيه بيت هاي Aبدون تغيير مي مانند.
پاک کردن انتخابي
•
در پاک کردن انتخابي ثبات Bبراي تعيين بيت هاي ي از Aکه قرار است پاک(صفر) شوند مورد استفاده قرار مي گيرد.
1 1 0 0 At
1010 B
)’(A A B
•
0 1 0 0 At+1
به ازاي بيت هاي ي که در Bمقدار يک دارند ،بيت هاي معادل انها در Aصفر مي شود .بقيه بيت هاي Aبدون تغيير مي
مانند.
عمليات ماسک کردن
•
در عمل ماسک کردن Bبراي تعيين بيت هاي ي از Aکه قرار است پاک(صفر) شوند مورد استفاده قرار مي گيرد.
)(A A B
•
At
B
1100
1010
At+1
1000
به ازاي بيت هاي ي که در Bمقدار صفر دارند ،بيت هاي معادل انها در Aصفر مي شود .بقيه بيت هاي Aبدون تغيير مي مانند.
عمليات پاک کردن
• در عمل پاک کردن اگر بيت هاي Aو Bمشابه بود ،بيت معادل در Aصفر مي شود ،در غير اين
صورت بدون تغيير مي ماند .اگر دو عدد برابر باشند نتيجه تمام صفر خواهد بود(برای مقايسه مناسب
است)
)(A A B
At
B
1100
1010
At+1
0110
عمليات درج
•
•
عمليات درج براي وارد کردن رشته بيت مورد نظر به درون ثبات مورد استفاده قرار مي گيرد.
روش انجام عمل درج:
– ابتدا يک عمل ماسک براي پاک کردن بيت هاي مورد نظر انجام مي شود.
– سپس يک عمل ORبراي قرار دادن بيت هاي جديد مورد استفاده قرار مي گيرد.
– مثال:
• فرض کنيد مي خواهيم 1010را به قسمت کم ارزش ثبات Aوارد کنيم.
)A (Original
)A (Desired
)A (Original
Mask
)A (Intermediate
Added bits
)A (Desired
1101 1000 1011 0001
1101 1000 1011 1010
•
1000
1111
1000
0000
1000
• 1101
1111
1101
0000
1101
0001
0000
0000
1010
1010
1011
1111
1011
0000
1011
ريز عمل شيفت
• در سيستم هاي ديجيتال سه نوع شيفت مختلف وجود دارد:
– شيفت منطقي
– شيفت چرخشي
– شيفت حسابي
• تفاوت اين شيفت ها در بيت ورودي سريال است.
•عمليات شيفت به راست:
Serial
input
Serial
input
• A left shift operation
• در شيفت منطقي بيت ورودي صفر است.
• شيفت منطقي به راست:
شيفت منطقي
0
• شيفت منطقي به چپ:
0
• در زبان انتقال ثبات از عالئم زير استفاده مي شود:
– مثال:
• R2 shr R2
• R3 shl R3
شيفت منطقي به چپ
شيفت منطقي به راست
– shl
– shr
شيفت چرخشي
•
در شيفت چرخشي بيت ورودي سريال ،بيت خروجي از سمت ديگر ثبات است.
•
شيفت چرخشي به راست:
•
شيفت چرخشي به چپ:
•
در زبان انتقال ثبات از عالئم زير استفاده مي شود:
شيفت چرخشي به چپ
شيفت چرخشي به راست
– مثال:
• R2 cir R2
• R3 cil R3
– cil
– cir
شيفت حسابي
•
•
•
•
شيفت حسابي براي اعداد عالمت دار معني دار است.
شيفت حسابي به چپ عدد درون ثبات را در 2ضرب مي کند.
شيفت حسابي به راست عدد درون ثبات را بر 2تقسيم مي کند.
مهمترين ويژگي شيفت حسابي ان است که به هنگام شيفت (ضرب و تقسيم) عالمت ثبات را حفظ مي کند.
• شيفت حسابي به راست:
sign
bit
• شيفت حسابي به چپ:
0
sign
bit
شيفت حسابي
• در شيفت به چپ بايد مساله سرريز( )overflowچک شود.
0
sign
bit
اگر قبل از شيفت مقدار دو بيت اخر
متفاوت باشد ،سرريز رخ داده است.
V
• در زبان انتقال ثبات از عالئم زير استفاده مي شود:
– مثال:
• R2 ashr R2
• R3 ashl R3
شيفت حسابي به چپ
شيفت حسابي به راست
– ashl
– ashr
پياده سازي سخت افزاري شيفت ها
Serial
input (IR)
Select
)شيفت به چپ(پايين0
)شيفت به راست(باال1
S
0
1
MUX
H0
MUX
H1
MUX
H2
MUX
H3
A0
A1
S
A2
0
1
A3
S
0
1
S
0
1
Serial
input (IL)
حسابي، منطقي،واحد عمليات شيفت
S3
S2
S1
S0
Ci
واحد
حسابي
Di
Select
0 4x1
1 مالتي پلکسر
2
3
Ci+1
واحد
منطقي
Bi
Ai
Ai-1
Ai+1
S3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
S2
0
0
0
0
0
0
0
0
1
1
1
1
0
1
S1 S0
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
1
X
X
X
X
Fi
Ei
shr
shl
Cin
0
1
0
1
0
1
0
1
X
X
X
X
X
X
عمليات
F=A
F=A+1
F=A+B
F=A+B+1
F = A + B’
F = A + B’+ 1
F=A-1
F=A
F=AB
F = A B
F=AB
F = A’
F = shr A
F = shl A
توضيح
Transfer A
Increment A
Addition
Add with carry
Subtract with borrow
Subtraction
Decrement A
TransferA
AND
OR
XOR
Complement A
Shift right A into F
Shift left A into F