Побудова функціональної схеми RISC CPU згідно програмної моделі

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2024
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Комп’ютерні системи

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти, науки, молоді та спорту України Національний університет “Львівська політехніка” Кафедра ЕОМ ЗВІТ до лабораторної роботи №6 на тему: «Побудова функціональної схеми RISC CPU згідно програмної моделі» з предмету: «Комп’ютерні системи» Підготував: ст.гр. КІ-41 Глова Ю.І. Прийняв: Муляревич О.В. Львів 2017 Мета роботи: Дослідити програмну модель блоків ,які входять до складу програмної моделі RISC CPU, створеної на мові SystemC. Побудувати структурну схему блоків Програмна модель блоку PAGING *************************************** paging.cpp -- Instruction Paging Unit ******************************** #include <iostream> #include "systemc.h" #include "paging.h" #include "directive.h" using namespace std; void paging::entry() { int address=0; int address_conversion_factor = 0; int dataout_tmp =0; while (true) { wait_until(paging_csin.delayed() == true); address = logical_address.read(); address_conversion_factor = paging_din.read(); if (address >= 5) { if (paging_wein.read() == true) { // Write operation paging_dout.write(paging_din.read()); paging_csout.write(true); paging_weout.write(true); physical_address.write(logical_address.read()); wait(); paging_csout.write(false); paging_weout.write(false); } else { // Read operation paging_csout.write(true); paging_weout.write(false); physical_address.write(logical_address.read()); wait(); wait_until(icache_validin.delayed() == true); dataout_tmp = icache_din.read(); if (PRINT_PU){ cout << "-----------------------" << endl; printf( "PAGE : mem=%x\n",dataout_tmp); cout << "PAGE : " ; cout << "at CSIM " << sc_time_stamp() << endl; cout << "----" << endl; } dataout.write(icache_din.read()); data_valid.write(true); paging_csout.write(false); wait(); data_valid.write(false); wait(); } } } } // end of entry function ****************************************** paging.h -- Instruction Paging Unit struct paging : sc_module { sc_in<unsigned > paging_din; // input data sc_in<bool> paging_csin; // chip select sc_in<bool> paging_wein; // write enable sc_in<unsigned > logical_address; // logical address sc_in<unsigned > icache_din; // data from BIOS/icache sc_in<bool> icache_validin; // data valid bit sc_in<bool> icache_stall; // stall IFU if busy sc_out<unsigned > paging_dout; // output data sc_out<bool> paging_csout; // output cs to cache/BIOS sc_out<bool> paging_weout; // write enable to cache/BIOS sc_out<unsigned > physical_address; // physical address sc_out<unsigned > dataout; // dataout from memory sc_out<bool> data_valid; // data valid sc_out<bool> stall_ifu; // stall IFU if busy sc_in_clk CLK; signed int pid_reg; //CPU process ID register SC_CTOR(paging) { SC_CTHREAD(entry, CLK.pos()); pid_reg = 0; } void entry(); };. Структурна схема блоку PAGING  Висновок: у цій лабораторній роботі я дослідив програмну модель блоку PAGING, який входять до складу програмної моделі RISC CPU, створеної на мові SystemC, та побудував структурну схему блоків PAGING.
Антиботан аватар за замовчуванням

22.03.2018 19:03-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!