// طراحی بیسیک کامپیوتر با نرم افزار logisim - صفحه 2 - برق،رباتیک،کامپیوتر - الکترونیکا

الکترونیکا پروژه های الکترونیک و مکانیک

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

طراحی بیسیک کامپیوتر با نرم افزار logisim

اطلاعات بیشتر
10 سال 10 ماه قبل #69 توسط atmega128
اولین بخش این cpu در واقع alu میباشد و بر اساس alu و فرمت دستور بخش کنترلی و باس داده ساخته میشوند.برای بررسی یخش alu ابتدا این قسمت را در نرم افزار logisim پیدا میکنیم:




سپس باید بدانیم alu از دستورات زیر پشتیبانی میکند و در واقع طبق شکل دستورات زیر را پشتیبانی میکند:
  1. sll-shift left logical
  2. sra-shift right arithmetic
  3. srl-shift right logical
  4. واحد مقایسه کوچکتر بزرگتر و مساوری
  5. جمع کننده
  6. تفریق کننده
  7. And منطقی
  8. Orمنطقی
  9. تا این
جا یک alu طراحی کرده ایم که یک سری ورودی و یک سری بیتهای کنترلی دارد.بیتهای ورودی A,B را به باس وصل میکنیم.و بیتهای کنترلی را ALUctr مینامیم تا در مرحله ی بعد آنها را به بخش کنترلی وصل کنیم.از آنجایی که از یک مالتی پلکسر 16 به یک استفاده کرده ایم ALU دارای 4 خط کنترلی است.
همچنین خروجی های ALUشامل بیتهای نتایج و یک بیت پرچم برای نشان دادن مساوی بودن یا نامساوی بودن A,B است.

پيوست:
این کاربران از شما تشکر نموده اند: MAryAZ, OMID_1000101

لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.

اطلاعات بیشتر
10 سال 10 ماه قبل - 10 سال 10 ماه قبل #70 توسط atmega128
حال به بررسی datapath میپردازیم ..در واقع این بخش شامل کل اتصالات موجود بین بخشهای مختلف با محوریت alu میباشد و alu اولین بخشی بود که حتماً در قلب هر datapath موجود است و بقیه بخشها را بسته به دید طراح یا نوع معماری میتوان عوض کرد یا ادغام نمود...اما در این cpu چه بخشهای وجود دارد؟
1-پس از alu یک بخش به نام bne وجود دارد که کارش دستور دادن به شمارنده برنامه pc است به این صورت که خروجی بیت پرچم alu برای حالت مساوری فعال بود و دستور پرش(برای حالت پرش در صورت برابری)فعال بود آنگاه باید به pc دستور دهد که به آدرس جدید پرش کند.
2-بخش مموری داده
3-بخش Display که این بخش به دلخواه طراح بوده و برای نمایش خروجی روی 7seg طراحی شده
4-بخش extender که وظیفه ی آن گسترش بیت علامت است که بحث طولانی دارد.
5- بخس مموری دستورInstructionMemory
6-بخش شمارنده برنامه pc
7-بانک رجیستر
در شکل زیر نحوه ی اتصال این بخشها را میبینید:

پيوست:
آخرين ويرايش: 10 سال 10 ماه قبل توسط atmega128.
این کاربران از شما تشکر نموده اند: MAryAZ, colorless

لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.

اطلاعات بیشتر
10 سال 9 ماه قبل #73 توسط MAryAZ
kheili mamnooonam , lotf kardin
kheiliiiiiiiiiiiiiiiiiiiiiiiii

لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.

اطلاعات بیشتر
10 سال 9 ماه قبل #75 توسط MAryAZ
سلامه دوباره
ببخشید، من باید ششم تحویل بدم
واسم چند تا سوال پیش اومده
یکی اینکه چجوری باید از این پروژه خروجی بگیرم و ببینم که کار می کنه ?
بعد لطفا یه توضیحی در مو د extender بدین که اگه ازم پرسید بلد باشم .
و یک توضیح کلی در مورد رجیسترها
در کل که یه کمکی بکنین که این پروژه رو به سلامتی تحویل بدم
دستتون درد نکنه

لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.

اطلاعات بیشتر
10 سال 9 ماه قبل #77 توسط atmega128
خوب برای این که کار کنه باید یه سری دستور توی حافظه دستور قرار بدی و به ترتیب انجام میده و خودش داره یه سری دستور که توی خروجی عدد 1و2و3 رو نشون میده.
در مورد بخش گسترش بیت علامت باید یه سری به طراحی دیجیتال موریس مانو بزنی...به فرض ما یک عدد 16 بیتی علامت دار داریم که به شکل زیر باشه:
12-
خوب این عدد منفیه و حالت باینریش در حالت تک بایت میشه:
0100 1111
حالا اگه بخوایم همینو گسترش بدیم به 16 بیت باید تمام بیتهای بالا رو یک کنیم تا عددمون همون -12 باقی بمونه:
0100 1111 1111 1111
حالا اگه عدد مثبت بود باید تمام اون بیتهای بالا رو صفر میدادیم که این عمل رو گسترش بیت علامت میگن.
این کاربران از شما تشکر نموده اند: MAryAZ, colorless, OMID_1000101

لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.

اطلاعات بیشتر
10 سال 9 ماه قبل #78 توسط MAryAZ
خیلی ممنونم . از خروجی گرفتنش که چیزی نفهمیدم ولی ایشالله که بتونم استادمو قانع کنم .لطف کردین

لطفاً ورود یا ايجاد حساب كاربری برای پیوستن به بحث.

قدرت گرفته از كيوننا