🗊Презентация Сегментні регістри. (Лекція 1.2)

Категория: Технология
Нажмите для полного просмотра!
Сегментні регістри. (Лекція 1.2), слайд №1Сегментні регістри. (Лекція 1.2), слайд №2Сегментні регістри. (Лекція 1.2), слайд №3Сегментні регістри. (Лекція 1.2), слайд №4Сегментні регістри. (Лекція 1.2), слайд №5Сегментні регістри. (Лекція 1.2), слайд №6Сегментні регістри. (Лекція 1.2), слайд №7Сегментні регістри. (Лекція 1.2), слайд №8Сегментні регістри. (Лекція 1.2), слайд №9Сегментні регістри. (Лекція 1.2), слайд №10Сегментні регістри. (Лекція 1.2), слайд №11Сегментні регістри. (Лекція 1.2), слайд №12Сегментні регістри. (Лекція 1.2), слайд №13Сегментні регістри. (Лекція 1.2), слайд №14Сегментні регістри. (Лекція 1.2), слайд №15Сегментні регістри. (Лекція 1.2), слайд №16Сегментні регістри. (Лекція 1.2), слайд №17Сегментні регістри. (Лекція 1.2), слайд №18Сегментні регістри. (Лекція 1.2), слайд №19Сегментні регістри. (Лекція 1.2), слайд №20Сегментні регістри. (Лекція 1.2), слайд №21Сегментні регістри. (Лекція 1.2), слайд №22Сегментні регістри. (Лекція 1.2), слайд №23Сегментні регістри. (Лекція 1.2), слайд №24Сегментні регістри. (Лекція 1.2), слайд №25Сегментні регістри. (Лекція 1.2), слайд №26Сегментні регістри. (Лекція 1.2), слайд №27Сегментні регістри. (Лекція 1.2), слайд №28Сегментні регістри. (Лекція 1.2), слайд №29Сегментні регістри. (Лекція 1.2), слайд №30

Содержание

Вы можете ознакомиться и скачать презентацию на тему Сегментні регістри. (Лекція 1.2). Доклад-сообщение содержит 30 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Лекція-1. Сегментні регістри  
частина 2
У програмній моделі мікропроцесора мається шість сегментних регістрів: cs, ss, ds, es, gs, fs.  Їхнє існування обумовлене специфікою організації і використання оперативної пам'яті мікропроцесорами. Вона полягає в тім, що мікропроцесор апаратно підтримує структурну організацію програми у виді трьох частин, називаних сегментами. Відповідно, така організація пам'яті називається сегментною.
Описание слайда:
Лекція-1. Сегментні регістри частина 2 У програмній моделі мікропроцесора мається шість сегментних регістрів: cs, ss, ds, es, gs, fs. Їхнє існування обумовлене специфікою організації і використання оперативної пам'яті мікропроцесорами. Вона полягає в тім, що мікропроцесор апаратно підтримує структурну організацію програми у виді трьох частин, називаних сегментами. Відповідно, така організація пам'яті називається сегментною.

Слайд 2





Сегментні регістри 
Для того щоб указати на сегменти, до яких програма має доступ у конкретний момент часу, і призначені сегментні регістри. Фактично, з невеликим виправленням, як ми побачимо далі, у цих регістрах містяться адреси пам'яті з який починаються відповідні сегменти. Логіка обробки машинної команди побудована так, що при вибірці команди, доступі до даних чи програми до стеку неявно використовуються адреси в цілком визначених сегментних регістрах.
Описание слайда:
Сегментні регістри Для того щоб указати на сегменти, до яких програма має доступ у конкретний момент часу, і призначені сегментні регістри. Фактично, з невеликим виправленням, як ми побачимо далі, у цих регістрах містяться адреси пам'яті з який починаються відповідні сегменти. Логіка обробки машинної команди побудована так, що при вибірці команди, доступі до даних чи програми до стеку неявно використовуються адреси в цілком визначених сегментних регістрах.

Слайд 3





Сегментні регістри 
Мікропроцесор підтримує наступні типи сегментів: 
Сегмент коду. Містить команди програми.  Для доступу до цього сегмента служить регістр cs (code segment register) — сегментний регістр коду. Він містить адресу сегмента з машинними командами, до якого має доступ мікропроцесор (тобто ці команди завантажуються в конвеєр мікропроцесора).
Описание слайда:
Сегментні регістри Мікропроцесор підтримує наступні типи сегментів: Сегмент коду. Містить команди програми. Для доступу до цього сегмента служить регістр cs (code segment register) — сегментний регістр коду. Він містить адресу сегмента з машинними командами, до якого має доступ мікропроцесор (тобто ці команди завантажуються в конвеєр мікропроцесора).

Слайд 4





Сегментні регістри 
Мікропроцесор підтримує наступні типи сегментів: 
Сегмент коду. 
Сегмент даних. Містить оброблювані програмою дані.  Для доступу до цього сегмента служить регістр ds (data segment register) — сегментний регістр даних, що зберігає адресу сегмента даних поточної програми.
Описание слайда:
Сегментні регістри Мікропроцесор підтримує наступні типи сегментів: Сегмент коду. Сегмент даних. Містить оброблювані програмою дані. Для доступу до цього сегмента служить регістр ds (data segment register) — сегментний регістр даних, що зберігає адресу сегмента даних поточної програми.

Слайд 5





Сегментні регістри 
Мікропроцесор підтримує наступні типи сегментів: 
Сегмент коду. 
Сегмент даних.
Сегмент стека. Цей сегмент являє собою область пам'яті, називану стеком.  Роботу зі стеком мікропроцесор організує по наступному принципу: останній записаний у цю область елемент вибирається першим. Для доступу до цього сегмента служить регістр ss (stack segment register) — сегментний регістр стека, що містить адреса сегмента стека.
Описание слайда:
Сегментні регістри Мікропроцесор підтримує наступні типи сегментів: Сегмент коду. Сегмент даних. Сегмент стека. Цей сегмент являє собою область пам'яті, називану стеком. Роботу зі стеком мікропроцесор організує по наступному принципу: останній записаний у цю область елемент вибирається першим. Для доступу до цього сегмента служить регістр ss (stack segment register) — сегментний регістр стека, що містить адреса сегмента стека.

Слайд 6





Сегментні регістри 
Додатковий сегмент даних.  Неявно алгоритми виконання більшості машинних команд припускають, що оброблювані ними дані розташовані в сегменті даних, адреса якого знаходиться в сегментному регістрі ds.  Якщо програмі недостатньо одного сегмента даних, то вона має можливість використовувати ще три додаткових сегменти даних. Але на відміну від основного сегмента даних, адреса якого міститься в сегментному регістрі ds, при використанні додаткових сегментів даних їхньої адреси потрібно вказувати явно за допомогою спеціальних префіксів пере визначення сегментів у команді.  Адреси додаткових сегментів даних повинні міститися в регістрах es, gs, fs (extension data segment registers).
Описание слайда:
Сегментні регістри Додатковий сегмент даних. Неявно алгоритми виконання більшості машинних команд припускають, що оброблювані ними дані розташовані в сегменті даних, адреса якого знаходиться в сегментному регістрі ds. Якщо програмі недостатньо одного сегмента даних, то вона має можливість використовувати ще три додаткових сегменти даних. Але на відміну від основного сегмента даних, адреса якого міститься в сегментному регістрі ds, при використанні додаткових сегментів даних їхньої адреси потрібно вказувати явно за допомогою спеціальних префіксів пере визначення сегментів у команді. Адреси додаткових сегментів даних повинні міститися в регістрах es, gs, fs (extension data segment registers).

Слайд 7





Сегментні регістри 
Мікропроцесор підтримує наступні типи сегментів: 
Сегмент коду. cs (code segment register) 
Сегмент даних. ds (data segment register) 
Сегмент стека. ss (stack segment register) 
Додатковий сегмент даних. es, gs, fs (extension data segment registers).
Описание слайда:
Сегментні регістри Мікропроцесор підтримує наступні типи сегментів: Сегмент коду. cs (code segment register) Сегмент даних. ds (data segment register) Сегмент стека. ss (stack segment register) Додатковий сегмент даних. es, gs, fs (extension data segment registers).

Слайд 8





Регістри стану і керування  
У мікропроцесор включені кілька регістрів, які постійно містять інформацію про стан як самого мікропроцесора, так і програми, команди якого в даний момент завантажені на конвеєр. До цих регістрів відносяться: 
регістр прапорів eflags/flags; 
регістр покажчика команди eip/ip. 
	Використовуючи ці регістри, можна одержувати інформацію про результати виконання команд і впливати на стан самого мікропроцесора.
Описание слайда:
Регістри стану і керування У мікропроцесор включені кілька регістрів, які постійно містять інформацію про стан як самого мікропроцесора, так і програми, команди якого в даний момент завантажені на конвеєр. До цих регістрів відносяться: регістр прапорів eflags/flags; регістр покажчика команди eip/ip. Використовуючи ці регістри, можна одержувати інформацію про результати виконання команд і впливати на стан самого мікропроцесора.

Слайд 9





Регістри стану і керування  


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

Слайд 10





Регістри стану і керування
Описание слайда:
Регістри стану і керування

Слайд 11





Регістри стану і керування  

Виходячи з особливостей використання, прапори регістра eflags/flags можна розділити на три групи: 
8 прапорів стану. Ці прапори можуть змінюватися після виконання машинних команд.  Прапори стану регістра eflags відбивають особливості результату виконання арифметичних чи логічних операцій. Це дає можливість аналізувати стан обчислювального процесу і реагувати на нього за допомогою команд умовних переходів і викликів підпрограм;
Описание слайда:
Регістри стану і керування Виходячи з особливостей використання, прапори регістра eflags/flags можна розділити на три групи: 8 прапорів стану. Ці прапори можуть змінюватися після виконання машинних команд. Прапори стану регістра eflags відбивають особливості результату виконання арифметичних чи логічних операцій. Це дає можливість аналізувати стан обчислювального процесу і реагувати на нього за допомогою команд умовних переходів і викликів підпрограм;

Слайд 12





Регістри стану і керування  
1 прапор керування. Позначається df (Directory Flag).  Він знаходиться в 10-м біті регістра eflags і використовується ланцюговими командами. Значення прапора df визначає напрямок заелементної обробки в цих операціях: від початку рядка до кінця (df = 0) або навпаки, від кінця рядка до його початку (df = 1).  Для роботи з прапором df існують спеціальні команди: cld (зняти прапор df) і std (встановити прапор df).  Застосування цих команд дозволяє привести прапор df у відповідність з алгоритмом і забезпечити автоматичне збільшення чи зменшення лічильників при виконанні операцій з рядками;
Описание слайда:
Регістри стану і керування 1 прапор керування. Позначається df (Directory Flag). Він знаходиться в 10-м біті регістра eflags і використовується ланцюговими командами. Значення прапора df визначає напрямок заелементної обробки в цих операціях: від початку рядка до кінця (df = 0) або навпаки, від кінця рядка до його початку (df = 1). Для роботи з прапором df існують спеціальні команди: cld (зняти прапор df) і std (встановити прапор df). Застосування цих команд дозволяє привести прапор df у відповідність з алгоритмом і забезпечити автоматичне збільшення чи зменшення лічильників при виконанні операцій з рядками;

Слайд 13





Регістри стану і керування  

5 системних прапорів, керуючих вводом/вводом, маскируемыми перериваннями, налагодженням, перемиканням між задачами і віртуальним режимом.  Прикладним програмам не рекомендується модифікувати без необхідності ці прапори, тому що в більшості випадків це приведе до переривання роботи програми.
Описание слайда:
Регістри стану і керування 5 системних прапорів, керуючих вводом/вводом, маскируемыми перериваннями, налагодженням, перемиканням між задачами і віртуальним режимом. Прикладним програмам не рекомендується модифікувати без необхідності ці прапори, тому що в більшості випадків це приведе до переривання роботи програми.

Слайд 14





Прапори стану
Описание слайда:
Прапори стану

Слайд 15





Прапори стану
Описание слайда:
Прапори стану

Слайд 16





Прапори стану
Описание слайда:
Прапори стану

Слайд 17





Прапори стану
Описание слайда:
Прапори стану

Слайд 18





Прапори стану
Описание слайда:
Прапори стану

Слайд 19





Прапори стану
Описание слайда:
Прапори стану

Слайд 20





Домашнє завдання 
Вивчити зміст і призначення системних прапорів
Описание слайда:
Домашнє завдання Вивчити зміст і призначення системних прапорів

Слайд 21





Регістри стану і керування  
eip/ip (Instraction Pointer register) — регістр-покажчик команд.  Регістр eip/ip має розрядність 32/16 біт і містить зсув наступної підлягаючої виконанню команди щодо вмісту сегментного регістра cs у поточному сегменті команд. Цей регістр безпосередньо недоступний програмісту, але завантаження і зміна його значення робляться різними командами керування, до яких відносяться команди умовних і безумовних переходів, виклику процедур і повернення з процедур. Виникнення переривань також приводить до модифікації регістра eip/ip.
Описание слайда:
Регістри стану і керування eip/ip (Instraction Pointer register) — регістр-покажчик команд. Регістр eip/ip має розрядність 32/16 біт і містить зсув наступної підлягаючої виконанню команди щодо вмісту сегментного регістра cs у поточному сегменті команд. Цей регістр безпосередньо недоступний програмісту, але завантаження і зміна його значення робляться різними командами керування, до яких відносяться команди умовних і безумовних переходів, виклику процедур і повернення з процедур. Виникнення переривань також приводить до модифікації регістра eip/ip.

Слайд 22





Системні регістри мікропроцесора  
Сама назва цих регістрів говорить про те, що вони виконують специфічні функції в системі. Використання системних регістрів жорстко регламентовано. Саме вони забезпечують роботу захищеного режиму. Їх також можна розглядати як частину архітектури мікропроцесора, що навмисно залишена видимої для того, щоб кваліфікований системний програміст міг виконати операції на найнижчім рівні. 
Системні регістри можна розділити на три групи: 
чотири регістра керування; 
чотири регістра системних адрес; 
вісім регістрів налагодження.
Описание слайда:
Системні регістри мікропроцесора Сама назва цих регістрів говорить про те, що вони виконують специфічні функції в системі. Використання системних регістрів жорстко регламентовано. Саме вони забезпечують роботу захищеного режиму. Їх також можна розглядати як частину архітектури мікропроцесора, що навмисно залишена видимої для того, щоб кваліфікований системний програміст міг виконати операції на найнижчім рівні. Системні регістри можна розділити на три групи: чотири регістра керування; чотири регістра системних адрес; вісім регістрів налагодження.

Слайд 23





Регістри керування  
У групу регістрів керування входять 4 регістри:  cr0, cr1, cr2, cr3. 
Ці регістри призначені для загального керування системою.  Регістри керування доступні тільки програмам з рівнем привілеїв 0. 
Хоча мікропроцесор має чотири регістри керування, доступними є тільки три з них — виключається cr1, функції якого поки не визначені (він зарезервований для майбутнього використання). 
Регістр cr0 містить системні прапори, що керують режимами роботи мікропроцесора і відбивають його стан глобально, незалежно від конкретних задач, що виконуються.  Призначення системних прапорів: 
pe (Protect Enable), біт 0 — дозвіл захищеного режиму роботи.  Стан цього прапора показує, у якому з двох режимів — реальному (pe=0) чи захищеному (pe=1) — працює мікропроцесор у даний момент часу. 
mp (Math Present), біт 1 — наявність співпроцесора. Завжди 1.
Описание слайда:
Регістри керування У групу регістрів керування входять 4 регістри: cr0, cr1, cr2, cr3. Ці регістри призначені для загального керування системою. Регістри керування доступні тільки програмам з рівнем привілеїв 0. Хоча мікропроцесор має чотири регістри керування, доступними є тільки три з них — виключається cr1, функції якого поки не визначені (він зарезервований для майбутнього використання). Регістр cr0 містить системні прапори, що керують режимами роботи мікропроцесора і відбивають його стан глобально, незалежно від конкретних задач, що виконуються. Призначення системних прапорів: pe (Protect Enable), біт 0 — дозвіл захищеного режиму роботи. Стан цього прапора показує, у якому з двох режимів — реальному (pe=0) чи захищеному (pe=1) — працює мікропроцесор у даний момент часу. mp (Math Present), біт 1 — наявність співпроцесора. Завжди 1.

Слайд 24





Регістри керування  

ts (Task Switched), біт 3 — переключення задач.  Процесор автоматично встановлює цей біт при переключенні на виконання іншої задачі. 
am (Aligment Mask), біт 18 — маска вирівнювання.  Цей біт дозволяє (am = 1) чи забороняє (am = 0) контроль вирівнювання. 
cd (Cache Disable), біт 30, — заборона кеш-пам'яті.  За допомогою цього біта можна заборонити (cd = 1) чи дозволити (cd = 0) використання внутрішньої кеш-пам'яті (кеш-пам'яті першого рівня). 
pg (PaGing), біт 31, — дозвіл (pg = 1) чи заборона (pg = 0) сторінкового перетворення.  Прапор використовується при сторінковій моделі організації пам'яті.
Описание слайда:
Регістри керування ts (Task Switched), біт 3 — переключення задач. Процесор автоматично встановлює цей біт при переключенні на виконання іншої задачі. am (Aligment Mask), біт 18 — маска вирівнювання. Цей біт дозволяє (am = 1) чи забороняє (am = 0) контроль вирівнювання. cd (Cache Disable), біт 30, — заборона кеш-пам'яті. За допомогою цього біта можна заборонити (cd = 1) чи дозволити (cd = 0) використання внутрішньої кеш-пам'яті (кеш-пам'яті першого рівня). pg (PaGing), біт 31, — дозвіл (pg = 1) чи заборона (pg = 0) сторінкового перетворення. Прапор використовується при сторінковій моделі організації пам'яті.

Слайд 25





Регістри керування  
Регістр cr2 використовується при сторінковій організації оперативної пам'яті для реєстрації ситуації, коли поточна команда звернулася за адресою, що міститься в сторінці пам'яті, відсутньої в даний момент часу в пам'яті.  У такій ситуації в мікропроцесорі виникає виняткова ситуація з номером 14, і лінійна 32-бітна адреса команди, що викликала це виключення, записується в регістр cr2. Маючи цю інформацію, оброблювач виключення 14 визначає потрібну сторінку, здійснює її підкачування в пам'ять і відновляє нормальну роботу програми; 
Регістр cr3 також використовується при сторінковій організації пам'яті.  Це так називаний регістр каталогу сторінок першего рівня. Він містить 20-бітну фізичну базову адресу каталогу сторінок поточної задачі. Цей каталог містить 1024 32-бітних дескриптора, кожний з який містить адресу таблиці сторінок другого рівня. У свою чергу кожна з таблиць сторінок другого рівня містить 1024 32-бітних дескриптора, що адресують сторінкові кадри в пам'яті. Розмір сторінкового кадру — 4 Кбайт.
Описание слайда:
Регістри керування Регістр cr2 використовується при сторінковій організації оперативної пам'яті для реєстрації ситуації, коли поточна команда звернулася за адресою, що міститься в сторінці пам'яті, відсутньої в даний момент часу в пам'яті. У такій ситуації в мікропроцесорі виникає виняткова ситуація з номером 14, і лінійна 32-бітна адреса команди, що викликала це виключення, записується в регістр cr2. Маючи цю інформацію, оброблювач виключення 14 визначає потрібну сторінку, здійснює її підкачування в пам'ять і відновляє нормальну роботу програми; Регістр cr3 також використовується при сторінковій організації пам'яті. Це так називаний регістр каталогу сторінок першего рівня. Він містить 20-бітну фізичну базову адресу каталогу сторінок поточної задачі. Цей каталог містить 1024 32-бітних дескриптора, кожний з який містить адресу таблиці сторінок другого рівня. У свою чергу кожна з таблиць сторінок другого рівня містить 1024 32-бітних дескриптора, що адресують сторінкові кадри в пам'яті. Розмір сторінкового кадру — 4 Кбайт.

Слайд 26





Регістри системних адрес  
Ці регістри ще називають регістрами керування пам'яттю.  Вони призначені для захисту програм і даних у мультизадачном режимі роботи мікропроцесора. 
При роботі в захищеному режимі мікропроцесора адресний простір поділяється на: 
глобальне — загальне для всіх задач; 
локальне — окреме для кожної задачі. 
	Цим поділом і пояснюється присутність в архітектурі мікропроцесора наступних системних регістрів: 
регістра таблиці глобальних дескрипторів gdtr (Global Descriptor Table Register) розмір, що має, 48 біт і утримуючого 32-бітову (біти 16-47) базову адресу глобальної дескрипторної таблиці GDT і 16-бітове (біти 0-15) значення межі, що представляє собою розмір у байтах таблиці GDT;
Описание слайда:
Регістри системних адрес Ці регістри ще називають регістрами керування пам'яттю. Вони призначені для захисту програм і даних у мультизадачном режимі роботи мікропроцесора. При роботі в захищеному режимі мікропроцесора адресний простір поділяється на: глобальне — загальне для всіх задач; локальне — окреме для кожної задачі. Цим поділом і пояснюється присутність в архітектурі мікропроцесора наступних системних регістрів: регістра таблиці глобальних дескрипторів gdtr (Global Descriptor Table Register) розмір, що має, 48 біт і утримуючого 32-бітову (біти 16-47) базову адресу глобальної дескрипторної таблиці GDT і 16-бітове (біти 0-15) значення межі, що представляє собою розмір у байтах таблиці GDT;

Слайд 27





Регістри системних адрес  
регістра таблиці локальних дескрипторів ldtr (Local Descriptor Table Register) розмір, що має, 16 біт і утримуючого так називаний селектор дескриптора локальної дескрипторної таблиці LDT. Цей селектор є покажчиком у таблиці GDT, що і описує сегмент, що містить локальну дескрипторну таблицю LDT; 
регістра таблиці дескрипторів переривань idtr (Interrupt Descriptor Table Register) розмір, що має, 48 біт і утримуючого 32-бітову (біти 16-47) базову адресу дескрипторної таблиці переривань IDT і 16-бітове (біти 0-15) значення межі, що представляє собою розмір у байтах таблиці IDT; 
16-бітового регістра задачі tr (Task Register), що подібно регістру ldtr, містить селектор, тобто покажчик на дескриптор у таблиці GDT. Цей дескриптор описує поточний сегмент стану задачі (TSS — Task Segment Status). Цей сегмент створюється для кожної задачі в системі, має жорстко регламентовану структуру і містить контекст (поточний стан) задачі. Основне призначення сегментів TSS — зберігати поточний стан задачі в момент переключення на іншу задачу.
Описание слайда:
Регістри системних адрес регістра таблиці локальних дескрипторів ldtr (Local Descriptor Table Register) розмір, що має, 16 біт і утримуючого так називаний селектор дескриптора локальної дескрипторної таблиці LDT. Цей селектор є покажчиком у таблиці GDT, що і описує сегмент, що містить локальну дескрипторну таблицю LDT; регістра таблиці дескрипторів переривань idtr (Interrupt Descriptor Table Register) розмір, що має, 48 біт і утримуючого 32-бітову (біти 16-47) базову адресу дескрипторної таблиці переривань IDT і 16-бітове (біти 0-15) значення межі, що представляє собою розмір у байтах таблиці IDT; 16-бітового регістра задачі tr (Task Register), що подібно регістру ldtr, містить селектор, тобто покажчик на дескриптор у таблиці GDT. Цей дескриптор описує поточний сегмент стану задачі (TSS — Task Segment Status). Цей сегмент створюється для кожної задачі в системі, має жорстко регламентовану структуру і містить контекст (поточний стан) задачі. Основне призначення сегментів TSS — зберігати поточний стан задачі в момент переключення на іншу задачу.

Слайд 28





Регістри налагодження 
Це дуже цікава група регістрів, призначених для апаратного налагодження. Засоби апаратного налагодження вперше з'явилися в мікропроцесорі i486. Апаратно мікропроцесор містить вісім регістрів налагодження, але реально з них використовуються тільки 6. 
Регістри dr0, dr1, dr2, dr3 мають розрядність 32 біт і призначені для завдання лінійних адрес чотирьох крапок переривання. Використовуваний при цьому механізм наступний: будь-яка формована поточною програмою адреса порівнюється з адресами в регістрах dr0...dr3, і при збігу генерується виключення налагодження з номером 1. 
Регістр dr6 називається регістром стану налагодження. Біти цього регістра установлюються відповідно до причин, що викликали виникнення останнього виключення з номером 1.
Описание слайда:
Регістри налагодження Це дуже цікава група регістрів, призначених для апаратного налагодження. Засоби апаратного налагодження вперше з'явилися в мікропроцесорі i486. Апаратно мікропроцесор містить вісім регістрів налагодження, але реально з них використовуються тільки 6. Регістри dr0, dr1, dr2, dr3 мають розрядність 32 біт і призначені для завдання лінійних адрес чотирьох крапок переривання. Використовуваний при цьому механізм наступний: будь-яка формована поточною програмою адреса порівнюється з адресами в регістрах dr0...dr3, і при збігу генерується виключення налагодження з номером 1. Регістр dr6 називається регістром стану налагодження. Біти цього регістра установлюються відповідно до причин, що викликали виникнення останнього виключення з номером 1.

Слайд 29





Регістри налагодження 
Перелічимо ці біти і їхнє призначення: 
b0 — якщо цей біт встановлений у 1, то останнє виключення (переривання) виникло в результаті досягнення контрольної крапки, визначеної в регістрі dr0; 
b1 — аналогічно b0, але для контрольної крапки в регістрі dr1; 
b2 — аналогічно b0, але для контрольної крапки в регістрі dr2; 
b3 — аналогічно b0, але для контрольної крапки в регістрі dr3; 
bd (біт 13) — служить для захисту регістрів налагодження; 
bs (біт 14) — встановлюється в 1, якщо виключення 1 було викликано станом прапора tf = 1 у регістрі eflags; 
bt (біт 15) встановлюється в 1, якщо виключення 1 було викликано переключенням на задачу з установленим бітом пастки в TSS t = 1. 
Всі інші біти в цьому регістрі заповнюються нулями. Оброблювач виключення 1 по вмісту dr6 повинний визначити причину, по якій відбулося виключення, і виконати необхідні дії.
Описание слайда:
Регістри налагодження Перелічимо ці біти і їхнє призначення: b0 — якщо цей біт встановлений у 1, то останнє виключення (переривання) виникло в результаті досягнення контрольної крапки, визначеної в регістрі dr0; b1 — аналогічно b0, але для контрольної крапки в регістрі dr1; b2 — аналогічно b0, але для контрольної крапки в регістрі dr2; b3 — аналогічно b0, але для контрольної крапки в регістрі dr3; bd (біт 13) — служить для захисту регістрів налагодження; bs (біт 14) — встановлюється в 1, якщо виключення 1 було викликано станом прапора tf = 1 у регістрі eflags; bt (біт 15) встановлюється в 1, якщо виключення 1 було викликано переключенням на задачу з установленим бітом пастки в TSS t = 1. Всі інші біти в цьому регістрі заповнюються нулями. Оброблювач виключення 1 по вмісту dr6 повинний визначити причину, по якій відбулося виключення, і виконати необхідні дії.

Слайд 30





Регістри налагодження 
Регістр dr7 називається регістром керування налагодженням. У ньому для кожного з чотирьох регістрів контрольних крапок налагодження маються поля, за допомогою яких можна уточнити наступні умови, при яких варто згенерувати переривання: 
місце реєстрації контрольної крапки — тільки в поточній задачі чи в будь-якій задачі. Ці біти займають молодші вісім біт регістра dr7 (по двох біта на кожну контрольну крапку (фактично крапку переривання), що задається регістрами dr0, dr1, dr2, dr3 відповідно).  Перший біт з кожної пари — це так називаний локальний дозвіл; його установка говорить про те, що крапка переривання діє якщо вона знаходиться в межах адресного простору поточної задачі.  Другий біт у кожній парі визначає глобальний дозвіл, що говорить про те, що дана контрольна крапка діє в межах адресних просторів усіх задач, що знаходяться в системі; 
тип доступу, по якому ініціюється переривання: тільки при вибірці команди, при записі чи при записі/читанні даних. Біти, що визначають подібну природу виникнення переривання, локалізуються в старшій частині даного регістра. 
Більшість із системних регістрів програмно доступні. Не усі з них знадобляться в нашому подальшому викладі, але, проте, я коротко розглянув їх для того, щоб збудити в читача інтерес до подальшого дослідження архітектури мікропроцесора.
Описание слайда:
Регістри налагодження Регістр dr7 називається регістром керування налагодженням. У ньому для кожного з чотирьох регістрів контрольних крапок налагодження маються поля, за допомогою яких можна уточнити наступні умови, при яких варто згенерувати переривання: місце реєстрації контрольної крапки — тільки в поточній задачі чи в будь-якій задачі. Ці біти займають молодші вісім біт регістра dr7 (по двох біта на кожну контрольну крапку (фактично крапку переривання), що задається регістрами dr0, dr1, dr2, dr3 відповідно). Перший біт з кожної пари — це так називаний локальний дозвіл; його установка говорить про те, що крапка переривання діє якщо вона знаходиться в межах адресного простору поточної задачі. Другий біт у кожній парі визначає глобальний дозвіл, що говорить про те, що дана контрольна крапка діє в межах адресних просторів усіх задач, що знаходяться в системі; тип доступу, по якому ініціюється переривання: тільки при вибірці команди, при записі чи при записі/читанні даних. Біти, що визначають подібну природу виникнення переривання, локалізуються в старшій частині даного регістра. Більшість із системних регістрів програмно доступні. Не усі з них знадобляться в нашому подальшому викладі, але, проте, я коротко розглянув їх для того, щоб збудити в читача інтерес до подальшого дослідження архітектури мікропроцесора.



Похожие презентации
Mypresentation.ru
Загрузить презентацию