Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



Лабораторна робота "Імітаційна модель процесора" Теоретичні

Скачати 147.45 Kb.

Лабораторна робота "Імітаційна модель процесора" Теоретичні




Скачати 147.45 Kb.
Сторінка1/2
Дата конвертації28.05.2017
Розмір147.45 Kb.
ТипЛабораторна робота
  1   2


Лабораторна робота "Імітаційна модель процесора"

1.Теоретичні відомості

Структура процесора


Зпрощено будь-який процесор може бути представлений як пристрій, що виконує фіксовану кількість операцій над фік­сованим форматом даних.
При́стрій (англ. device, appliance, нім. Vorrichtung f, Einrichtung f) - обладнання, конструктивно завершена технічна система, що має певне функціональне призначення і за допомогою якої виконується яка-небудь робота або спрощується, полегшується певний процес.
Кількість - в Арістотелівській логіці друга з 10 категорій (класів, розрядів, які спрощують процес розумового визначення будь-якої речі), побічна обставина матеріальних речей , за допомогою якої вони поширюються в просторі, вимірюються якоюсь математичною нормою і здатні бути поділеними на окремі частини.

Операції, будучи обмеженими заданими форматами, називаються командами. Пос­лі­дов­ність команд утворює програму в кодах конкретного процесора (або об’єктна програма).

Команда, як послідовність деяких дій над даними, виконується по тактам (мікропрограма команди). І, у залежності від формату опе­ран­дів, кількість тактів може бути різна. Процесор працює з командами та даними, де дані є не просто масивами бітових рядків, а операндами команд. Тобто доступ процесора до пам’яті виконується у вигляді звернення (зчитування/запис) до операндів.

Послідо́вність - функція визначена на множині натуральних чисел яка набуває значення на об'єктах довільної природи. f : N → X \,\rightarrow \,\!X} .
В мовах програмування та математиці, опера́нд (англ. operand) - аргумент операції; дані, які обробляються командою; граматична конструкція, яка позначає вираз, що задає значення аргументу операції; іноді операндом називають місце або позицію в тексті, де має стояти аргумент операції.
По суті, нічого іншого процесор не робить. Команда має вигляд:

Код команди




1-й операнд




2-й операнд

........

N-й операнд

З максимальною кількістю операндів для команд пов’язується поняття адресності процесора. Типові реалізації: 1 ад­рес­ні, 2-адресні та 2.5-адресні (коли третій операнд неявний, або один чи декілька операндів задають діапазон фак­тич­но задіяних операндів). Найчастіше результат команди заноситься за місцем першого операнда. Таким чином, про­це­сор вирізняє у оперативній пам’яті (ОП) коди і дані, які за формою співпадають між со­бою (це бітові рядки за­да­них форматів). Формат операндів закладається у формат команди. Зафіксовану множину команд, їх формати та фор­ма­ти даних відносять до програмної моделі процесора.

Абсолютно повноцінно може виконуватися програма користувача, коли всі операнди є полями в ОП.

Кори́стува́ч - той, хто користується чим-небудь - майном, землею, комп'ютером тощо.
Але ти­по­во у програмах ланцюжки команд готують проміжні результати для наступних за ними команд, тобто частина да­них постійно потрібна на протязі деякого сегменту команд, Тому якщо такі дані зберігати в ОП, щоб зразу їх ви­кли­ка­ти для наступного виразу, недоцільно, бо швидкість роботи процесора перевищує швидкості всіх інших пристроїв, включно із ОП, яка є звичайним пристроєм на магістралі системи.
Програма (фр. programme письмове оголошення, порядок денний, від грец. prógramma вказівка) - заздалегідь затверджена (визначена) дія.
З метою оптимізації переміщення даних про­це­со­ри завжди мають свою власну невелику пам’ять у вигляді регістрів. Останні, як правило, спеціалізують під кон­крет­ні формати даних: 32-бітні цілі, 32/64-бітні з плаваючою точкою тощо, і кількісно їх – від десятків до декількох сотень.
Переміщення - зміна положення якогось матеріального об'єкту. В фізиці - це переміщення фізичного тіла. Переміщенням також називають вектор, який характеризує цю зміну. Має властивість адитивності. Абсолютна величина переміщення, тобто довжина відрізка, що сполучає початкову й кінцеву точку, вимірюється в метрах у системі СІ та в сантиметрах у системі СГС.
Число з рухомою комою - форма представлення дійсних чисел, в якій число зберігається у формі мантиси і показника степеня.
Форма́ти да́них - сукупність регламентованих в архітектурі ЕОМ структур для представлення різних за специфікою обробки та представлення видів інформації (цілих чисел, дробових чисел, текстових рядків тощо).
Також регістрам присвоюється власне ім’я чи номер. Відповідно, компілятори оптимізують код генеруємих програм для максимального використання регістрів.
Компілятор (англ. Compiler від англ. to compile - збирати в ціле) - комп'ютерна програма (або набір к. програм), що перетворює (компілює) вихідний код, написаний певною мовою програмування (мова джерела, англ. source language)
Серед команд є обов’язково команди переміщення даних, зо­кре­ма, і за­не­сен­ня даних з ОП у регістри та обміну кодами між регістрами. В одноадресних процесорах для виконання бі­нар­них операцій вводиться, як правило, регістр акумулятор для неявного представлення одного з операндів, він же і прий­має результат.

Розглянемо основний склад структур представлення внутрішніх даних будь-якого універсального процесора (без реалізації конвейєра команд).


  1. Регістри даних: цілих та адрес, даних з плаваючою точкою. Цілочисельні регістри часто іменують ре­гіс­тра­ми загального використання.

  2. Регістр команди, яка в даний момент інтерпретується.
    Інтерпретатор мови програмування (interpreter) - програма чи технічні засоби, необхідні для виконання інших програм, вид транслятора, який здійснює пооператорну (покомандну, построкову) обробку, перетворення у машинні коди та виконання програми або запиту (на відміну від компілятора, який транслює у машинні коди всю програму без її виконання).
    Містить спочатку саму команду для подальшого розбору, зокрема виділення операндів та приведення їх до потрібного для операції робочого вигляду, бо на рівні команди операнди можуть представлятися:

  • явно у команді (літералом);

  • номером/ім’ям регістра;

  • адресою у ОП;

  • косвеною адресою, тобто адресою поля ОП чи регістра, в якому зберігається адреса значення операнда.

  1. Регістр стану, в якому фіксується бітовими комбінаціями, зокрема:

  • знак попередньої арифметичної операції (мінус, нуль чи плюс);

  • виникнення переповнення;

  • втрата значимості (коли у числі з плаваючою точкою при ненульовому порядку мантиса стала ну­льо­вою);

  • превілевійовані режими, деякі аварійні ситуації;

  • ключ захисту пам’яті (маска пам’яті) тощо.

  1. Регістр адреси поточної чи наступної команди. Може містити у лабораторній поточний номер команди.
    Перепо́внення - стан, при якому обробка програми стає невизначеною внаслідок того, що значення операнда перебільшило ємність пам’яті, виділену для нього. При програмуванні обчислювальних систем, кожному числу, змінній (операнду) виділяться певна порція машинної пам´яті (комірок пам'яті), залежно від оголошеного типу, що може задаватись явно або неявно.
    Лабораторія Лабораторія (середньовічна лат. laboratorium, від лат. laboro - працюю, лат. labor - праця, робота) - багатозначний термін, що залежно від контексту, може означати: Спеціально обладнане та устатковане приладами, пристроями, мережами приміщення або транспортний засіб (наприклад, автомобіль, вагон потягу, літак, гелікоптер, субмарина тощо) для наукових досліджень, навчальних робіт, контрольних аналізів та випробувань (див. лабораторне устаткування). Установу або її відділ, що проводить експериментальну науково-дослідницьку та навчальну роботу. Внутрішні творчі процеси, внутрішню діяльність кого-небудь. Наприклад, творча лабораторія дослідника, митця тощо.

Представлення цілочисельної інформації в процесорах та пам’яті


Для представлення цілих зі знаком є багато кодів, проте найчастіше використовується прямий та доповнюючий коди. У прямому коді серед N бітів числа виділяється один знаковий біт (0- плюс, 1 –мінус), а інші біти представляють число 2-й системі числення за модулем:

біт N-1

біт знаку

біт N-2 числа

(старший)

біт N-3 числа

…………

біт 1 числа

біт 0 числа

(молодший)

Наприклад, у форматі із 8 бітів число –5 матиме у прямому коді вигляд 10000101, а 5 таке: 00000101.
Системою числення, або нумерацією, називається сукупність правил і знаків, за допомогою яких можна відобразити (кодувати) будь-яке невід'ємне число. До систем числення висуваються певні вимоги, серед яких найбільш важливими є вимоги однозначного кодування невід'ємних чисел 0, 1,… з деякої їх скінченної множини - діапазону Р за скінченне число кроків і можливості виконання щодо чисел арифметичних і логічних операцій. Крім того, системи числення розв'язують задачу нумерації, тобто ефективного переходу від зображень чисел до номерів, які в даному випадку повинні мати мінімальну кількість цифр. Від вдалого чи невдалого вибору системи числення залежить ефективність розв'язання зазначених задач і її використання на практиці.

Доповнюючий код був задуманий для того, щоб команду додавання та віднімання реалізувати на апаратному рівні як одну команду, проте на рівні програмної моделі процесора залишається і команда додавання, і віднімання. По­бі­то­вий формат числа аналогічний наведеному вище, а біти числа кодуються дещо по-іншому.

Додавання - бінарна арифметична операція, суть якої полягає в об'єднанні математичних об'єктів.
Відніма́ння - двомісна математична операція, обернена додаванню.
Анало́гія - (грец. αναλογια - «відповідність») - подібність, схожість у цілому відмінних предметів, явищ за певними властивостями, ознаками або відношеннями.

Додатнє число у доповнюючому коді співпадає з формою прямого коду. Від’ємне ж число будується так:

Крок

Дія

Коментар

1

Представляємо число у прямому коді і як додатнє

Представимо, наприклад, –5 у доповнюючому коді (знаковий біт – зліва): 00000101

2

Інвертуємо всі біти

11111010

3

До отриманого числа додаємо 1

11111010



00000001

4

Отримуємо число у доповнюючому коді

11111011

Наприклад, число –1 у доповнюючому коді у всіх бітах формату буде мати 1. Тепер, коли всі операнди пред­став­ле­ні у доповнюючому коді, ми можемо виконувати лише операцію додавання. Знакові біти приймають участь у операції і прий­мають біти переносу від молодших розрядів. Для прикладу складемо ( 5) (-5), маючи до послуг вже отримане пред­ставлення у форматі з 8 біт:

00000101



11111011

1’00000000

де апострофом відокремлений біт переносу в результаті переповнення у знаковому біті, тобто це вже мав бути 9-й біт, але для 8-бітного формату він втрачається, - отже в результаті отримуємо 00000000.

Результат, пі́дсумок, (заст. ску́ток, вислід) - кінцевий наслідок послідовності дій. Можливі результати містять перевагу, незручність, вигоду, збитки, цінність і перемогу. Результат є етапом діяльності, коли визначено наявність переходу якості в кількість і кількості в якість.
Апо́строф (від грец. αποστροφος - «звернений набік») - нелітерний орфографічний знак. Це графічний знак, який не позначає звука. За допомогою апострофа в українській мові відокремлюються йотовані голосні літери від попередніх губних приголосних та «р», наприклад: м’язи, бур’ян.



  1   2


Скачати 147.45 Kb.

  • Представлення цілочисельної інформації в процесорах та пам’яті