4- شکل زیر یک پردازنده خط لوله ای دو مرحله ای را نشان می دهد که شامل دو مرحله واکشی دستورالعمل و اجرا می باشد. این معماری با نام Princeton-style شناخته می شود که شامل یک حافظه اشتراکی دستورالعمل و داده می باشد. فرض کنید که ISA این معماری دارای یک branch delay slot می باشد به این معنی که اجازه می دهد دستورالعمل بعد از branch و jump بدون توجه به نتیجه پرش اجرا می شود.
الف- معادلات منطقی مربوط به تولید stall برای فاز (stage) واکشی دستورالعمل را مشخص نمایید. توضیح دهید چرا این پردازنده به stall نیاز دارد.
ب- معادلات منطقی مربوط به تولید سیگنال PCenable را بنویسید. سیگنال PCenable مشخص می کند که چه موقع مقدار جدید باید در PC نوشته شود و یا اینکه PC باید مقدار قبلی خودش را نگه دارد.
ج- معادلات منطقی مربوط به تولید سیگنالهای کنترلی AddrSrc و IRSrc مالتی پلکسرها را بنویسید.
د- در این قسمت اجرای سیکل به سیکل پردازنده MIPS خط لوله ای دو مرحله ای با معماری Princeton-style مورد بررسی قرار می گیرد. در جدول زیر، هر ردیف مقادیر بعضی از سیگنالهای کنترلی و بعضی از ثباتها را در یک سیکل خاص نشان می دهد. دو ردیف از این ستون برای نمونه پر شده است. بقیه ردیفهای جدول را پر نمایید.
ه- فرض کنید ورودی مالتی پلکسر WBSrc بجای اینکه از ورودی مالتی پلکسر AddrSrc بیاید (خط نقطه چین) از خروجی مالتی پلکسر AddrSrc بیاید (خط bold) و بقیه طرح بدون تغییر باقی بماند (شکل زیر). توضیح دهید چرا اینکار باعث می شود که پردازنده درست کار نکند. یک کد به عنوان مثال ارائه کنید که نشان دهد که پردازنده برای آن کد درست کار نمی کند.