سلام دوستان من در این ایام باید cpuطراحی کنم هر کس در این زمینه کار کرده خواهش می کنم کمکم کنه( با استفاده از نرم افزار پروتوس برای درس معماری ) :cry2:
اطلاعیه
Collapse
No announcement yet.
طراحی cpu
Collapse
X
-
پاسخ : طراحی cpu
یک نمونه 4 بیتی که به صورت عملی ساخنه شده:
http://www.galacticelectronics.com/Simple4BitCPU.HTML
می تونید بخش های مختلف همین رو شبیه سازی کنید و یا ازش ایده بگیرید و گسترش بدینش
-
پاسخ : طراحی cpu
نوشته اصلی توسط hasti/rخیلی ممنونم دوستان.این کامپیوتر ساده 16 بیتی هست که در کتاب موریس مانو(معماری) توضیح داده شده :read:
فقط برای وصل کردن رجیستر ها به باس اصلی از مالتی پلکس استفاده نکن که طرح رو خیلی پیچیده میکنه و شلوغ میشه مدار. به جای اون توی خروجی رجستر ها یه بافر 3 حالته بزار و خروجی همه بافر ها رو به هم وصل کن.میتونی خیلی راحت از یه لچ و بعدش از این بافر ها استفاده کنی. برای رجیستر PC که باید توانایی افزایش یه واحدی هم داشته باشه میتونی از یه تایمر استفاده کنی. خود پروتیوس تایمر آماده 8 بیتی داره که اگه یکی از پایه هاش 1 باشه افزایش میده و در غیر این صورت مثل لچ عمل میکنه.تو لایبری تایمر رو بزن میبینید این تایمر های آماده رو. 2 تاشون رو به هم وصل کن تا 1 تایمر 16 بیتی بهت بده.
اگر هر کدم رو متوجه نشدی چطوری منظورم هست بگو تا بکشم...
برای قسمت ALU هم فکر میکنم توضیح کامل داده بود تو کتاب. توی اون هم مشکلی بود بگو تا یه نگاه بندازم بهش. الان یادم نیست چه دستوراتی رو دقیقا اجرا میکرد تو کتاب که بگم ALU باید چیا داشته باشه.
فعلا این ها رو بکش تا بعد بریم سراغ واحد کنترل....[img width=477 height=100]http://www.eca.ir/pic/upload/agazade.png[/img]
دیدگاه
-
پاسخ : طراحی cpu
نوشته اصلی توسط hasti/rممنونم.دو تاسوال دیگه برای register 16 بیتی که هم INC,load,clear داشته باشه از چه آی سی استفاده کنم .پروتوس register 16 بیتی داره اما INCنداره؟
برای حافظه cpu از چه قطعه ای استفاده کنم؟
اگر قابلیت های بیشتری نیاز داشته باشید میتونید از شمارنده استفاده کنید. تو این حالت علاوه بر توانایی قبلی میتونید توانای افزایش یک واحدی و کاهش یک واحدی رو هم داشته باشید. اینم از نحوه ی بستن تایمر 8 بیتی برای ایجاد تایمر 16 بیتی:
برای حافظه هم میتونید از حافظه ای که تو خود پروتیوس هست به اسم MEMORY_15_8 استفاده کنید.برای رم هم از 62256 میتونید استفاده کنید. این 2 تا حافظه ادرس فایل مقدار اولیه رو به صورت تکست تو مشخصاتش اضافه کنید. اگر از eeprom ها استفاده کنید اون ها راحت تر میتونید فایل مقدار اویه رو بهش بدید.
[img width=477 height=100]http://www.eca.ir/pic/upload/agazade.png[/img]
- تشکرها 1
دیدگاه
-
پاسخ : طراحی cpu
سلام.قسمت ثبات ها و گذرگاه مشترک وجمع کننده ومدار منطقی کامل شد .بعد من دستور ورودی و خروجی وقفه رو متوجه نمیشم .ما هفتا فلیپ فلاپ داریم که FGI,FGO,R,IEN کنترل هر کدوم با توجه به دستورات تعیین میشه.ولی من در کل متوجه نشدم چه جوریه؟ازکجا شروع کنم.نقش فلیپ فلاپ ها چیه؟ در مورد قسمت کنترل هم میخاستید توضیح بدید.
دیدگاه
-
پاسخ : طراحی cpu
قسمت وقفه رو من پیاده نکردم واسه همین نمیدونم مانو چطور توضیح داده اون رو. در مورد قسمت کنترل ما به سیگنال state counter یا همون sc نیاز داریم.نحوه تولیدش هم که تو کتاب گفته(با یه شمارنده...) این سیگنال ها رو sc0 تا sc15 مینامیم. به یه سری سیگنال دیگه هم نیاز داریم که از واحد دیکود دستور میاد و میگه چه دستوری باید اجرا بشه. این ها هم D0 تا هرچندتا دستوری که سیستم داره شماره گزاری میشه.
حالا باید یه جدول درست کنید و توی اون مشخص کنید هر دستور از چه ریز دستور هایی تشکیل شده. هر کدوم از این ها توی یک پالس ساعت انجام باید بشه. مثلا برای انتقال AC به PC نیاز هست که شما خروجی آکومولاتور و همچنین لود pc رو فعال کنید. وقتی این جدول تموم شد باید برید سراغ پیاده سازیش با گیت ها. مثلا اگه همین ریزعملی که مثال زدم باید توی وضعیت سوم دستور 4ام پردازنده اجرا بشه معنیش این هست که :load pc=sc3.D4 با یه گیت اند این وضعیت قابل پیاده کردن هست.وقتی برای یکی از پایه های کنترلی نیاز بود بیش از یک خروجی گیت اند ها رو وصل کنید, همه خروجی اند ها رو با هم اور میکنید.وقتی تمام حالت های اون جدول رو به این شکل پیاده کردید واحد کنترل کارش تموم میشه.[img width=477 height=100]http://www.eca.ir/pic/upload/agazade.png[/img]
دیدگاه
-
پاسخ : طراحی cpu
نوشته اصلی توسط hasti/rسلام دوستان من در این ایام باید cpuطراحی کنم هر کس در این زمینه کار کرده خواهش می کنم کمکم کنه( با استفاده از نرم افزار پروتوس برای درس معماری ) :cry2:
http://newtechweb.blogfa.com/category/19
دیدگاه
دیدگاه