Дослідження моделі RISC-CPU.

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

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

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

Рік:
2004
Тип роботи:
Лабораторна робота
Предмет:
Комп’ютерні системи
Група:
КI

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ національний університет “Львівська політехніКА” КАФЕДРА ЕЛЕКТРОННИХ ОБЧИСЛЮВАЛЬНИХ МАШИН Лабораторна робота №2 з курсу “Комп’ютерні системи” на тему: “Дослідження моделі RISC-CPU”. Виконав: ст. гр. КІ-3 Львів-2004 Мета роботи: ознайомитись з основними засобами моделювання SystemC, вивчити принципи роботи конвеєра. Короткі теоретичні відомості: SystemC 1.0 надає набір конструкцій моделювання, які схожі на ті, що використовуються для RTL і динамічного моделювання в HDL, наприклад Verilog або VHDL. Подібно до HDL, користувачі можуть створювати структурні проекти на SystemC 1.0, використовуючи модулі, порти і сигнали. Модулі можуть визначатися за допомогою інших модулів, що дозволяє будувати ієрархії структурних проектів. Порти та сигнали дають можливість передавати дані між модулями, і всі вони оголошуються користувачем для певного типу даних. Загально вживаними типами даних є прості біти, бітові вектори, символи, цілі числа, числа з плаваючою комою, вектори цілих чисел, і т.п. SystemC 1.0 також забезпечує підтримку чотирьох станів логічних сигналів (тобто сигналів, які моделюють 0, 1, X, і Z). У VHDL, конкуруючі режими моделюється, використовуючи процеси. У Verilog збіжні режими моделюються, з використанням блоків "завжди" і безперервних призначень. У SystemC 1.0, конкуруючі режими також моделюється з використанням процесів. Процес може бути задуманий як незалежна нитка контролю, яка поновлює виконання, коли відбувається деякий набір подій або деяка зміна сигналів, а потім тимчасово припиняє виконання після здійснення деякої дії. У SystemC 1.0 здатність точно визначити умову, за якої виконання процесу поновиться, є обмеженою: процес може бути чутливий тільки до змін значень специфічних сигналів і тому набір сигналів, до яких процес є чутливий, повинен бути перевизначений перед тим, як розпочнеться симуляція. Оскільки процеси виконуються паралельно і можливе тимчасове призупинення та відновлення виконання у вказаних користувачем точках, окремі зразки процесу SystemC загалом вимагають свого власного незалежного стеку виконання. (Рівноцінна ситуація в світі програмного забезпечення виникає в багатопотокових програмах - кожний потік вимагає свого власного стеку виконання.) Певні процеси в SystemC, які тимчасово призупинені в обмежених точках свого виконання, фактично не вимагають незалежного стеку виконання - ці типи процесів називаються "SC_METHODs". Оптимізація проектів SystemC з метою скористатися перевагами процесів типу SC_METHODs не забезпечує покращення роботи у випадку великої кількості зразків процесу в проекті. Апаратні сигнали мають декілька властивостей, які роблять їхнє моделювання в програмному забезпеченні нетривіальним. Користувачі часто хочуть симулювати апаратні сигнали і регістри такими, що ініціалізуються як "X" на початку симуляції. Це корисно для виявлення встановлених проблем при проектуванні через X- метод розповсюдження техніки в симуляції. У SystemC 1.0, ця особливість забезпечена використанням типів даних sc_logic і sc_lv. Подібно VHDL і Verilog, SystemC 1.0 підтримує концепцію затримки перевизначення сигналу і дельта циклів для того, щоб належним чином моделювати апаратні сигнали. Дельта цикл може передбачатися як дуже малий проміжок часу в межах симуляції, що не збільшує видимий для користувача час. Багаторазові дельта цикли можуть зустрічатися в наданому проміжку часу. Коли відбувається сигнальне перевизначення, інші процеси не бачать недавно визначеного значення до наступного дельта циклу. Процеси, які чутливі до зміни сигналу, продовжують виконуватися, якщо значення сигналу не змінюється різко стосовно його попереднього значення. Завдання на роботу: Дослідити модель RISC – CPU Виконання роботи: Структурна схема  SHAPE \* MERGEFORMAT  datain cs we addr ld_data ICACHE ld_valid CLK icache_valid dataout stall_fetch BIOS CLK addr we cs dataout datain bios_valid stall_fetch PAGING paging_wein paging_din paging_csin logical_address icache_din icache_validin icache_stall paging_dout paging_csout paging_weout CLK physical_address dataout data_valid stall_ifu ram_datain ram_we addr ram_cs icache_validin icache_stall icache_din ram_dataout bios_valid stall_fetch paging_dout icache_valid paging_csout pid_valid physical_address paging_weout pid_data PIC cs ireq0 ireq3 ireq1 ireq2 rd_wr intack_cpu intreq intreq intack vectno ireq1 ireq2 ireq3 ireq0 intack_cpu rd_wr vectno intack FETCH ramdata branch_valid next_pc branch_address int_vectno interrupt stall_fetch pred_fetch icache_valid bios_valid ram_cs pred_branch_valid pred_branch_address CLK address ram_we reset program_counter instruction_valid instruction smc_instruction pred_fetch_valid branch_clear interrupt_ack pred_fetch pred_branch_address pred_branch_valid instruction instruction_valid program_counter branch_clear pred_fetch_valid reset branch_address next_pc   SHAPE \* MERGEFORMAT  DECODE resetin instruction pred_instruction pred_inst_valid instruction_valid dram_dataout alu_dataout destreg_write_src destreg_write display_done clear_branch fpu_destout fpu_valid fpu_dout dram_write_src dram_rd_valid br_instruction_address next_pc branch_valid pred_on pc CLK reg_write alu_src mem_write alu_op mem_address mem_access branch_target_address float_valid decode_valid stall_fetch forward_B forward_A src_B src_A pid_data pid_valid mmx_valid DCACHE dest addr we cs statein datain CLK stateout out_valid dataout destout FLOATING dest floatb floata opcode in_valid CLK fout_valid fdestout fdout EXEC add1 negate opcode in_valid reset forward_A dinb dina shift_sel dest forward_B CLK out_valid dout Z V C destout MMXU mmxa opcode mmx_valid CLK dest mmxb mmxdestout mmxout_valid mmxdout reset instruction instruction_valid out_valid destout dout dram_dataout dram_rd_valid fdout fout_valid fdestout branch_clear dsp_data_valid program_counter pred_on pid_data pid_valid mmx_valid CLK alu_op src_A src_B float_valid alu_src decode_valid forward_B C V Z negate add1 shift_sel stall_fetch reg_write mem_write next_pc br_instruction_address branch_valid branch_target_address mem_access mem_address pred_instruction pred_inst_valid mmic_stateout mmic_out_valid mmic_dataout mmic_destout  Висновок: На цій лабораторній роботі я провів дослідження моделі RISC CPU що була змодельована засобами мови System C. Я розглянув дану модель. Визначив структуру і призначення блоків процесора та проаналізував функціональні зв’язки між блоками.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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