یاری فایل

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

یاری فایل

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

مقاله در مورد طراحی یک ریزپردازنده

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

مقاله در مورد طراحی یک ریزپردازنده


مقاله در مورد طراحی یک ریزپردازنده

لینک پرداخت و دانلود *پایین مطلب*

فرمت فایل:Word (قابل ویرایش و آماده پرینت)

 تعداد صفحه35

 

بخشی از فهرست مطالب

چکیده ............................................................. 1

مقدمه ............................................................. 2

آدرس دهی غیرمستقیم........................................ 3
ثباتهای کامپیوتر
..................................................4

گذرگاه مشترک سیستم........................................  5

دستورات و آدرس دهی کامپیوتر مبنا......................... 7

دستورات تکمیلی کامپیوتر مبنا................................ 8

زمانبندی و کنترل کامپیوتر مبنا............................... 10

سیکل دستور................. ................................... 12

تعیین نوع و دیکد دستور....................................... 13

توابع کنترلی مربوط به مراجعه به ثبات........................ 16

توابع کنترلی مربوط به مراجعه به حافظه...................... 17

دستورات...... .................................................... 18

فلوچارت عملیاتی کنترل........................................ 20

ساختار ورودی خروجی........................................... 21

دستورات ورودی خروجی......................................... 22

سیکل وقفه............. ........................................... 26


چکیده

 

 

 

در این پروژه با استفاده از نرم­افزار Proteus یک ریزپردازنده طراحی می­شود. این ریزپردازنده دستورات برنامه زبان ماشین را از حافظه فراخوانی کرده و اجرا می­کند. دستورالعمل­های طراحی شده برای این پردازنده طبق معماری کتاب مانو در نظر گرفته شده و نحوه دیکود دستورالعمل­ها در واحد کنترل به صورت Hardwired خواهد بود و دانشجوی آزمایشکاه می­تواند از این شبیه سازی برای انجام آزمایش­های معماری و ریزپردازنده استفاده کند.

 

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


 

 

مقدمه

 

 

 

 

 

پردازنده ی مانو با اینکه هیچ شباهتی با  پردازنده های کنونی ندارد اما برای کسانی که میخواهنند با اصول کار یک پردازنده آشنا شوند(دانشجویان کامپیوتر و برق) مفید هست.


 

 

آدرس دهی غیرمستقیم

 

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

 

برای روشن شدن مطلب فرمت کد دستور نشان داده شده در شکل را درنظر می گیریم در شکل 2 را در نظر می گیریم در این شکل سه بیت کد اجرا دوازده بیت آدرس و یک بیت I نمایش آدرس غیر مستقیم بیت مذکور برابر 1 می باشد روش آدرس دهی مستقیم در شکل 2 نشان داده شده است در این شکل دستور جمع add در خانه حافظه 22 قرار داده شده است و بیت I برابر صفر می باشد که نشان دهنده آدرس مستقیم است بنابراین قسمت آدرس دستور که معادل عدد اعشاری 457 است آدرس عملوند یا اطلاعات را مشخص میکند.

 

 

 

واحد کنترل کامپیوتر اطلاعت خانه حافظه 457  را ازحافظه واکشی مینمایدو به محتوای اکومولیتور ac اضافه می کند در دستور ذخیره شده در خانه 35 حافظه چون I برابر یک است پس روش آدرس دهی غیر مستقیم می باشد درضمن  در قسمت آدرس دستور عدد اعشاری 300 نوشته شده است به این ترتیب واحد کنترل به خانه حافظه 300 مراجعه و آدرس اطلاعت دوبار میبایستی به حافظه مراجعه شود که بار اول برای دریافت آدرس اطلاعات و دفعه دوم جهت اخذخود داده هاست حال ما آدرسی را به نام آدرس موثر تغریف می کنیم که در دستورات محاسباتی آدرس موثر آدرس داده ها است و در دستورات انشعاب یا پرش آدرس موثر آدرس رفتن دستور به آن محل یا آدرس مقصد یا هدف نامیده می شود که در شکل 2 آدرس موثر 457و در شکل 2ج آدرس موثر 1350 می باشد.

 

در کامپیوتر مبنا که ما بحث می کنیم روش های آدرس دهی مستقیم غیرمستقیم و آدرس موثر بکار برده می شوند.

 

ثبات های کامپیوتر

 

کامپیوتر به یک سری ثبات برای عملیات بر روی داده ها و یک ثبات نیز جهت نگهداری آدرس حافظه نیاز دارد این ثبات ها برای کامپیوتر مبنای ما در جدول3 همراه با شرح کوتاهی از طرز کار و تعداد بیت آنها آورده شده است.

 

 

 

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

 

ظرفیت حافظه این کامپیوتر 4096 کلمه ی 16 بیتی است که 12 بیت آن برای آدرس دهی داده ها سه بیت جهت کد اجرایی و یک بیت آن برای مشخص نمودن آدرس مستقیم یا غیر مستقیم می باشد ثبات داده ها DR داده هایی را که از حافظه خوانده می شوند در خود نگه میدارداکومولیتور AC یک ثبات عمومی است وثباتTR حهت ضبط مقادیردر جریان عملیات می باشد

 

ثبات آدرس AR جهت ثبت آدرس حافظه بکار گرفته می شود و 12 بیتی است ثبات کنتور برنامه PC برای ثبت آدرس دستورات است کنتور برنامه PC بطور صعودی شماره می اندازد که باعث می شود دستوراتی که قبلا در حافظه قرار داده شده اند بطور سری خوانده و احرا شوند اصولا بجز دستور انشعاب دستورهای برنامه سری خوانده و اجرا میشوند یک دستور انشعاب باعث می شود که کنترل به محل دیگر برنامه منتقل گردد که در این صورت برای رفتن به قسمت دیگر برنامه بخش آدرس دستور انشعاب به عنوان دستور بعدی به کنتور برنامه PC به عنوان آدرس حافظه گرفته می شود و یک سیکل خواندن از حافظه احرا میگردد که به این ترتیب دستور مذکور را از حافظه خوانده و کنتور برنامه نیز یک شماره می اندازد تا آدرس بعدی دستور را نشان دهد.

 

ثبات ورودی INPR یک کاراکتر 8بیتی را از دستگاه ورودی دریافت می کند و ثبات خروجی OUTR نیز 8بیت یک کاراکتر را برای دستگاه خروجی در خود ذخیره می نماید.

 

گذرگاه مشترک سیستم

 

کامپیوتر مبنای ما دارای 8 ثبات یک حافظه و یک واحد کنترل است بنابراین لازم است راههایی برای انتقال اطلاعات بین ثباتها و حافظه و بین ثباتها وجود داشته باشد اگر قرار باشد بین خروجی هر ثبات و ورودی ثبات دیگر سیم کشی شود تعداد خیلی زیادی سیم مصرف خواهد شد که غیر عملی می باشد راه بهتر برای انتقال اطلاعات دریک سیستم بکاربردن یک گذرگاه مشترک است

 

شکل 5 نحوه ارتباط بین ثبات ها و حافظه کامپیوتر مبنا از طریق یک گذرگاه خروجی ثباتها و حافظه به یک گذرگاه مشترک متصل شده است با مقادیر متغیرهای انتخاب کننده S2S1S0 خروجی هر یک از ثباتها انتخاب و با خطوط باس ارتباط برقرار می کنند عددی که در مقابل هر خروجی نوشته شده مقدار نظیر این متغیر ها برای انتخاب ثبات مذکور می باشد به عنوان مثال ترتیب ثباتی که ورودی بارکردن LD آن فعال باشد اطلاعات را از گذرگاه در پالس بعدی کامپیوتر دریافت می کند و حافظه نیز اطلاعات را از گذرگاه موقعی که خط فرمان نوشتن WRITE آن فعال باشد دریافت می کند

 

موقعی که S2S1S0=111 و ورودی خواندن READ فعال باشد حافظه اطلاعات16 بیتی خود را بر روی گذرگاه قرار می دهد هر یک از ثباتهای DR، AC،IR،TR 16بیتی و دو ثبات ARوPC که آدرس حافظه را در خود نگه می دارند 12بیتی می باشند البته موقعی که خروجی های ثباتهای PCو AR به گذرگاه متصل می شوند در چهار بیت بزرگتر گذرگاه صفر قرار میگیرد در موقعی که ثباتهای PCوAR اطلاعات را از گذرگاه دریافت می کنند فقط12 بیت گذرگاه اطلاعات آن به بیت کوچکتر گذرگاه تبادل اطلاعات می نمایند ثبات ورودی INPR

 

و خروجی OUTR هشت بیتی هستند وباهشت بیت کوچکتر گذرگاه تبادل وارد و هبات خروجی OUTR اطلاعات را از گذرگاه دریافت می کنددر حقیقت ثبات INPR یک حرف یا یک علامت را از دستگاه ورودی دریافت می کند که به اکومولیتور AC منتقل می نماید و ثبات خروحی OUTR اطلاعاتی بین ثبات OUTR و ثباتهای دیگر وحود ندارد

 

16 خط گذرگاه مشترک اطلاعات را از 6 ثبات و حافظه دریافت میدارند خطوط گذرگاه به ورودی های 6ثبات و حافظه نیز متصل هستند پنج عدد از ثباتها دارای ورودی های کنترل کننده بار کردن LD یک اظافه کردن INR و پاک نمودن CLR ثبات هستند این نوع ثباتها معادل یک شمارنده باینری با ورودی مواز ی و پاک کردن سنکرون می باشند

 

یک اضافه کردن با فعال کردن ورودی شمارش هر شمارنده انجام می پذیرد دو عدد از ثباتها فقط ورودی بار کردن LD دارند

 

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

 

محتوای هریک از ثباتها را میتوان در حافظه نوشت و بطور مشابه در موقعی که از حافظه خوانده می شود اطلاعات خوانده شده به هریک از ثباتها به جز AC  می توان وارد شود

 

16 بیت ورودی اکومولیتور AC از مدار جمع کننده و منطقی می آید که این مدار دارای سه سری ورودی است یک سری16 بیت از خروجی اکومولیتور AC است که برای عملیات مکمل کردن و شیفت دادن اکومولیتور مصرف می شود سری 16 بیتی دیگر از ثبات اطلاعات DR می آید که برای عمیلیات منطقی و ریاضی با اکومولیتور بکار می رود به عنوان مثال در دستورالعمل جمع ADD محتوای DR را با AC  جمع و نتیجه به اکومولیتور منتقل می شود و بیت نقلی جمع نیز به فلیپ فلاپE منتقل می شود در حالت دستورالعمل AND محتوای DR با اکومولیتورAND و نتیجه در اکومولیتور قرار می گیرد سری سوم ورودیها ی اکومولیتور اطلاعات 8بیتی است که از ثبات ورودی INPR می آید

 

البته محتویات هریک از ثباتها می تواند به باس یا گذرگاه مشترک داده شود و در مدار جمع کننده و منطقی عملیات برروی آنها انجام گیرد و نتیجه عملیات نیز برروی باس یا گذرگاه وارد شود که در لبه انتهایی سیکل همان پالس ساعت این اطلاعات به ثبات مورد نظر منتقل گردد

 

دستورات و طراحی کامپیوتر مبنا

 

برای طراحی قسمت های مختلف کامپیوتر باید

 

نوع دستورات وعملیات مشخص شود

 

توابع کنترلی یا به عبارت دیگر چه واقع و تحت چه شرایطی عملیات و دستورات اجرا میشوند مشخص گردد

 

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

 

کامپیوتر مبنا مورد بحث دارای سه نوع فرمت دستور شانزده بیتی است که کد اجرا ی آن سه بیتی و بقیه 7 بیت بستگی به نوع کد اجرایی دارای معنای متفاوتی می باشد یک دستور مراجعه به حافظه دارای 6 بیت برای مشخص نمودن آدرس حافظه و یک بیت I جهت نوع آدرس دهی است

 

مقدار I برای آدرس مستقیم برابر صفر وجهت آدرس دهی غیر مستقیم مساوی یک میباشد دستورات مراجعه به ثباتها با کد اجرایی 111 و همچنین بزرگترین بیت سمت چپ برابر صفر تشخیص داده می شوند اصولا دستورات مراجعه به ثباتها عملیات یا تست روی اکومولیتور AC را انجام می دهند در این دستورها چون اطلاعاتی از حافظه مورد نیاز نیست بنابراین 5 بیت باقیمانده برای مشخص کردن نوع عملیات و یا تست به کار برده میشود

 

به همین ترتیب دستورات ورودی-خروجی مراجعه به حافظه نیاز ندارند و بوسیله ی کد اجرایی 111  و بزرگترین بیت سمت چپ برابر 1تشخیص داده می شون ددر این حالت نیز 12 بیت باقیمانده برای مشخص کردن نوع عملیات ورودی  خروجی و تست بکار  می روند

 

نوع دستورات با بررسی چهار بیت 6 تا 10 دستور توسط واحد کنترل کامپیوتر تشخیص داده می شوند اگر بیتهای 7 تا 9 برابر 111نباشد دستور مراجعه به حافظه است که بیت 10نیز نوع آدرس دهی را تعیین می نماید اگر سه بیت کد اجرایی برابر  111 باشد واحد کنترل بیت 10 را بررسی می کند که اگر این بیت صفر باشد دستور مراجعه به ثبات و در صورتی که این بیت 1 باشد دستور ورودی خروجی است

 

چون سه بیت جهت کد اجرایی در نظر گرفته شده است چنین به نظر می رسد که نمی توان بیش از 8 دستور داشت ولی در دستورات مراجعه به ثباتها و ورودی-خروجی از بقیه 6 بیت دستور می توان برای بخشی از کد اجرایی نیز استفاده نمود لذا تعداد دستورات کامپیوتر می تواند خیلی بیشتر از 8 عدد باشد که درکامپیوتر مبنای مذکور 25 دستور درنظر گرفته شده است

 

چون سه بیت جهت کد احرایی در نظر گرفته شده است چنین به نظر می  رسد که نمی توان بسش از 8 دستور داشت ولی د ردستورات مراجعه به ثباتها و ورودی –خروجی از بقیه 6 بیت دستو ر می توان برای بخشی از کد اجرایی نیز استفده نمود لذا تعداد دستورات کامپیوتر می تواند خیلی بیشتر از 8 عدد باشد که درکامپیوتر مبنای مذکور 25 عدد دستور در نظر گرفته شده است

 

لیست دستورات در پاورپینت آورده شده است نمادهای تخصیص داده شده دستورات کلمات سه حرفی هستند که نمایشی از نوع دستورات برای برنامه نویس و کاربرها می باشند اطولا کد هگزا دسیمال جدول نظیر کد باینری دستور می باشد به طوریکه با بکار بردن کدهکزا دسیمال به جای 16 بیت کد دستور ما می توانیم کد دستور را با چهار رقم هگزادسیمال نماسش دهیم که آسانتر است دستورات مراحعه به حافظه 6 بیت برای بخش آدرس دارند که این قسمت آدرس با سه رقم هگزادسیمال به صورت XXX  در جدول نشان داده شده آخرین بیت دستور نیز با I نمایش داده شده که اگر I برابر صفر باشد رقم چهارم هگزا دسیمال از 0 تا 6 و در صورتیکه I مساوی یک گردد رقم چهارم کد دستور از 8 تا E است

 

دستورات مراجعه به ثباتها 16 بیت برای مشخص نمودن کد احرایی دارند بزرگترین چهاربنت سمت چپ همیشه 0111  است که معادل هگزادسیمال 7 می باشد و سه رقم دیگر هگزادسیمال معادل 12 بیت باقیمانده است

 

دستورات ورودی خروجی نیز 16 بیت برای مشخص نمودن یک عملیات دارند که بزرگترین چهاربیت آن برابر1111 است که معادل هگزا دسیمال F می باشد

 

 

 

 

 

دستورات تکمیلی کامپیوتر مبنا

 

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

 

دستورات ریاضی منطقی و شیفت

دستورات برای انتقال اطلاعات به حا


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


مقاله در مورد طراحی یک ریزپردازنده