Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Побудова функціональної схеми 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

Коментарі

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

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

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

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

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини