
- •Основные понятия.
- •Понятие архитектуры и организации эвм.
- •Обобщенное понятие архитектуры.
- •Виды архитектуры эвм и их составные элементы.
- •Краткое представление основных элементов прикладной архитектуры компьютеров. Типы, форматы и способы представления данных, аппаратно поддерживаемых в эвм.
- •Для числовых данных необходимо представлять диапазон и точность. Программная модель (регистровая структура) процессора.
- •1) Полная специализация регистров, когда каждый регистр используется только по одному специальному назначению.
- •2) Полная универсализация, когда каждый регистр можно использовать по любому назначению.
- •Регистр ip (Instruction Pointer).
- •Регистр fr (Flag Register).
- •If (Interrupt Flag) – Флаг Прерывания
- •Адресная структура основной памяти и принципы размещения информации в ней. Принципы формирования физического адреса.
- •Режимы адресации.
- •Структура и форматы машинных команд.
- •Базовая система команд.
- •1. Поддержка защищённого режима (i286).
- •3. Включение в Pentium блока mmx (Multimedia Extension), система команд, которая содержит порядка 60 команд для поддержки принципа векторной обработки на уровне целочисленных данных.
- •Внедрение в кристалл процессора блока sse (sse2)
- •Cisc- и risc – архитектура.
- •Основные особенности risc – архитектуры.
- •Стремление к выполнению большинства машинных команд за 1 машинный такт (машинный цикл).
- •Широкое использование принципов суперскалярной и суперконвейерной обработки.
- •Команды загрузки и сохранения системных регистров.
- •Команды ввода/вывода: in/out, ins/outs.
- •Команда останова процессора - hlt.
- •Упрощенная структура компьютера (эвм).
- •1. Центральную;
- •2. Периферийную.
- •Организация ввода/вывода. Понятие, основные характеристики и уровни представления интерфейса.
- •1) Совокупность линий, шин, обеспечивающих обмен информацией между устройствами.
- •2) Алгоритм (протокол) обмена, определяющий последовательность организации передачи информации по линиям интерфейса.
- •3) Разделение интерфейса на ряд уровней представлений.
- •Основные характеристики интерфейса:
- •Пропускная способность определяется максимальным количеством бит или байт данных, передаваемых по интерфейсу за одну секунду.
- •Информационная ширина (количество бит или байт данных, передаваемых параллельно по шине данных, т.Е. Разрядность линии).
- •Максимально возможное удаление устройств, подключаемых к интерфейсу.
- •Шины (интерфейсы) персональных компьютеров на базе процессоров Pentium.
- •Основные аспекты организации ввода/вывода.
- •1.Структура компьютера в плане организации связей между ядром и периферийными устройствами:
- •2. Адресация к ву или пу. Основным аспектом, связанным с адресацией ву, является объединение или разделение адресных пространств памяти и ввода/вывода.
- •3.Способ организации ввода/вывода:
- •Адресация ву.
- •Способы адресации портов ввода/вывода и их сравнительный анализ.
- •Раздельное адресное пространство.
- •Единое адресное пространство.
- •Организация ввода/вывода с отображением на память обладает следующими достоинствами:
- •Недостатками использование совмещенного адресного пространства являются:
- •Способы организации ввода/вывода.
- •Ввод/вывод по прерыванию.
- •Прямой доступ к памяти – dma (Direct Memory Access).
- •2) Стандартные контроллеры dma позволяют реализацию следующих видов обмена:
- •В современных моделях пк для обмена с жесткими дисками наряду с dma также используется и pio. Канальный ввод/вывод (квв).
- •Основные функции квв:
- •Функции по установлению логической связи между ву и оп.
- •2) Функции, связанные с непосредственной передачей данных между ву и оп.
- •3) Функции, связанные с завершением обмена и разрушением логической связи между ву и оп.
- •Участие цп в организации квв сводится к выполнению следующих функций:
- •Классификация квв.
- •Сравнение Канального вв с pio и с dma.
- •Организация прерываний. Основные отличия организации прерываний в защищенном режиме по сравнению с реальным режимом.
- •Программируемый контроллер прерываний (pic i8259a).
- •Основные функции pic.
- •Внутренняя структура pic.
- •Шифратор выделенного запроса.
- •Основные режимы работы pic.
- •1) Fnm (Fully Nested Mode – Режим вложенных прерываний).
- •Взаимодействие между cpu и ведущим pic.
- •Основы программирования pic.
- •Приказы инициализации.
- •Icw1 имеет следующий формат:
- •Icw2 определяет базовый адрес последовательности векторов прерываний, размещаемых в таблице векторов прерываний. Собственно, под базовый адрес отводятся старшие 5 битов приказа(3-7).
- •Icw4 Наиболее важным битом приказа icw4 является бит 1, именуемый aeoi – Automatic End Of Interrupt.
- •Слова рабочих приказов.
- •Установка и отмена так называемого режима специального маскирования;
- •Установка и сброс режима опроса (полинга);
- •Разрешение чтения регистров irr и isr контроллера.
- •Организация центральных процессоров.
- •Как обрабатывающее устройство: цп осуществляет выполнение программ, связанных с какой-либо обработкой данных.
- •Как управляющее устройство: цп осуществляет координацию остальных устройств компьютера, а также связь компьютера с внешним миром.
- •Принципы построения и функционирования конвейеров команд.
- •Сравнение производительности последовательного процессора (без конвейера команд) и «параллельного» процессора (с конвейером команд).
- •Наличие в программах зависимостей по данным (конфликты по данным).
- •Использование различными блоками конвейера одного и того же ресурса (структурные конфликты).
- •Наличие при выполнении программы особых случаев, приводящих к прерыванию.
- •Различное время выполнения отдельных фаз машинных команд.
- •Большой разброс длительности фазы ех для различных машинных команд. Основные действия, выполняемые процессором на различных фазах (этапах) команды.
- •Санкт-Петербург
- •1. Принципы построения и функционирования компьютеров
- •1.1. Назначение компьютеров и принцип программного управления
- •1.2. Неймановский принцип программного управления
- •1.3. Структура компьютеров
- •1.4. Запоминающие устройства и организация памяти
- •1.5. Организация ввода-вывода данных
- •1.6. Принцип многоуровневой реализации функций
- •Программа
- •Аппаратура компьютера
- •2. Характеристики и классификация компьютеров
- •2.1. Характеристики компьютеров
- •2.2. Программно-аппаратный интерфейс и интерфейс прикладных программ
- •2.3. Быстродействие и производительность компьютеров
- •2.4. Емкость памяти
- •2.5. Надежность компьютеров
- •2.6. Стоимость компьютеров
- •2.7. Классификация компьютеров
- •Оглавление Предисловие 3
- •Принципы построения и функционирования компьютеров 7
- •Характеристики и классификация компьютеров 25
- •3.Архитектура компьютеров
- •3.1.Машинные слова и байты
- •3.2.Коды с обнаружением и исправлением ошибок
- •3.3. Представление данных в компьютерах
- •3.4. Способы адресации данных
- •3.5. Операции, выполняемые компьютерами
- •3.6. Системы команд компьютеров
- •3.7. Режимы работы компьютеров
- •3.8. Средства мультипрограммирования
- •3.10. Привилегированные операции и состояния процессора
- •3.11. Организация прерывания программ
- •3.12. Средства защиты памяти
- •4. Структура операционных устройств компьютера
- •4.1. Принцип микропрограммного управления операционными устройствами
- •4.2. Каноническая структура процессора
- •4.3. Конвейерные процессоры
- •5. Организация памяти компьютеров
- •5.1. Организация виртуальной памяти
- •5.2. Организация кэш-памяти
- •5.3. Организация raid – массивов
3.5. Операции, выполняемые компьютерами
Операция – это действие, инициируемое одной командой и реализуемое аппаратурой компьютера. Разнообразие типов данных, форм их представления и действий, которые необходимы для обработки данных и управления ходом вычислений, порождает необходимость использовании различных операций F = {f1,…,fG}. С набором операций F связана система команд, инициирующих соответствующие операции и определяющих адреса операндов.
Эффективность набора операций – это степень соответствия набора назначению компьютера, т.е. классу алгоритмов, для выполнения которых предназначается компьютер, и требованиям к производительности компьютера. Эффективность набора операций принято характеризовать двумя показателями: затратами оборудования и затратами времени на реализацию алгоритмов. Затраты оборудования определяются суммарной стоимостью процессора, реализующего набор операций, и памяти, достаточной для размещения данных и программ, представляющих алгоритмы в терминах операций, реализуемых процессором. Затраты оборудования в процессоре зависят от сложности операций, составляющих набор. Чем сложнее операции и чем больше их в наборе, тем большее количество оборудования необходимо использовать в процессоре для выполнения операций. Стоимость памяти пропорциональна ее емкости. Емкость памяти зависит от количества данных, посредством которого может быть закодирован алгоритм, что определяется составом операций, реализуемых процессором. Чем более сложные операции входят в набор, тем меньшее количество операций (команд) требуется для описания алгоритма и, следовательно, тем меньше потребность в емкости памяти. Затраты времени на реализацию алгоритма, в отношении которого оценивается эффективность набора операций, принято характеризовать средним числом операций, выполняемых при одном прогоне алгоритма. Число выполняемых операций зависит от состава операций, реализуемых процессором. Введение в набор сложных операций позволяет программировать сложные действия одной командой, в результате чего уменьшается число операций при реализации алгоритма в компьютере.
Определение оптимального набора операций для компьютеров общего применения и специализированных компьютеров таким методом затруднено из-за отсутствия данных о составе и частоте операций, используемых в алгоритмах, для реализации которых предназначаются компьютеры. Поэтому набор операций определяется с учетом опыта разработки и эксплуатации компьютеров.
Классификация операций. Операции принято подразделять на следующие классы: 1) арифметические и логические операции; 2) посылочные операции; 3) переходы; 4) операции ввода-вывода; 5) системные операции.
Арифметические и логические операции служат для вычисления значений функций одного или нескольких аргументов. К этому классу относятся следующие операции: сложение, вычитание, умножение, деление; конъюнкция, дизъюнкция и сравнение на равенство; сдвиг влево и вправо на заданное число разрядов; преобразование чисел из одной системы счисления или формы представления в другую. В зависимости от типа (формата) чисел выделяют операции двоичной арифметики, с помощью которых обрабатываются целые числа, операции арифметики с плавающей запятой и операции десятичной арифметики. В зависимости от формата слов выделяются логические операции над словами фиксированной длины и полями переменной длины. Наиболее обширный набор арифметических и логических операций используется в компьютерах общего применения.
Посылочные операции служат для передачи данных между процессором и основной памятью. Типичные посылочные операции – ЗАГРУЗИТЬ и ЗАПИСАТЬ. Операция ЗАГРУЗИТЬ обеспечивает передачу слова данных из основной памяти во внутреннюю память процессора, а операция ЗАПИСАТЬ – передачу слова из процессора в память. Для увеличения эффективного быстродействия процессора список посылочных операций расширяется операциями передачи слова с обратным знаком, модуля слова и операциями групповой передачи. Последние обеспечивают передачу заданного количества слов между группами соседних ячеек основной памяти и регистровой памяти процессора.
Переходы – это операции, используемые для выполнения команд в порядке, отличном от естественного. Операция перехода обеспечивает возможность передачи управления любой команде программы. Переход может выполняться по значению условия либо к одной, либо к другой команде. Условия, на которые реагируют операции перехода, обычно называются признаками перехода. Типичными признаками перехода являются нулевое, положительное или отрицательное значение результата операции и переполнение. Для увеличения быстродействия компьютера используются специальные операции перехода: переход по счетчику, переход по индексу, переход с возвратом. Первые две операции служат для организации циклов. Операция перехода по счетчику обеспечивает вычитание единицы из переменной и проверку результата на нуль. Если результат не нулевой, выполняется переход к команде с адресом, указанным в команде перехода по счетчику. При нулевом результате выполняется следующая по порядку команда. За счет этого обеспечивается n-кратный переход к команде, с которой начинается цикл, и выход из цикла на продолжение программы. Переход по индексу выполняется аналогично: операция перехода изменяет специальную переменную – индекс – на значение, заданное переменной, и сравнивает значение индекса с предельным значением. Если индекс меньше (больше) заданного значения, то выполняется переход по указанному адресу, в противном случае организуется выход из цикла путем перехода к команде, следующей за командой перехода по индексу. Переход с возвратом выполняется так. Формируется адрес команды, следующей за командой перехода с возвратом, – адрес возврата, который загружается в заданную ячейку памяти, после чего выполняется переход к команде с адресом, заданным в команде перехода. Поскольку адрес возврата запомнен, то имеется возможность возвратиться в основную программу и продолжить вычисления, начиная от команды, следующей за командой возврата.
Операции ввода-вывода служат для передачи данных между основной памятью и внешними устройствами компьютера – устройствами ввода-вывода и внешними запоминающими устройствами. Операция ввода-вывода инициирует работу определенного внешнего устройства с целью ввода данных в основную память или вывода данных из основной памяти на внешнее устройство. Состав операций ввода-вывода определяется в основном способом подключения внешних устройств к основной памяти и процессору, т.е. структурой компьютера.
Системные операции предназначаются для управления режимами работы компьютера. С помощью системных операций производиться инициирование и прекращение выполнения программ и организуется мультипрограммная обработка данных, а также работа компьютера в реальном масштабе времени.
Все компьютеры общего применения работают в мультипрограммном режиме, когда в памяти компьютера одновременно размещается несколько программ и программы выполняются параллельно во времени за счет чередования этапов процессорной обработки одних программ с этапами ввода-вывода для других программ. Управление всеми процессами распределения памяти между программами и всеми устройствами компьютера возлагается на операционную систему, которая должна обеспечить возможность независимого и корректного выполнения всей совокупности исполняемых совместно программ. По этой причине команды ввода-вывода и системные операции получают особый статус привилегированных операций, которые могут выполнится только в том случае, когда процессор находиться в состоянии СУПЕРВИЗОР и обеспечивает выполнение программ операционной системы. Остальные классы операций компьютера – арифметические и логические операции, посылочные операции и операции перехода, равнодоступны для прикладных программ, инструментальной системы компьютера и операционной системы. Появление команд с привилегированными операциями в прикладных программах и программах инструментальной системы недоступно, и процессор прерывает выполнение такой команды и формирует необходимые сообщения о таких событиях.
Компьютеры с полным и сокращенным набором команд. Начиная с 60-х годов XX века, проводилось большое число экспериментов по приближению системы команд компьютеров к языкам высокого уровня, используемым для программирования задач. За последние два десятилетия было создано большое число моделей компьютеров, способных обрабатывать широкую номенклатуру типов данных, имеющих обширный арсенал способов адресации и многочисленные форматы команд, что приводило к появлению обширного списка операций, реализуемых аппаратурой компьютеров. Как правило, число операций и команд в таких компьютерах достигало значений от 300 до 500 и более операций. Этот класс получил название компьютеров с полным набором команд – CISC (Complex Instruction Set Computer).
В 1980 году группа разработчиков в университете Беркли (США) во главе с Д. Паттерсоном и К. Секвином разработала компьютер с сокращенным набором команд – RISC (Reduced Instruction Set Computer). Наиболее характерная черта этих компьютеров – сокращенная система команд, насчитывающая обычно до 50 операций. В компьютерах этого класса использовались только две операции ЗАГРУЗИТЬ и ЗАПИСАТЬ для передачи данных между оперативной памятью и регистрами процессора. Все остальные операции выполнялись только с содержимым регистров процессора. Для уменьшения количества передач слов между регистрами процессора и оперативной памятью емкость регистровой памяти процессоров рассматриваемого класса составляет 32, 64 и более слов. Чем больше емкость регистровой памяти процессора, тем меньше вероятность преждевременного удаления слов из регистров в оперативную память и последующей загрузки этих слов в регистры процессора, за счет чего увеличивается производительность процессора.
С 80-х годов прошедшего века началась идеологическая борьба между сторонниками компьютеров с полным и сокращенным набором команд. Многие компании вложили миллиарды долларов в разработку программного обеспечения компьютеров на основе технологии CISC, и нужно было сохранить это программное обеспечение. Уже к 90-м годам стали понятными преимущества архитектуры RISC для компьютеров общего применения. Еще в 1951 году Уилкс предложил принцип микропрограммирования для выполнения сколь угодно сложных операций с использованием постоянных запоминающих устройств для хранения микропрограмм. При этом сложная операция описывается последовательностью микрокоманд, состоящих из совокупности кодов микроопераций, выполняемых аппаратурой процессора. Коды микроопераций декодируются дешифратором, каждый из которых формирует управляющий сигнал, воздействующий на определенную схему аппаратуры процессора, в результате чего в процессоре будет выполнен соответствующий микрокоманде набор микроопераций. Затем выполняется следующая микрокоманда и т. д. Таким образом, система операций RISC может быть сколь угодно расширена. При этом архитектура RISC позволяет наиболее часто используемые операции выполнять за минимальное время, а редко используемые операции выполнять на основе микропрограмм.