
- •Семинар 1. Числовой логический уровень
- •Система счисления.
- •Позиционные системы счисления.
- •Выбор системы счисления
- •Перевод чисел из одной системы счисления в другую
- •Перевод чисел из одной системы счисления в другую, когда одно основание является целой степенью другого.
- •Проблема представления отрицательных чисел
- •Прямой код.
- •Замечания.
- •Дополнительный код.
- •Обратный код.
- •Способы представления чисел в эвм
- •Фиксированная запятая
- •Плавающая запятая
- •Выполнение арифметических операций над числами, представленными с фиксированной запятой.
- •Семинар 2. Цифровой логический уровень и микроархитектурный уровень
- •Электротехническая интерпретация.
- •У ровень физических устройств.
- •Дешифратор
- •Шифратор
- •Регистр сдвига
- •Методы передачи данных
- •Параллельная передача данных
- •Последовательная передача данных
- •Синхронные коммуникации
- •Передача в основной полосе частот и широкополосная передача.
- •Вопросы и задания
- •Семинар 3. Архитектура классической эвм
- •Система кодирования команд
- •Взаимозависимость формата команды и основных параметров эвм
- •Способы адресации
- •Семинар 4. Простой процессор, работающий с четырехадресной командой. Введение
- •Функционирование программируемого процессора
- •Алгоритм работы
- •Задание
- •Семинар 5. Микропроцессор – дальнейшее развитие Введение
- •Модернизация
- •Задание
- •Семинар 6. Дальнейшее совершенствование микропроцессора, одноадресные и безадресные команды. Анализ предыдущей модели
- •Задание
- •Шинная структура связей
- •Семинар 7. Кэш-память Введение
- •Структура кэш-памяти в процессоре i486.
- •Алгоритм псевдо lru.
- •Увеличение производительности кэш памяти.
- •Семинар 8. Режимы работы микропроцессорной системы
- •Архитектура микропроцессорных систем
- •Типы микропроцессорных систем
- •Семинар 9 . Программная модель процессора
- •Общие понятия
- •Регистры процессора
- •Формат команды микропроцессора ia-32
- •Эффективный адрес.
- •Семинар 10. Организация пк Введение
- •Архитектура персонального компьютера
- •Процессоры персональных компьютеров
- •Особенности процессоров Pentium
- •Семинар 11. Интерфейсы пк Введение
- •Последовательный порт(rs-232).
- •Параллельный порт(lpt).
- •Интерфейс ide.
- •Cпецификация Enhanced ide (eide)
- •Интерфейс scsi.
- •Характеристики scsi.
- •Системная магистраль isa
- •Распределение ресурсов компьютера
- •Семинар 12. Видеосистема пк и режимы графической акселерации Введение
- •Мониторы
- •Видеоадаптеры
- •Понятие о графических ускорителях
- •Ускорители двумерной графики
- •Ускорители трехмерной графики
- •Семинар 13. Файловая система компьютера Введение
- •Общие сведения о файлах
- •Типы файлов
- •Атрибуты файлов
- •Организация файлов и доступ к ним
- •Последовательный файл
- •Файл прямого доступа
- •Другие формы организации файлов
- •Операции над файлами
- •Директории. Логическая структура файлового архива
- •Разделы диска. Организация доступа к архиву файлов.
- •Операции над директориями
- •Защита файлов
- •Контроль доступа к файлам
- •Списки прав доступа
- •Заключение
- •Семинар 14. Практика настройки и использования пк. Системный блок
- •Загрузка операционной системы
- •Дисковые накопители
- •Настройка компьютера
- •Настройка видеоадаптера
- •Настройка звуковой карты
- •Настройка cd-rom
- •Защита данных и самого компьютера
- •Использование программы bios setup
- •Модернизация компьютера
- •Увеличение оперативной памяти
- •Установка дополнительных плат
- •Самотестирование при включении
- •Поиск и устранение неисправностей
- •Системная плата
- •Основной микропроцессор
- •Системная и локальная шина.
Формат команды микропроцессора ia-32
Команды состоят из необязательных префиксов, одного или двух байт главного кода операции, спецификатора адреса, представленного байтами mod r/m и sib, смещения в команде – displacement и непосредственных данных. Из всех полей команды обязательными являются только один или два байта кода операции.
Префикс – это байт со специальным кодированием, который модифицирует операцию одной находящейся за ним команды (например: повторение – REPeate, размер операнда – Operand Size, размерность адреса – Address Size, замены сегмента – Segment override).
Код операции.
Байт "mod r/m" определяет режим адресации, а также иногда дополнительный код операции. Необходимость байта "mod r/m" зависит от типа инструкции. Байт sib (Scale-Index-Base) определяет способ адресации при обращении к памяти в 32-битном режиме. Необходимость байта sib зависит от режима адресации, задаваемого полем "mod r/m".Кроме того, инструкция может содержать непосредственный операнд и/или смещение операнда в сегменте данных. На размер инструкции накладывается ограничение в 15 байт. Инструкция большего размера может получиться при некорректном использовании большого количества префиксов. В IA-32 в таком случае генерируют исключение #13. Если инструкция микропроцессора требует операнды, то они могут задаваться следующими способами: непосредственно в коде инструкции (только операнд-источник); в одном из регистров; через порт ввода-вывода; в памяти. Для совместимости с 16-битными процессорами архитектура IA-32 использует одинаковые коды для инструкций, оперирующих как с 16-битными, так и 32-битными операндами.
Адресация
Как процессор будет считывать операнд или его адрес, зависит от эффективного размера операнда и эффективного размера адреса для данной команды. Непосредственный режим адресации подразумевает включение операнда-источника в код инструкции. Операнд может быть 8-битовым или 16-битовым, если значение эффективного размера операнда - 16. Операнд может быть 8-битовым или 32-битовым, если значение эффективного размера операнда - 32. Обычно непосредственные операнды используются в арифметических инструкциях. Регистровый режим адресации определят операнд-источник или операнд-приемник в одном из регистров процессора или сопроцессора. В некоторых случаях, (например, в инструкциях DIV и MUL) могут использоваться пары 32-битных регистров (например, EDX:EAX), образуя 64-битный операнд. Адресация через порт ввода-вывода подразумевает получение операнда или сохранение операнда через пространство портов ввода-вывода. Адрес порта ввода-вывода либо непосредственно включается в код инструкции, либо берется из регистра DX. Очень распространенный способ адресации операнда - адресация через память. Таким образом, может быть указан операнд-источник или операнд-приемник. Следует отметить, что процессор не позволяет одновременно задавать оба операнда через память (за исключением некоторых цепочечных команд).
Эффективный адрес.
При обращении к памяти (к данным) процессор строит эффективный адрес, который может включать до трех компонентов. Смещение в сегменте (эффективный или исполнительный адрес - EA) может быть вычислено на основе значений регистров общего назначения и/или указанного в коде инструкции относительного смещения, при этом любой или даже несколько из указанных компонентов могут отсутствовать:
EA = BASE + (INDEX*SCALE) + DISPLACEMENT
Здесь BASE – базовый адрес массива, INDEX – номер элемента, DISPLACEMENT – смещение внутри элемента. Массив может состоять из байтов, слов, двойных слов и учетверенных слов – это учитывается коэффициентом SCALE (1,2,34 или 8). Такая схема позволяет в языках высокого уровня и на языке Ассемблера легко реализовать работу с массивами.
Преобразование адреса
Для получения операнда из памяти процессору необходимо знать селектор сегмента и смещение в сегменте. В некоторых командах селектор может быть указан непосредственно в коде инструкции. В других случаях процессор может явно или неявно использовать значение одного из сегментных регистров. Под неявным использованием сегментных регистров подразумевается то, что в зависимости от предназначения операнда процессор использует определенный сегментный регистр для обращения к памяти: CS -для выборки инструкций; SS - для работы со стеком или обращения к памяти через регистры ESP или EBP; ES - для получения адреса операнда-приемника в цепочечных командах; DS - при всех остальных обращениях к памяти. Явное использование сегментных регистров возможно, если в код инструкции включается префикс смены сегмента. Указание префикса смены сегмента допустимо не для всех команд: нельзя менять сегмент для команд работы со стеком (всегда используется SS); для цепочечных команд можно менять сегмент только операнда-источника (операнд-приемник всегда адресуется через ES).