DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Дослідження програмної моделі блоку PAGING з моделі RISC CPU

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
КН
Кафедра:
Кафедра електронних обчислювальних машин

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

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
ТБВ
Група:
КІ-31
Коротко про документ

Про що ця робота

У роботі досліджено програмну модель блоку PAGING з моделі RISC CPU на мові SystemC. Побудовано структурну схему блоків та проаналізовано код декодера.

У роботі розглядаються

  • RISC CPU
  • SystemC
  • Програмна модель
  • Блок PAGING
  • Архітектура процесора
  • Моделювання апаратного забезпечення

Зміст і розділи

  1. Мета роботи
  2. Програмна модель блоку paging
  3. Структурна схема
  4. Висновок
Для кого:Студенти технічних спеціальностей, які вивчають архітектуру комп'ютерів та моделювання мікропроцесорів.
Викладачі:Торубка Т. В.

Ключові поняття

PagingRISC CPUSystemCАрхітектура процесораПрограмна модельСтруктурна схема

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

Міністерство освіти, науки, молоді та спорту України Національний університет “Львівська політехніка” Кафедра ЕОМ Звіт до Лабораторної роботи №6 «Дослідження програмної моделі блоку PAGING з моделі RISC CPU» Варіант 10(4) Кузь А.М. Перевірив: Торубка Т.В. Львів 2013 Мета роботи: Дослідити програмну модель блоків ,які входять до складу програмної моделі RISC CPU, створеної на мові SystemC. Побудувати структурну схему блоків Програмна модель блоку PAGING *************************************** decode.h -- Instruction Paging Unit struct decode : sc_module { sc_in<bool> resetin; // input reset sc_in<unsigned> instruction; // fetched instruction sc_in<unsigned> pred_instruction; // fetched instruction sc_in<bool> instruction_valid; // input valid sc_in<bool> pred_inst_valid; // input valid sc_in<bool> destreg_write; // register write enable sc_in<unsigned> destreg_write_src; // which register to write? sc_in<signed> alu_dataout; // data from ALU sc_in<signed> dram_dataout; // data from Dcache sc_in<bool> dram_rd_valid; // Dcache read data valid sc_in<unsigned> dram_write_src; // Dcache data write to which reg sc_in<signed> fpu_dout; // data from FPU sc_in<bool> fpu_valid; // FPU data valid sc_in<unsigned> fpu_destout; // write to which register sc_in<bool> clear_branch; // clear outstanding branch sc_in<bool> display_done; // display to monitor done sc_in<unsigned > pc; // program counter from IFU sc_in<bool> pred_on; // branch prediction is on sc_out<unsigned > br_instruction_address; // branch invoke instruction sc_out<bool> next_pc; // next pc ++ ? sc_out<bool> branch_valid; // branch valid signal sc_out<unsigned > branch_target_address; // branch target address sc_out<bool> mem_access; // memory access valid sc_out<unsigned > mem_address; // memory physical address sc_out<int> alu_op; // ALU/FPU/MMU Opcode sc_out<bool> mem_write; // memory write enable sc_out<unsigned> alu_src; // destination register number sc_out<bool> reg_write; // not implemented sc_out<signed int> src_A; // operand A sc_out<signed int> src_B; // operand B sc_out<bool> forward_A; // data forwarding to operand A sc_out<bool> forward_B; // data forwarding to operand B sc_out<bool> stall_fetch; // stall fetch due to branch sc_out<bool> decode_valid; // decoder output valid sc_out<bool> float_valid; // enable FPU sc_out<bool> mmx_valid; // enable MMU sc_out<bool> pid_valid; // load process ID sc_out<signed> pid_data; // process ID value sc_in_clk CLK; signed int cpu_reg[32]; //CPU register signed int vcpu_reg[32]; //virtual CPU register bool cpu_reg_lock[32]; //lock architectural state register unsigned int pc_reg; //pc register unsigned int jalpc_reg; //jump back register //Constructor SC_CTOR(decode) { SC_CTHREAD(entry, CLK.pos()); FILE *fp = fopen("register","r"); int size=0; int mem_word; printf("** ALERT ** ID: initialize Architectural Registers\n"); while (fscanf(fp,"%x", &mem_word) != EOF) { cpu_reg[size] = mem_word; size++; } pc_reg = 0; jalpc_reg = 0; for (int j =0; j<32; j++) vcpu_reg[j] = 0; for (int k =0; k<32; k++) cpu_reg_lock[k] = 0; } // Process functionality in member function below void entry( Структурна схема    Висновок: у цій лабораторній роботі я дослідив програмну модель блоку PAGING, який входять до складу програмної моделі RISC CPU, створеної на мові SystemC, та побудував структурну схему блоків DECODE.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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