به نام خدا پروژه درس هم-طراحي سختافزار/نرمافزار تحويل 15 :تير 87 يک پردازنده به زبان SystemC .1 با مشخصات زير طراحي کنيد: شامل مجموعه دستورالعمل هاي زير باشد: دستورات ALUطبق جدول زير. .a دستورات پرش غير شرطي و شرطي بر اساس صفر بودن يک ثبات. .b دستورات loadو .store .c يک دستورالعمل براي فراخواني ماژولهاي سخت افزاري اضافه شده به پردازنده .در اين .d پردازنده ،عالوه بر دستورات معمول ،مي توان يک الگوريتم را به صورت سخت افزاري پياده سازي کرده و در قالب يک پردازنده کمکی يا ) FU (Functional Uintمطابق شکل زير به پردازنده متصل نمود. هر FUداراي يک شناسه ) (idاست .دستورالعملي به فرم CallFU fu_idپياده سازي کنيد که کار جاري پردازنده را متوقف و FUمربوطه را فعال کرده و پس از اتمام کار ،FUپردازنده را جهت ادامه کار فعال نمايد .چون FUها بر روي باس پردازنده-حافظه قرار دارند ،بايد مکانيزمي براي تمايز بين فراخواني FUو عمليات خواندن و نوشتن در حافظه در نظر گرفت .در ساده ترين روش، براي اين کار مي توان از يک سيگنال به نام callدر کنار سيگنال هاي read , writeاستفاده کرد. براي عمليات خواندن ونوشتن حافظه ،آدرس مورد نظر بر روي گذرگاه آدرس قرار گرفته و سيگنال هاي readيا writeيک ميشوند .اما براي فراخواني ،FUشناسه آن بر روي گذرگاه ادرس قرار گرفته و سيگنال callيک مي شود .براي ارسال پارامتر ها به FUو دريافت مقادير بازگشتي از آن ،به هر FUيک محدوده از آدرسهاي حافظه را اختصاص دهيد(.روش .)Memory-mappedدر اين معماري ،نوشتن پارامتر هاي مورد نياز FUقبل از فراخواني آن و خواندن نتيجه بعد از اتمام کار از آدرس اختصاص داده شده بر عهده برنامه نويس است. .2پردازنده بايد به صورت يک خط لوله ) 3 (pipelineمرحله اي شامل ،decode ،fetchو executeباشد. .3يک حافظه 8کيلوبايتي را پياده سازي کرده و به پروسسور متصل کنيد .يک نمونه از پياده سازي حافظه در SystemCدر بخش 7.2کتاب آمده است. .4مد آدرس دهي پردازنده مد مستقيم است .به عنوان گزينه اختياري (يا در صورت نياز) مدهاي آدرس دهي غيرمستقيم ،نسبي ،و آني را پياده کنيد. .5با نوشتن يک test benchعملکرد پردازنده را چک کنيد Test bench .ترجيحا يک الگوريتم واقعي را پياده سازي کند. توضيحات: يک پروتکل ساده براي فراخواني FUها و نحوه طراحي به صورت خط لوله در کالس مورد .a بحث قرار گرفت و در مجموعه فايل هاي SystemCدر سايت درس موجود است. .b الزم نيست کد نوشته شده قابل سنتز باشد. انتخاب پارامتر هايي که در توصيف پروژه ذکر نشده است (مانند تعداد و پهناي بيتي .c ثبات ها) بر عهده خودتان است. معماری کلی سيستم ALU مجموعه عمليات و يک bit-sliceاز موفق باشيد مدرسی
© Copyright 2024 Paperzz