
- •Введение
- •Цели и задачи курса
- •1. Общие сведения о вычислительных машинах и вычислительных системах
- •1.1. Основные понятия и определения
- •1.2. Классификация эвм по назначению и типу
- •1.3. Типы эвм
- •1.4. Основные принципы организации вычислительных машин и систем
- •1.5. Основные характеристики вычислительных машин и систем
- •1.5.1 Стоимость и цена аппаратного обеспечения
- •1.5.2. Производительность вычислительных машин и систем
- •Контрольные вопросы
- •2. Фукциональный состав и назначение основных устройств вм
- •2.2. Назначение шин, шина с тремя состояниями
- •2.3. Назначение устройств ввода-вывода, способы информационного обмена
- •Контрольные вопросы
- •3. Организация процессоров
- •3.1. Введение в функциональную организацию процессора
- •3.2. Операционный блок
- •3.3. Блок управления
- •3.4. Устройства управления процессора
- •3.4.1. Классификация уу
- •3.4.2. Аппаратные уу
- •3.4.3. Микропрограммные уу
- •3.5. Интерфейсный блок
- •3.6. Назначение стека
- •Контрольные вопросы
- •4. Система команд и адресация данных
- •4.1. Группы команд
- •4.2. Адресация операндов
- •4.3. Методы адресации
- •5. Память вычислительных машин
- •5.1. Иерархическая организация системы памяти
- •5.2. Иерархическая структура зу
- •5.3. Основные характеристики зу
- •5.4. Организация связи оп с процессором
- •5.5. Ассоциативные зу
- •Контрольные вопросы
- •6. Принципы обмена данными в вычислительных машинах. Интерфейсы вычислительных машин, организация прерываний
- •6.1. Шины
- •6.1.1. Синхронная шина
- •6.1.2. Пересылка данных за несколько тактов
- •6.1.3. Асинхронные шины
- •6.1.4. Заключительные замечания
- •6.2. Назначение и классификация шинных интерфейсов
- •6.3. Организация и обмен данными между периферийными устройствами и вычислительным ядром системы
- •6.4. Организация прерываний
- •6.4.1. Программные прерывания
- •Команда int
- •6.4.2. Обработка прерываний
- •6.4.3 Таблица векторов прерываний
- •6.4.4. Запуск обработчиков прерываний
- •6.5. Последовательная передача данных
- •7. Вычислительные системы параллельной обработки данных
- •7.1. Параллельная обработка как архитектурный способ повышения производительности
- •7.2. Параллелизм и конвейеризация – способы параллельной обработки данных
- •7.2.1. Параллельная обработка данных (параллелизм)
- •7.2.2. Конвейеризация
- •7.3. Классификация архитектур вычислительных систем
- •7.4. Мультипроцессоры и мультикомпьютеры
- •7.5. Классификация мультипроцессорных систем по способу организации основной памяти
- •7.6. Закон Амдала (эффективность параллельных программ)
- •8. Компьютер ibm pc и операционная система ms dos
- •8.1.Архитектурные особенности процессоров семейства ia-32
- •8.2. Организация памяти компьютера ibm pc, работающего под управлением ms dos
- •Видеопамять
- •Пзу bios
- •Системные ресурсы компьютера
- •8.3. Основы программирования на языке Ассемблера
- •8.3.1. Выполнение программ
- •8.3.2. Написание, компиляция и отладка программы
- •8.3.3. Дополнительные средства ассемблера
- •9. Темы заданий для контрольной работы
- •Тема 1. Архитектура процессора Intel 8086.
- •Контрольные вопросы
- •9.1. Аппаратная модель процессора 8086
- •Программная модель процессора
- •Тема 2. Структура ехе- и сом- программы. Вывод на экран.
- •9.2. Структура программы на языке Ассемблера.
- •9.3. Вывод информации на экран
- •Тема 3. Циклы, ввод с клавиатуры.
- •Тема 4. Ввод чисел. Перевод чисел в различные системы счисления.
- •9.4. Перевод чисел в различные системы счисления
- •Тема 5. Работа с прерываниями: перехват и восстановление.
- •Варианты задания
- •Контрольные вопросы
- •Тема 6. Программирование таймера 8254 и генерация звука
- •Программирование звукового канала таймера.
- •9.7. Инициализация таймера
- •9.8. Назначение каналов таймера в ibm pc
- •9 .9. Генерация тона.
- •9.10. Варианты задания
- •Тема 7. Ответы на контрольные вопросы по лекционному курсу
- •Вариантов заданий Таблица 9.4
- •Литература
Контрольные вопросы
Перечислите функции процессора.
Каковы функции РК и СчК в процессоре?
Назначение АЛУ процессора?
Что дает введение в состав АЛУ РОНов?
Назначение УУ процессора?
Основное отличие между аппаратными и микропрограммными УУ?
Перечислите основные узлы блока микропрограммного управления.
Опишите процедуру выполнения команд условного и безусловного переходов.
Опишите процедуру выполнения команды вызова подпрограммы.
Какое основное отличие выполнения команд вызова подпрограмм и выполнения команд условного и безусловного переходов?
4. Система команд и адресация данных
4.1. Группы команд
Основная функция любого процессора, ради которой он и создается, – это выполнение команд. Система команд, выполняемых процессором, представляет собой нечто подобное таблице истинности логических элементов или таблице режимов работы более сложных логических микросхем. То есть она определяет логику работу процессора и его реакцию на те или иные комбинации внешних событий. Система команд микропроцессора - это полный перечень элементарных действий, которые он может выполнить. Управляемый командами микропроцессор выполняет простые действия (+,–,*,/,<,>,=, логические операции и т.д.). Однако, с помощью этих действий (команд) можно запрограммировать любую сложную операцию.
Микропроцессор распознает и обрабатывает информацию только в двоичных кодах. Среди совокупности этих кодов есть определенная группа кодов, каждая из которых может заставить микропроцессор выполнить определенное действие (операцию). Такой код называется кодом операции (КОП) команды и определяет одну команду из системы команд микропроцессора.
Система команд является одной из важнейших архитектурных характеристик процессора и ВМ в целом. Она определяет совокупность операций, реализуемых процессором. В понятие система команд входят:
• форматы команд и обрабатываемых данных;
• список команд, их функциональное назначение;
• способы адресации данных.
Команды, реализуемые любым МП, можно подразделить на следующие функциональные группы:
- пересылки данных и ввода-вывода;
- арифметических и поразрядных логических операций;
- передачи управления.
Команды пересылок данных обеспечивают как внутренний обмен информацией между регистрами внутри МП, так и внешние обмены данными при их передаче в МП из памяти или устройства ввода и из МП в память или устройство вывода. Обозначения команд пересылок, используемые в языках Ассемблера, имеют вид: move (переслать), load (загрузить), store (запомнить), exchange (обменять). В командах этой группы обычно указывается направление передачи, источник и (или) приемник данных. Так как большинство современных МП различают АП ввода-вывода и памяти, то для обращения к портам ввода-вывода, выделенным в отдельное адресное пространство, используют специальные команды пересылок с обозначениями input для ввода и output для вывода. В группу команд пересылок часто включают команды загрузки в стек push и извлечения pop из стека.
В большинстве случаев в число команд арифметических и поразрядных логических операций входят команды простейших арифметических операций: сложить (add), вычесть (subtract - sub) и команды поразрядных логических операций И (and), ИЛИ (ог), исключающее ИЛИ (xor). К командам арифметических операций часто относят команды сдвигов (арифметических и логических), а к командам логических операций - команды сравнения compare (неразрушающего вычитания). Логические сдвиги отличаются от арифметических тем, что в них участвуют все разряды чисел, включая знаковые.
Команды сложных арифметических операций типа умножения и деления содержатся в системах команд не у всех МП. В простейших МП таких команд нет, и эти операции выполняются программным путем, что требует существенно больших затрат времени. В некоторых МП система команд ориентирована только на обработку двоичных чисел с фиксированной запятой. Операции с другими формами представления двоичных чисел чаще всего выполняются программно. Большинство МП также обеспечивают обработку данных, представленных в двоично-десятичном коде. Для коррекции результатов арифметических операций над такими данными в группу команд арифметических операций включают специальные команды десятичной коррекции типа decimal adjust.
Команды передачи управления используются для изменения последовательности выполнения команд при наличии программных ветвлений jump, обращении к подпрограммам call и выхода из них return. Команды условных переходов реализуют передачи управления в зависимости от значения признаков результата в регистре признаков. С их помощью МП может выбрать одну из возможных ветвей продолжения программы. Обычно в системе команд имеется несколько команд условных переходов по прямому и инверсному значениям различных признаков результата.
Системы команд современных МП наряду с традиционными командами пересылок, арифметических и логических операций, командами передачи управления содержат в своем составе группы команд, значительно расширяющие функциональные возможности МП по обработке информации, управлению его работой, а также обеспечивающие реализацию многозадачного защищенного режима работы. В частности, команды МП Pentium можно разделить на следующие функциональные группы:
• команды операций над целыми числами (в их число включают команды пересылки данных и ввода-вывода, команды арифметических и поразрядных логических операций, в том числе команды сдвига, команды операций со строками символов, команды битовых операций);
• команды операций над числами с плавающей точкой;
• команды передачи управления;
• системные команды поддержки функций ОС по управлению памятью, средствами защиты и переключению задач;
• команды расширений ММХ и SSE, поддерживающие технологию SIMD (Single Instruction - Multiple Data) над целыми числами (ММХ) и числами с плавающей точкой (SSE - Streaming SIMD Extensions). Команды данной группы выполняют однотипные действия сразу над всеми числами в упакованных форматах;
• команды поддержки языков высокого уровня;
• команды управления МП.
В системы команд конкретных МП могут входить команды, не вписывающиеся в предложенную классификацию. Подобные команды не отражают общих принципов построения программ и рассматриваются как дополнительные.