Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Лекция 1. Введение

Рис. 1.1 Регістри користувача процесора i486

Типу Intel. Регістри користувача

Програмна модель процесора. Опис набору регістрів процесора

КОНТРОЛЬНІ ПИТАННЯ

1. Дати чітке визначення понять «сила», «потужність» та «м’язова витривалість». Як вони пов’язані з м’язовою витривалістю?

2. Які механізми зумовлюють прояв надлюдських зусиль?

3. Що таке аутогенне гальмування? Яку рольвідіграє у процесі силової підготовки?

4. Чим відрізняється тривала гіпертрофія від тимчасової?

5. Що таке гіперплазія? Як вона може бути пов’язана з процесом приросту сили та збільшення розміру м’язів у ході силової підготовки?

6. Яка фізіологічна основа виникнення болісних відчуттів у м’язах?

7. Розказати про статичні, ізокінетичні режими тренувальних навантажень, вправи з використанням різних обтяжень, застосування тренажерів перемінного опору у силовій підготовці.

8. Які принципи слід враховувати при плануванні програми силової підготовки?

 

 

 

Програмна або регістрова модель – це набір доступних для користувача внутрішніх регістрів процесора. Регістрами називаються області високошвидкісної пам’яті, розміщені всередині процесора в безпосередній близькості до його ядра. Використання регістрів уточнюватиметься в процесі вивчення архітектури процесора і його програмування. В розпорядження програміста надається не дуже багато регістрів, тому вони є критично важливим ресурсом і за їх вмістом потрібно досить уважно слідкувати. Відзначимо, що програмна модель i486 (i486+ – так ми позначатимемо в подальшому всі наступні моделі (архітектури) процесорів типу Intel, вважаючи модель i486 як базову) має 31 регістр: 16 регістрів прикладного програміста і 15 регістрів системного програміста (системні регістри).

Регістри користувача. Ці регістри наведені на рис. 1.1 і функціонально поділяються на декілька груп

 

31 15 7 0

eax ah ax al
ebx bh bx bl
ecx ch cx cl
edx dh dx dl

15 7 0

esp sp
ebp bp
esi si
edi di

Загальні регістри

15 0

сs
ss
ds
es
fs
gs

Cегментні регістри

31 15 0

eip ip

Вказівник команди

31 15 0

eflags flags

Регістр прапорців

 

 

Загальні регістри. Вісім 32-бітових регістрів використовуються для зберігання даних і/або адрес. Буква е в назві означає “розширений” (extended). В командах допускається вказувати їх молодші 16-бітові половини – регістри ax, bx, cx, dx, sp, bp, si, di. Крім того, в перших чотирьох регістрах окремо можна адресувати старші (high) і молодші (low) 8-бітові половини – регістри ah, bh, ch, dh, al, bl, cl, dl. Старші половини 32-бітових регістрів, тобто біти від 16 до 31, регістрів загального призначення не мають визначених назв і тому їх адресувати неможливо (для використання цих частин можна розробити певні програмні засоби). Загальні регістри беруть однаково участь у командах оперування даними і можуть застосовуватися рівноправно в будь-яких режимах адресації. Ці регістри в i486 стали більш універсальними, ніж в процесорах 8086/80286, оскільки перші чотири регістри можна використовувати для адресації операндів. У певних командах ці регістри виконують спеціальні функції, що відображено в їхніх назвах:

eax/ax/al – акумулятор (accumulator) – найчастіше використовується для зберігання проміжних даних. Як правило, команди з використанням цього регістра виконуються дещо швидше і мають меншу довжину. В операціях множення/ділення акумулятор містить множене/ділене до початку виконання операції і добуток/частку після операції. В командах введення-виведення через порти в акумуляторі знаходяться дані, які вводяться-виводяться. Операції з десятковими числами реалізовуються тільки з використанням регістра al.

ebx/bx – (base register) базовий регістр. Містить базову (початкову) адресу об’єкта даних в пам’яті, а також визначає базову адресу таблиці для команди перетворення xlat.

ecx/cx/cl – (counter register) регістр-лічильник у командах повторення (цикли, зсуви, маніпуляції з ланцюжками).

edx/dx – (data segment register) регістр даних. Використовується для зберігання проміжних даних найчастіше, а також в командах множення і ділення (разом з акумулятором). У командах введення-виведення dx містить адресу порта.

esp/sp – (stack pointer register) вказівник стека. Використовується в командах push, pop, а також інших стекових операціях, командах call, ret і iret. Регістр esp/sp адресує вершину стека в поточному сегменті стека.

ebp/bp – (base pointer register) вказівник бази. Використовується для зручності доступу до об’єкта даних у стекові (найчастіше фактичних параметрів підпрограм).

esi/si – (sourse index register) індекс джерела.

edi/di – (destination index register) індекс приймача.

Сегментні регістри. Їх шість 16-бітових регістрів. Вони містять селектори сегментів (segment selector), які асоціюються з різними формами звернення до оперативної пам’яті. Регістри cs, ss, ds, es збереглися незмінними від процесора 8086, а два регістри fs і gs вперше з’явилися в процесорі 80386. Наявність сегментних регістрів пояснюється сегментною організацією пам’яті. В процесорі 8086 максимальний розмір сегмента 64К, в процесорах 80286/80386 та i486+ вміст сегментного регістра визначає сегмент не прямо, а через дескрипторну таблицю (розмір сегмента до 4Г).

cs – (code segment register) сегментний регістр коду. Визначає поточний сегмент, який містить машинні команди (власне програму) і називається кодом.

ss – (stack segment register) сегментний регістр стека. Задає поточний сегмент стека. Вершину стека адресує регістр esp/sp.

ds – (data segment register) сегментний регістр даних. Ідентифікує головний сегмент, який містить дані поточної програми.

es, fs, gs – додаткові сегментні регістри, призначені для задання ще трьох сегментів даних, доступних поточній програмі.

Явна специфікація сегмента в програмі, як правило, не потрібна. Якщо сегмент не вказано за допомогою префікса заміни, то застосовується правила вибору сегмента процесором. Подамо ці правила в наступній таблиці:

 

Тип звернення Використовуваний сегмент Використовуваний регістр Правило вибору сегмента за домовленістю
Команда   Стек   Локальні дані   Ланцюжок – приймач Сегмент коду Регістр cs Сегмент стека Регістр ss Сегмент даних Регістр ds Додатковий сегмент даних Регістр es Автоматично при вибірці команди Всі стекові операції. Всі звернення через esp ebp Усі звернення до даних, крім стекових і ланцюжкових. Приймач в ланцюжкових командах

 

Відзначимо, що префікс заміни сегмента не діє на вибір сегмента за замовчуванням (домовленістю, тобто правилами, вказаними в цій таблиці) в таких випадках:

– для адресації ланцюжків-приймачів використовується тільки регістр es;

– приймач записування в стек або джерело вибору зі стека знаходиться в сегменті, адресованому регістром ss;

– вибір команди здійснюється тільки із сегмента, який адресується регістром cs.

В архітектурі процесора два регістри постійно містять інформацію, яка характеризує стан як процесора, так і програми, команди якої він виконує в даний момент: регістр-вказівник команд eip/ip і регістр прапорців eflags/flags. За допомогою цих регістрів можна обмежено керувати станом процесора.

Вказівник команд. Регістр вказівник команд (instruction pointer register) eip/ip має розрядність 32/16 бітів, містить зміщення наступної команди відносно вмісту регістра сегмента коду cs, тобто використовується для адресації команд в поточному сегменті коду. Цей регістр безпосередньо не доступний програмістові, завантаження і зміна його значення виконуються за допомогою різних команд передачі керування: команд умовного і без умовного переходу, виклику і повернення з процедур, переривань і повернення з переривань. Ми вважатимемо, що після закінчення вибірки з пам’яті поточної команди в регістрі eip/ip формується адреса наступної команди. Хоча це й не так. Процесор i486 не вибирає по одній команді. Він здійснює випереджаючу вибірку вирівняних на межу параграфа 16-байтових блоків коду під час виконання команд. Такі блоки вибираються незалежно від меж між командами (довжини команд різні). До початку виконання команда вже завантажена в процесор і декодована. Це значно підвищує продуктивність процесора. Якщо виконується команда переходу або виклику підпрограми, черга передвибірки команд очищується, процесор вибирає цілий вирівняний блок, який містить адресу призначення (target). Вибрані раніше і декодовані команди втрачаються. Якщо в результаті випереджуючої вибірки виникає особливий випадок (exeption), наприклад. спроба вибірки поза сегментом коду, про це повідомляється до виконання команди, яка зумовила цей особливий випадок. Якщо команда вилучається з черги передвибірки (наприклад, в результаті команди переходу), то про особливий випадок не повідомляється (особливий випадок ігнорується).

Розрядність регістра прапорців (flag register) eflags/flags дорівнює 32/16 бітів. Окремі біти даного регістра мають певне функціональне призначення і називаються прапорцями. Молодша частина eflags/flags повністю еквівалентна регістрові flags процесора 8086.


Читайте також:

  1. ВВЕДЕНИЕ
  2. Введение
  3. Введение 26 страница
  4. Введение 26 страница
  5. ВВЕДЕНИЕ В MICROSOFT OFFICE.
  6. Лекция 1
  7. ЛЕКЦИЯ 1
  8. Лекция 1.
  9. Лекция 1.
  10. Лекция 1. Векторная графика. Macromedia Flash MX Инструменты и технологии рисования во Flash
  11. Лекция 1. МАКРОЭКОНОМИКА. НАЦИОНАЛЬНАЯ




Переглядів: 1569

<== попередня сторінка | наступна сторінка ==>
Болісні відчуття в м’язах | Вплив процесу інформатизації суспільства на розвиток інформатизації освіти

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.01 сек.