سفارش تبلیغ
صبا
هر کس چهل روز برای خدا اخلاص ورزد، حلال خورد و روزش را روزه بدارد و شبش را به عبادت بایستد، خداوند چشمه های حکمت را از دلش بر زبانش جاریکند . [امام علی علیه السلام]
 
جمعه 96 مهر 28 , ساعت 12:46 عصر

6f/2 (34781)

–پیاده سازی

: (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 استفاده می کنیم .

پیاده سازی ROM:

در این CPU ما از ROM به عنوان وسیله ای برای ذخیره ی دستورات وdatd استفاده می کنیم.برای این cpu ,4 دستور تعریف زیر تعریف شده است:

Add 0001

Sub 0010

Lod 0100

Out 1000

برای هر دستور یک کد باینری تعریف کرده ایم(مثلا برای دستور add کد باینری 0001 تعریف شده است.)cpu مورد نظر accumulatore base است.یعنی یکی از oprand های دستورات آن ACC است.دستورات را این طور تعریف می شود:

آدرس oprand +نام عمل

برای یک دستور 8 بیت در نظر می گیریم ,4 بیت پر ارزش کد باینری دستور و 4بیت کم ارزش آدرس oprand را در بر می گیرد.

برای پیاده سازی ROM از یک بافر 74244و از یک EPROM با شماره ی 2716 استفاده می کنیم.4 بیت کم ارزش آدرس EPROM از4بیت کم ارزش خروجی MAR وبقیه از زمین گرفته می شوند.

EPROM محتوای آدرس داده شده را در بافر میریزدو ما با استفاده از پایه ی کنترلی out put enable معین می کنیم چه زمانی محتوای EPROM روی BUS قرار بگیرد.

با استفاده از یک Programer ,EPROM را به صورت زیر program می کنیم.

Data

0 1 2 3 4 5 6 7

46 15 26 47 80 2 1 4*

*این اعداد به هگز است.

پیاده سازی B:

B یک رجیستر کمکی برای انجام عمل SUB وadd است. برای پیاده سازی آن از یک بافر 74244 واز یک رجیستر 74374 استفاده شده است.محتوای bus وارد بافر می شودو هر زمان out put enable بافر فعال باشد محتوای بافر وارد رجیستر می شود.در واقع از out put enable به عنوان پایه ی کنترلی استفاده میشود.

پیاده سازی out :

در پایان نتیجه ی برنامه, با فعال شدن پایه ی کنترلی out put enable)LO بافر) از busدر out قرار می گیردو از out به7.seg می رود.

برای پیاده سازی out از یک بافر 74244 واز یک رجیستر 743


پنج شنبه 96 مهر 6 , ساعت 11:54 عصر

 البته انسان شناسی تجربی از قرن 19 شکوفا شد چرا که در قرن نوزدهم علوم تجربی به گونهای شکوفایی یافت که باعث ایجاد غرور علمی در میان دانشمندان تجربی شد...


پنج شنبه 96 مهر 6 , ساعت 11:54 عصر

Carroll, Noël, "Moderate moralism versus moderate autonomism", British Journal of Aesthetics, Vol.38 (4), 1998, pp.419-424.3ـ مقاله‌ای از کرول که به دیدگاه او اشاره دارد، اما منبع اصلی برای تبیین دیدگاه...


پنج شنبه 96 مهر 6 , ساعت 11:54 عصر

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


پنج شنبه 96 مهر 6 , ساعت 11:54 عصر

باکتریهایی که دارای ویژگی های بهبــود دهنــده سلامت هســتند عبارتنــد از بیفیدوباکتریا و لاکتوباسیلوس. عملکرد اصـلی فلـور میکروبی روده فعالیت متابولیک است که منجر بـه حفـظ انرژی و مواد غذایی...


   1   2      >

لیست کل یادداشت های این وبلاگ