۱۳۹۸ اردیبهشت ۱۲, پنجشنبه

نکات تستی کنکور معماری کامپیوتر - ورودی خروجی

سه رفتار برای گذرگاه IO و گذرگاه حافظه وجود دارد:
۱. دو گذرگاه مجزا. یکی برای IO و دیگری برای حافظه
۲. یک گذرگاه نیمه مشترک با حطوط داده و آدرس مشترک و خطوط کنترلی مجزا Isolated IO در این روش از سیگنالهای IO read IO write و Memory read و Memory write استفاده میشود.
۳. یک گذرگاه مشترک Memory mapped در این حالت بخشی از فضای آدرس به حافظه و بخشی به IO اختصاص میابد.
در روش Isolated IO در CPU دستورهای جداگانه ای برای IO و حافظه وجود دارد ولی در روش memory mapped اینگونه نیست.
طرحهای اصلی داوری باس بصورت متمرکز و غیر متمرکز است که برای تعداد کم دستگاه(تا ۸ تا) متمرکز بهتر است و وقتی تعداد دستگاهها زیاد میشود غیر متمرکز بهتر است. در چند حالت میشود بررسی کرد:
۱. یک داوری متمرکز استفاده شود و همه از داور مرکزی در خواست باس میکنند. این خط بصورت زنجیره ای daisy chain از یک ایستگاه به بعدی است و اولین دستگاهی که تاییدیه را ببیند و میخواهد مستر باس باشد کنترل را در اختیار میگیرد.
۲. میتوانیم دستگاهها را با چندین خط به داور وصل کنیم تا اگر دستگاهی دور است و اولویت بیشتری میخواهد با خط با اولویت بیشتر به داور متصل شود.
۳. میتواند هر دستگاه خط درخواست اولویت خودش را داشته باشد.
۴. داوری باس غیرمتمرکز باشد وقتی دستگاهی باس را میخواهد ابتدا خط درخواست باس را فعال میکند و سپس بررسی میکند باس اشغال است یا خیر اگر اشغال فعال نباشد با صفر فرستادن به دستگاههای با اولویت بیشتر باس را در اختیار میگیرد.
در حالت programmed io پردازنده همیشه مشغول چک کردن پرچم اعتبار داده است.
در حالت interrupt initiated io به دو صورت میتوان آدرس برنامه سرویس io را بدست آورد:
۱. حالت Non vectored interrupt: در این حالت آدرس پرش هنگام وقوع وقفه مکان ثابتی از حافظه است و همه وقفه ها یک روتین وقفه مشترک دارند.
۲. حالت  Vectoreed  interrupt: منبع وقفه دهنده خود اطلاعات مربوط به محل پرش را معین میکند که به این اطلاعات بردار وقفه میگویند.
سه روش اولویت بندی وقفه داریم:
۱. سرکشی Polling روشی نرم افزاری است و وقت زیادی از پردازنده میگیرد.
۲. زنجیره ای daisy chain مانند روش زنجیره ای در داوری دستگاهها به ترتیب اولویت دستگاههای نزدیک اولویت بیشتری دارند و روشی سخت افزاری است.
۳. موازی parallel :‌ با ثباتی به نام ثبات وقفه کار میکند که هر یک از بیتهای آن مشخص میکند کدام دستگاه جانبی وقفه را ارسال کرده است که با ثبات ماسک and میشود و ورودی سیستم اولویت بندی را مشخص میکند.
تشخیص یک وقفه همیشه پس از اجرای دستور جاری انجام میشود.
در حالت DMA پردازنده مشغول انتقال اطلاعاتی که در این لحظه نیازی به انها ندارد نمیشود و آن اطلاعات بصورت موازی با کار پردازنده توسط دستگاه کنترل کننده DMA انتقال پیدا میکنند.
اگر در معماری از DMA استفاده شده باشد خطوط BRو BG حتما در CPU وجود دارند.
خطوط RD,WR اگر BG=0 یعنی گذرگاه در اختیار CPU است و این دو خط ورودی DMAهستند و در غیر اینصورت گذرگاه در اختیار DMAاست و این دو خط خروجی هستند.
چیزهایی که باید از کتاب خوانده شود: روشهای تقسیم گذرگاه بین IO و حافظه. باس سنکرون و آسنکرون. سیگنال استروب. انتقال سریال ناهمگام. داوری باس. حالتهای انتقال(ورودی خروجی تحت کنترل برنامه programmed io. ورودی خروجی وقفه دهنده interrupt initiated io. دسترسی مستقیم DMA.) اولویت بندی وقفه. کنترل کننده DMA. انتقال توده ای و دزدی چرخه Cycle Stealing.

نکات تستی کنکور معماری کامپیوتر - ریزبرنامه ریزی


آدرس ریز دستور بعدی ممکن است از چهار راه بدست بیاید:
۱. جمع CAR با یک
۲. پرش شرطی یا غیر شرطی درون حافظه.
۳. نگاشت.
۴. صداکردن و بازگشتن اززیرروالها داخل حافظه کنترل
روتین واکشی به این صورت است: آدرس دستور از PC به AR منتقل شده و دستور از حافظه خوانده میشود و به DR منتقل میشود و سپس PC به سراغ دستور بعدی میرود.
مزایا و معایب روش سخت افزاری نسبت به ریز برنامه ریزی: روش سخت افزاری سریعتر است ولی قابل انعطاف نیست.
مزایا و معایب ریزبرنامه ریزی عمودی در مقابل افقی:  حسن ریز برنامه ریزی عمودی این است که به نسبت دستورات کمتری استفاده میکند ولی ریزبرنامه ریزی افقی توانمندتر است زیرا هیچ محدودیتی در برابر تغییر و اصلاح مجموعه ریزدستورهای یک ریز عمل ایجاد نمیکند برخی از محاسن HM عبارتند:
۱. اجرای همزمان سیگنالهای کنترل با مجموعه ریزدستور یکسان یعنی هر ترکیبی از سیگنالهای کنترلی در یک زمان قابل انگیزش است.
۲. کم بودن نسبی زمان اجرای ریزدستورها. در VMبه زمان اجرای بیشتری نیاز دارد زیرا تاخیرهای مربوط به رمزگشایی فیلدهای ریز دستور کد شده لازم است.
در ریز برنامه ریز عمودی باید با استفاده از رمزگشا ریزعمل تولید کرد ولی در ریزبرنامه ریزی افقی ریزعملها مستقیما در ریز دستور قرار میگیرند یعنی هر بیت خود یک ریزعمل است یا یک سیگنال است و نیاز به رمزگشایی ندارد.
در صورت استفاده از نانو برنامه: ریز دستورات مختلف(به ازای هر کدام یکبار) را در نانو حافظه میریزیم و اشاره گر به هرکدام از آن حالات مختلف ریز دستورات را در میکرو حافظه میگذاریم. در این مساله ها تعداد سیگنالهای کنترلی همان تعداد بیتها میشود و به تعداد لگاریتم شرطها بیت در نظر گرفته میشود.
وجود CDR میتواند عملیات تولید آدرس بعدی و اجرا را همپوشانی کند.
چیزهایی که باید از کتاب خوانده شود: کلمه کنترلی. ریز دستور. ریز عمل. CAR. فرمت دستور. روتین واکشی. طراحی واحد کنترل. ریز برنامه ریزی عمودی و افقی.

نکات تستی کنکور معماری کامپیوتر - حافظه


دو نوع لوکالیتی وجود دارد: زمانی و مکانی
برای اینکه با توجه به عناصر خاصی برگ سازی کنیم باید ببینیم کدام اندیسها در آن عناصر تغییر میکنند.
اندازه کل حافظه کش = تعداد کلمه ها * اندازه کلمه  +‌تعداد بلاکها *‌ تعداد بیتهای tag + تعداد بلاکها * ۱(برای بیت valid)
در پس نویسی از کامل نویسی انرژی و پهنای باند کمتری مصرف میشود.
حالت no write allocate فقط در سیاست کامل نویسی مناسب است.
در کارایی CPU زمانی را که CPU معطل حافظه میماند نیز منظور میکنیم.
چیزهایی که باید از کتاب خوانده شود: لوکالیتی زمانی و مکانی. برگسازی interleaving. حافظه کش. فرمولهای زمان متوسط با توجه به نرخ برخورد در کش. نگاشتها(مستقیم. انجمنی. مجموعه ای). فرمت آدرس در نگاشت مستقیم و نگاشت انجمنی و نگاشت مجموعه ای. سیاستهای نوشتن(کامل نویسی. پس نویسی.) سیاستهای miss write. کارایی CPU.پهنای باند حافظه. حافظه انجمنی.

نکات تستی کنکور ارشد معماری کامپیوتر - پایپلاین


اگر f درصد پردازه ها قابل موازی سازی نباشد همیشه تسریع کمتر از 1/f است و تنها زمانی برابر این عدد میشود که تعداد پردازنده ها بینهایت باشد.
کارایی = تسریع / تعداد پردازنده ها
برای بدست آوردن پریود کلاک در پایپلاین همیشه t ماکزیمم را با زمان لچ جمع میزنیم.
اگر n کار را در m دسته وارد پایپلاین کنیم زمان اجرا برابر میشود با mkT + (n-m) T هیچ فرقی نمیکند دسته ها چندتایی باشند.
اگر پایپلاین سنکرون نباشد بین هر دو خط نیاز به ack و ready است.
حداکثر توان عملیاتی برابر با فرکانس کلاک است.
چیزهایی که باید از کتاب خوانده شود: انواع کامپیوتر از نظر پردازنده و داده(SISD. SIMD. MISD. MIMD). پایپلاین. توان عملیاتی. پایپلاین محاسباتی و پایپلاین دستور. انواع مخاطره ها و روشهای رفع مخاطره در پایپلاین.