
- •Архитектура ом
- •Структура машин фон-Неймана, із загальною шиною, з каналами прямого доступу в пам'ять. Порівняльний аналіз і область застосування.
- •Апаратно-програмна реалізація обчислювальної системи. Призначення й основні функції операційної системи, однопрограмний і багатопрограмний режими роботи системи.
- •Класифікація операцій. Формати представлення команд і даних. Чотири-, трьох-, двох-, одно- і нуль-адресні команди. Определение наборов операций
- •Форматы команд
- •Способи адресації операндів. Безпосередня, пряма, непряма й індексна адресації. Призначення й область застосування.
- •Відносна, сторінкова і сегментна адресація. Переміщення програм і даних в оперативній пам'яті машини.
- •Операції переходу і розгалуження, їхня реалізація.
- •Операції звертання до підпрограм. Способи організації підпрограм. Організація динамічного розподілу пам'яті для підпрограм і їхніх даних.
- •Віртуальна пам'ять. Сторінкова організація віртуальної пам'яті. Алгоритми звертання до пам'яті.
- •Самообумовлені дані. Теги і дескриптори. Призначення і їхнє застосування.
- •Захист пам'яті. Призначення. Методи захисту верхніми і нижніми границями.
- •Захист пам'яті за допомогою ключів захисту. Структурна схема пам'яті з захистом. Достоїнства і недоліки.
- •Віртуальні процесори. Призначення і реалізація.
- •Віртуальні периферійні пристрої. Призначення, приклад реалізації.
- •Віртуальні машини. Призначення і приклад реалізації.
- •Операції вводу-виводу в ibm pc.
- •НкДтаЕ еом
- •Об'єкт діагностування, клас несправності, тест, система діагностування. Основні поняття і визначення.
- •Методи параметричного діагностування (пд).
- •Детермінований функціональний підхід до синтезу тестів.
- •Детермінований структурний підхід до синтезу тестів.
- •Обзор существующих методов
- •Застосування логічного моделювання для синтезу тесту.
- •Методи аналізу вихідних реакцій.
- •Ймовірний подхід до синтезу тестів.
- •Основні підходи до тестування мікропроцесорних пристроїв.
- •Попередні перетворення опису схем для синтезу схем.
- •Двійкова і двійково-кодована система числення.
- •Представлення числової інформації в еом.
- •Алгоритми додавання чисел.
- •Алгоритми множення чисел.
- •Алгоритми ділення чисел.
- •Виконання арифметичних операцій над числами з плаваючою крапкою.
- •Виконання арифметичних операцій у двійковій-десятковій системі числення.
- •Контроль по модулю арифметичних операцій.
- •Точність представлення чисел і виконання арифметичних операцій.
- •Проектування мпс
- •Мікропроцесори 2 і 3-го покоління фірми Intel.
- •Організація пам'яті в мікропроцесорних системах.
- •Організація переривань у мікропроцесорних системах.
- •Програмуємий послідовний інтерфейс мпс.
- •Організація вводу-виводу на базі віс пдп.
- •Реалізація внутрішніх системних інтерфейсів мпс.
- •Однокристальні мікро-еом фірми Intel.
- •Віс мпк 2 і 3-го поколінь фірми Intel.
- •Зовнішні інтерфейси мпс.
- •Структура пеом ibm pc.
- •Структура 32-х розрядних мікропроцесорів 4-го покоління фірми Intel.
- •Структура віс мікропроцесорного комплекту 4-го покоління для 32-х розрядних мікропроцесорних систем.
- •Комбінаційні схеми (кс). Основні поняття і визначення. Канонічний метод синтезу кс.
- •Комбінаційні схеми (кс). Аналіз кс. Основні методи аналізу кс.
- •Абстрактний автомат. Основні поняття і визначення. Класифікація. Способи завдання.
- •Способы описания и задания автоматов.
- •Канонічний метод синтезу кінцевого автомата.
- •Кодування внутрішніх станів автомата.
- •Кодирование состояний и сложность комбинационной схемы автомата.
- •Принцип мікропрограмного керування.
- •Структура операційного пристрою. Функції операційного і керуючого автоматів.
- •Мікропрограмні автомати (мпа). Інтерпретація граф-схеми алгоритму. Способы описания алгоритмов и микропрограмм
- •Канонічний метод синтезу мпа Милі з "жорсткою" логікою.
- •Канонічний метод синтезу мпа Мура з "жорсткою" логікою.
- •Достоинства и недостатки автоматов с жесткой логикой.
- •Синтез мпа Мура на базі регістру зсуву. Синтез управляющего автомата Мура на базе регистра сдвига.
- •Операційний автомат і мікропрограма додавання дробових чисел з фіксованою крапкою.
- •Операційний автомат і мікропрограма множення дробових чисел з фіксованою крапкою.
- •Двійкові-десяткові коди (д-коды) і їхньої властивості. Виконання арифметичних операцій у д-кодах.
- •Система числення в залишкових класах. Її особливість і застосування в обчислювальній техніці.
Віртуальні машини. Призначення і приклад реалізації.
Концепция виртуальных машин состоит в разделении ресурсов одной вычислительной системы на несколько подмножеств ресурсов, каждое из которых выглядит как отдельная вычислительная система - виртуальная машина.
Реализация виртуальных машин состоит в использовании системных интерфейсов, наиболее важные из них показаны на рис. 8.2.
Рис.8.2 - Интерфейсы вычислительной системы
Интерфейс Архитектуры набора команд (Instruction Set Architecture - ISA) определяет взаимодействие между программным и аппаратным обеспечением вычислительной системы. Этот интерфейс распадается на две составляющие: операционной системе доступен полный набор команд (интерфейсы 1 и 2 на рис.8.1), тогда как для программного обеспечения более высокого уровня доступно только некоторое подмножество команд (интерфейс 2 на рис.8.1), так называемые, непривилегированные команды. Для обеспечения разделения ISA вычислительная система должна иметь два режима выполнения команд - привилегированный и непривилегированный (другие названия: режим ядра и режим процесса, режим супервизора и режим задачи, соответственно), в первом из которых доступен полный набор команд, а во втором - только непривилегированные команды. Только операционная система (или даже только часть ее) выполняется в привилегированном режиме.
Разделение ISA на привилегированную и непривилегированную части обеспечивает защиту ресурсов от непосредственного доступа к ним прикладных программ, который является исключительной прерогативой операционной системы. К привилегированным относятся команды, непосредственно работающие с системными ресурсами: команды ввода-вывода, управления системой прерываний, изменения состояния системы, в некоторых системах привилегированный/непривилегированный режим определяет также возможности доступа к памяти и режим динамической трансляции адресов.
Все программное обеспечение, находящееся выше операционной системы, для работы с ресурсами обращается к операционной системе. Эти обращения называются системными вызовами. Системные вызовы вместе с непривилегированной частью ISA составляют Двоичный интерфейс приложения (Application Binary Interface - ABI). Двоичные коды программ переносимы между системами, имеющими одинаковый ABI.
Прикладные программы обращаются к операционной системе не непосредственно через системные вызовы, а через процедуры системных библиотек, обычно доступные из языков высокого уровня. Интерфейсы системных библиотек вместе с непривилегированной частью ISA составляют Программный интерфейс приложения (Application Program Interface - API). Исходные коды программ переносимы между системами, имеющими одинаковый API.
Программное обеспечение виртуальной машины предоставляет лежащим выше него программным средствам тот или иной интерфейс (не обязательно совпадающий с "естественным" интерфейсом данной среды), обеспечивающий изоляцию используемых ими ресурсов. В многозадачных системах часто под виртуальной машиной понимается изолированная среда выполнения, обеспечиваемая системой для каждого процесса на уровне API или ABI.
Хотя архитектура виртуальных машин обеспечивает решение широкого спектра задач, для нашей темы наиболее интересно применение ее для решения задачи консолидации серверов. Поскольку интеграция существующих приложений часто требует различных и не всегда совместимых операционных сред, для их выполнения могут требоваться различные вычислительные системы. Архитектура виртуальных машин позволяет консолидировать на одной вычислительной системе (в разных ее виртуальных машинах) разные операционные среды и, следовательно, устраняет необходимость иметь много физических вычислительных систем. Для решения задачи консолидации необходимо, чтобы в каждой виртуальной машине могла выполняться своя операционная система. Следовательно, программное обеспечение, реализующее архитектуру виртуальных машин (оно обычно называется Монитором виртуальных машин или Гипервизором), должно обеспечивать выполнение не процесса, но операционной системы, а операционная система управляет подмножеством ресурсов виртуальной машины и выполняемыми в ней процессами.
Для этого случая архитектура виртуальных машин должна обеспечивать ISA (интерфейсы 1 и 2), как показано на рис.8.3.
В общем случае ISA Системной виртуальной машины не обязательно совпадает с ISA аппаратуры. Но при консолидации серверов, как правило, стоит задача обеспечить выполнение в виртуальных машинах операционных систем (так называемых, "гостевых" систем), разработанных для конкретного оборудования, поэтому Системная виртуальная машина должна обеспечить для гостевой системы такой ISA, чтобы гостевой операционной системе "казалось", что она работает на реальной аппаратуре.
Реализация архитектуры виртуальных машин основана на разделении привилегированного и непривилегированного режимов. На самом деле, гостевая операционная система выполняется в непривилегированном режиме. Но когда она пытается выполнить привилегированную команду, происходит исключение. Это исключение обрабатывается Гипервизором, который определяет причину исключения и моделирует для гостевой операционной системы выполнение привилегированной команды. Важно, чтобы команды чтения состояния системы также входили в число привилегированных. При моделировании выполнения для гостевой системы этих команд Гипервизор предоставляет гостевой операционной системе информацию, говорящую о том, что она работает в привилегированном режиме. У гостевой системы, таким образом, создается иллюзия, что в ее распоряжении находится реальная вычислительная машина.