تارا فایل

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


بسم لله ارحمن ارحیم

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

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

سیستم دیجیتالی ساده
مدارات ترتیبی و ترکیبی (که در فصل 1 و 2 معرفی شده اند) می توانند برای ساختن سیستم های دیجیتالی ساده استفاده شوند
این مدارات واحدهای سازنده سطح پایین یک کامپیوتر دیجیتال هستند.

سیستم های دیجیتالی ساده معمولاً با موارد زیر شناخته می شوند:
ثبات هایی که در سیستم موجود است.
عملیاتی که این ثبات ها بر داده ها انجام می دهند.

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

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

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

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

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

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

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

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

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

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

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

نام گذاری ثبات ها
ثبات ها معمولاً با حروف بزرگ نامگذاری می شوند. گاهی اوقات پس از اسم آن ها اعداد قرار
می گیرد (A, R13, IR).
اغلب نام ها نشان دهنده کاری است که در آن ثبات انجام می شود مثلاً:
MAR – memory address register
PC – program counter
IR – instruction register

ثبات ها و محتوای آنها به طور نمادین می تواند به صورت های زیر دیده شود:
به صورت یک موجودیت واحد
با نشان دادن بیت های ثبات
R1
Register
Numbering of bits
Showing individual bits
Subfields
PC(H)
PC(L)
15
8
7
0
7 6 5 4 3 2 1 0
R2
15
0

انتقال ثبات
کپی شدن اطلاعات یک ثبات به ثبات دیگر انتقال ثبات نام دارد.
یک انتقال ثبات به شکل زیر نشان داده می شود:
R2  R1
در حالت انتقال
محتوای ثبات R1 به R2 منتقل می شود.
انتقال در یک پالس ساعت انجام می شود.
محتوای R1 تغییر نمی کند.

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

انتقال ثبات: با کنترل
اغلب اوقات عملیات فقط زمانی که یک شرط خاص برقرار باشد باید اجرا شوند.
این مساله شبیه if در زبان های برنامه نویسی است.

در سیستم های دیجیتال شرط با یک سیگنال کنترلی (Control Signal) یا تابع کنترلی انجام می شود.
تابع کنترلی به شکل زیر نشان داده می شود:

P: R2  R1

بدین معنی که اگر P برابر 1 بود انتقال از R1 به R2 انجام شود. یا:
if (P = 1) then (R2  R1)

انتقال ثبات: مدار سخت افزاری
P: R2  R1
بلوک دیاگرام
دیاگرام زمان بندی

Clock
Transfer occurs here
R2
R1
Control
Circuit

Load
P
n
Clock
Load
t
t+1

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

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

P: R3  R5,, MAR  IR

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

R5 به R3
IR به MAR

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

انتقال گذرگاهی: ارتباط بین ثبات ها
وجود ثبات های زیاد در کامپیوتر دیجیتال
نیاز به مسیرهای انتقال اطلاعات
برای اتصال n ثبات به یکدیگر به n(n-1) خط ارتباطی نیاز است.
هزینه: O(n2)
برای سیستم های با تعداد ثبات زیاد عملی نیست
راه حل:
استفاده از یک مجموعه مدار متمرکز (متشکل از یک گروه از سیم ها) به نام گذرگاه مشترک (bus) برای انتقال اطلاعات
نیاز به مدارهای کنترلی برای تعیین اینکه کدام ثبات، ثبات منبع و کدام ثبات مقصد است

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

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

بیان وجود به طور صریح
R2 R1
BUS R1, R2  BUS

انتقال گذرگاهی: مالتی پلکسر
راه اول ساخت سیستم گذرگاه مشترک
استفاده از مالتی پلکسر
سیستم گذرگاه مشترک برای چهار ثبات چهار بیتی
k ثبات n بیتی : n مالتی پلکسر k:1
از یک ثبات به گذرگاه: BUS  R

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

استفاده از دیکدر
در هر لحظه فقط یک ورودی فعال است
Output Y=A if C=1

High-impedence if C=0

Control input C
Normal input A
Select
Enable
0
1
2
3
S0
S1
A0
B0
C0
D0
Bus line for bit 0

انتقال حافظه ای
حافظه
حافظه(RAM) مداری شامل تعدادی ثبات
هر ثبات یک کلمه (word) را تشکیل می دهد.
هر ثبات با یک آدرس مشخص می شود.
برای r ثبات آدرس دهی از 0 تا r-1 می باشد.
هر ثبات (کلمه) می تواند n بیت را ذخیره کند.
یک RAM با r = 2k کلمه به موارد زیر نیاز دارد:
n خط داده ورودی
n خط داده خروجی
k خط آدرس
یک خط کنترل خواندن
یک خط کنترل نوشتن

انتقال حافظه ای
در سطح انتقال ثبات کلمه حافظه به صورت نماد M نشان داده می شود.
چون یک حافظه شامل چندین آدرس مختلف است، باید جای مورد نظر در حافظه مشخص شود.
در سیستم های کامپیوتری برای دستیابی به حافظه، آدرس دلخواه در یک ثبات مشخص قرار داده می شود.
این ثبات Memory Address Register (MAR یا AR) نامیده می شود.
وقتی حافظه دستیابی می شود، محتوای AR به عنوان آدرس روی خطوط آدرس حافظه مورد استفاده قرار می گیرد.

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

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

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

R1  M[AR]

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

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

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

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

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

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

Binary Adder-Subtractor
جمع کننده-تفریق کننده دودویی
Binary Incrementer
افزایشگر دودویی
Binary Adder
جمع کننده دودویی

ریزعمل ها : ریزعمل های حسابی
مدار عملیات حسابی
S1
S0
0
1
2
3
4×1

MUX
X0
Y0
C0
C1
D0
FA
S1
S0
0
1
2
3
4×1

MUX
X1
Y1
C1
C2
D1
FA
S1
S0
0
1
2
3
4×1

MUX
X2
Y2
C2
C3
D2
FA
S1
S0
0
1
2
3
4×1

MUX
X3
Y3
C3
C4
D3
FA
Cout
A0
B0
A1
B1
A2
B2
A3
B3
0
1
S0
S1
Cin
s1 s0 cin y output Micro Opretation
0 0 0 B D = A + B Add
0 0 1 B D = A + B + 1 Add with carry
0 1 0 B’ D = A + B’ Subtract with borrow
0 1 1 B’ D = A + B’+ 1 Subtract
1 0 0 0 D = A Transfer A
1 0 1 0 D = A + 1 Increment A
1 1 0 1 D = A – 1 Decrement A
1 1 1 1 D = A Transfer A

ریزعمل ها : ریزعمل های منطقی
ریزعمل هایی که عملیات دودویی را روی رشته ای از بیت های ثبات انجام می دهند.
عملیات منطقی : bit-wise
روی یک بیت داده کار می کنند : مثلاً در یک ثبات هشت بیتی وقتی عمل not انجام می شود روی هر بیت به طور مستقل انجام می شود.
عملیات منطقی برای دستکاری بیتی bit manipulations) ) داده استفاده می شود.
16 عملیات متفاوت منطقی روی دو متغیر دودویی
بیشتر سیستم ها فقط چهار عمل زیر را پیاده سازی می کنند.
AND (), OR (), XOR (), Complement/NOT
عملیات دیگر می توانند با استفاده از این چهار ریزعمل ساخته شوند.

ریزعمل ها : ریزعمل های منطقی
جدول ارزش برای 16 تابع بر روی دو متغیر دودویی

ریزعمل ها : ریزعمل های منطقی
پیاده سازی سخت افزاری
0 0 F = A  B AND
0 1 F = AB OR
1 0 F = A  B XOR
1 1 F = A’ Complement
S1 S0
Output
جدول توابع
B
A
S
S
F
1
0
i
i
i
0
1
2
3
4 X 1

MUX
Select
Micro-operation

ریزعمل ها : ریزعمل های شیفت
شیفت منطقی
شیفت چرخشی
شیفت حسابی

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

Serial
input
Serial
input
شیفت به راست

شیفت به چپ

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

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

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

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

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

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

ریزعمل ها : شیفت حسابی
شیفت حسابی
برای اعداد علامت دار معنی دار است.
شیفت به چپ: عدد درون ثبات را در 2 ضرب می کند.
شیفت به راست: عدد درون ثبات را بر 2 تقسیم می کند.
مهمترین ویژگی:
به هنگام شیفت (ضرب و تقسیم) علامت ثبات را حفظ می کند.

sign
bit
sign
bit

ریزعمل ها : شیفت حسابی
شیفت حسابی به چپ
کنترل مساله overflow

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

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

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

ریزعمل ها: ریزعمل های شیفت
پیاده سازی سخت افزاری
S
0

1
H0
MUX
S
0

1
H1
MUX
S
0

1
H2
MUX
S
0

1
H3
MUX
Select
0 شیفت به راست (پایین)
1 شیفت به چپ (بالا)
Serial
input (IR)

A0
A1
A2
A3
Serial
input (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 A
0 0 0 0 1 F = A + 1 Increment A
0 0 0 1 0 F = A + B Addition
0 0 0 1 1 F = A + B + 1 Add with carry
0 0 1 0 0 F = A + B’ Subtract with borrow
0 0 1 0 1 F = A + B’+ 1 Subtraction
0 0 1 1 0 F = A – 1 Decrement A
0 0 1 1 1 F = A TransferA
0 1 0 0 X F = A  B AND
0 1 0 1 X F = A B OR
0 1 1 0 X F = A  B XOR
0 1 1 1 X F = A’ Complement A
1 0 X X X F = shr A Shift right A into F
1 1 X X X F = shl A Shift left A into F

واحد
حسابی

واحد
منطقی
C
C
4 x 1

مالتی پلکسر
Select
0

1

2

3
F
S3
S2
S1
S0
B
A
i
A
D
A
E
shr
shl
i+1
i
i
i
i+1
i-1
i
i

پایان


تعداد صفحات : 36 | فرمت فایل : .pptx

بلافاصله بعد از پرداخت لینک دانلود فعال می شود