سورنا فایل

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

سورنا فایل

مرجع دانلود فایل ,تحقیق , پروژه , پایان نامه , فایل فلش گوشی

تحقیق درباره CU

اختصاصی از سورنا فایل تحقیق درباره CU دانلود با لینک مستقیم و پر سرعت .

لینک دانلود و خرید پایین توضیحات

فرمت فایل word  و قابل ویرایش و پرینت

تعداد صفحات: 8

 

- پیاده سازی

: (CU) Control Unit

در طرح واحد کنترل، دو روش اساسی وجود دارد که عبارتند از: روش Hard-Wired و روش Microprogrammed . طراح باید از همان ابتدا مشخص کند که از چه روشی برای طراحی واحد کنترل استفاده می نماید. در این آزمایش پردازنده را با استفاده از روش Hard-Wired طراحی کردیم.

- اطلاعاتی که واحد کنترل نیاز دارد تا بر اساس آن ها بتواند سیگنال های کنترلی را برای بخش های درونی و بیرونی پردازنده تولید کند:

1- کد دستورالعمل: واحد کنترل از کد دستورالعمل می فهمد که چه عملیاتی باید در پردازنده اجرا شود. در این پردازنده ساده ما از 4 دستورالعمل ADD,SUB,LOAD,OUT استفاده می کنیم و برای راحت تر شدن پردازش کد دستورالعمل را 4 بیت در نظر می گیریم و کد دستورات را به صورت زیر در نظر می گیریم تا دیگر نیازی به رمزگشایی کد دستورالعمل(Decode) نباشد:

ADD:= 0001 , SUB:=0010 , LOAD:=0100 , OUT:=1000

2- اطلاعات زمانی: که مرحله زمانی اجرای دستورالعمل را نشان می دهد. در پردازنده طراحی شده به زمان های T1.T2…T6 نیاز داریم. با استفاده از یک Sequence Counter زمان های T1 تا T6 را بوجود می آوریم و با کمک Decoder آن را رمزگشایی می کنیم.

واحد کنترل، وظیفه دادن فرامین و هماهنگی های لازم را برای انجام مراحل سه گانه فراخوانی (Fetch)، رمزگشایی ( (Decode و اجرا (Execute) بر عهده دارد.

یک ریزعمل ساده ترین عملیاتی است که در یک پالس زمانی قابل اجراست، پس در هر پالس زمانی باید سیگنال های کنترلی که منجر به انجام ریزعمل مورد نظر می شوند را فعال کنیم.

با نوشتن RTL های مربوط به هر قسمت جدول زیر حاصل می شود.

برای مثال طبق جدول زیربرای عمل جمع به 3 ریزعمل نیاز داریم: اول اینکه آدرسXX به MAR منتقل شود در مرحله دوم مقدار خانه MAR ام حافظه به رجیستر B منتقل شود و در پایان حاصل جمع اکومولاتور و B به اکومولاتور منتقل شود.

Micro operation

Instruction

LO

LB

EU

SU

EA

LA

EI

LI

CE

LM

EP

CP

MAR ( PC

PC( PC+1

IR(M[MAR]

FETCH

*

*

*

*

*

T1

T2

T3

MAR(XX

B(ROM[XX]

A(A+B

ADD XX

*

*

*

*

*

*

*

T4

T5

T6

MAR(XX

B(ROM[XX]

A(A-B

SUB XX

*

*

*

*

*

*

*

T4

T5 T6

MAR(XX

A(ROM[XX]

LOAD XX

*

*

*

*

T4

T5

T6

(A

OUT

*

T4

با توجه به جدول مدار واحد کنترل را رسم می کنیم. هر پایه کنترلی در زمان مشخص و برای دستور خاصی فعال می شوند. مثلاً پایه CE زمانی فعال می شود که یا در لحظه T3 باشیم ، یا درT5 و دستور ADD باشیم ، یا درT5 و دستور SUB باشیم و یا درزمانT5 دستور LOAD در حال اجرا باشد. این را به صورت یک OR چهار ورودی که ورودی هایش از T3و خروجی های 3 AND حاصل می شود پیاده سازی می کنیم.

یادآوری می کنم که خروجی Decoder استفاده شده Active low است ، به همین دلیل خروجی های Decoder را NOT کرده سپس آن ها را به عنوان Ti ها استفاده می کنیم.

در نهایت مداری به شکل زیر حاصل می شود.

- برای تست این واحد به صورت مجزا مثلاً ورودی ADDرا به Vcc و SUB وLOAD OUT را به زمین وصل می کنیم. برای اینکه در هر لحظه بدانیم در پالس چندم هستیم، خروجی های Counter را به 7-segment وصل می کنیم. فرکانس clk مدار را به گونه ای تنظیم می کنیم که زمان کافی برای مشاهده نتیجه داشته باشیم. پایه های کنترلی را نیز به LED های روی برد وصل می کنیم تا فعال و غیر فعال بودنشان در هر لحظه قابل بررسی باشد. سپس مشاهده می کنیم که مثلاً در لحظه T5 (وADD ) پایه های CE , LB فعالند.

پیاده سازی MAR :

MAR ,محلی از cpu است که آدرس) دستورات وdata ) در آن قرار می گیرد. آدرس ها از طریق bus در MAR قرار می گیرد. اما ما بوسیله ی یک پایه ی کنترلی مشخص می کنیم که چه موقع محتوای BUS در MAR قرار بگیرد.در واقع برای پیاده سازی MAR از یک بافر 74244 و یک رجیستر 74374 استفاده می کنیم. محتوای BUS در داخل بافر قرار می گیرد و ما با فعال کردن پایه ی out put Enable بافر مشخص می کنیم که چه موقع این محتوا در رجیسترمان قرار بگیرد.

در این جا چون تعداد خانه های مورد استفاده ی EPROM از 16 کمتر است پس تنها 4 خط آدرس کافی است .در نتیجه تنها از 4 بیت MAR استفاده می کنیم .


دانلود با لینک مستقیم


تحقیق درباره CU