
- •Понятие информации и ее виды; подходы к оценке количества информации. Аналоговая и дискретная форма представления информации. Единицы дискретной информации.
- •Понятие алгоритма. Операция. Программа. Команда. Укрупненная структура и принцип функционирования эвм.
- •Способы представления дискретной информации. Позиционные и непозиционные системы счисления.
- •Системы счисления, используемые в эвм - двоичная, восьмиричная, шестнадцатиричная и двоично-десятичные системы счисления.
- •Перевод чисел из одной позиционной системы счисления в другую. Диапазон представления чисел со знаком и без знака. Точность представления числа.
- •Прямой, обратный и дополнительный коды. Выполнение операций двоичной арифметики в прямом, обратном и дополнительных кодах.
- •Представление чисел с фиксированной точкой и с плавающей запятой. Символьные данные.
- •Булевы функции одной и нескольких переменных. Функционально полные системы булевых функций. Логические операции и элементы для их выполнения.
- •Нормальные формы логических функций. Минимизация булевых функций.
- •Логические элементы и комбинационные схемы. Сложность комбинационных схем по Квайну.
- •Выполнение арифметических операций на основе функционально-полной системы логических функций. Комбинационные сумматоры и алу.
- •Последовательностные схемы (цифровые автоматы). Запоминающие элементы - триггеры.
- •Основные типы операционных элементов эвм. Шины. Организация передач между операционными элементами.
- •Сдвигающие регистры. Регистровые файлы.
- •Счетчики. Дешифраторы.
- •Основные характеристики компьютеров.
- •Быстродействие и производительность компьютеров.
- •Структура процессора простейшей базовой эвм. Назначение основных функцинальных устройств и элементов процессора.
- •Структура операционного автомата базовой эвм.
- •Выполнение команд в базовой эвм (на примере арифметической команды).
- •Выполнение команд в базовой эвм (на примере команд условного перехода).
- •Выполнение команд в эвм (на примере базовой эвм).
- •Понятие архитектуры и организации эвм. Основные элементы архитектуры.
- •Принцип программного управления.
- •Каноническая структура компьютера. Принстонская и гарвардская архитектура эвм.
- •Достоинства и недостатки неймановской архитектуры эвм.
- •Организация системы памяти. Внутренняя память процессора,
- •Организация ввода-вывода данных.
- •Структура компьютера с программно-управляемым интерфейсом.
- •Структура компьютера с общей шиной
- •Структура компьютера с каналами ввода-вывода.
- •Понятие системного интерфейса. Контроллеры внешних устройств. Параллельная и последовательная передача данных.
- •Способы адресации, используемые в эвм.
- •Способы адресации с модификацией адреса.
- •Стековая адресация. Выполнение вычислений в стековых эвм (на примере).
- •Система команд компьютера. Основные виды команд.
- •Понятие cisc и risc-архитектуры
- •Характерные особенности risc-процессоров
- •Однопрограммный режим работы компьютера.
- •Мультипрограммный режим работы компьютера.
- •Средства мультипрограммирования.
- •Функции управляющих программ операционной системы.
- •Привилегированные операции и состояния процессора.
- •Организация прерывания программ. Источники прерываний.
- •Основные сведения об организации ввода/вывода информации. Программно-управляемая передача данных и режим прямого доступа к памяти.
- •Организация синхронного обмена.
- •Организация асинхронного обмена.
- •Организация обмена по прерыванию.
- •Организация системы прерываний. Вектор прерывания. Понятие глубины прерывания. Уровни прерывания.
- •Понятие приоритета прерываний. Абсолютный и относительный приоритет. Организация обработки запросов на прерывание.
- •Программирование приоритетов по маске и по порогу.
- •Организация обмена в режиме прямого доступа к памяти. Функции контроллера пдп.
- •Принцип микропрограммного управления. Операционный и управляющий автоматы, их взаимодействие.
- •Микрооперация. Микрокоманда. Виды микрокоманд .Микропрограмма.
- •Горизонтальное кодирование микрокоманд.
- •Вертикальное кодирование микрокоманд.
- •Смешанное кодирование микрокоманд.
- •Управляющий автомат с хранимой микропрограммой.
- •Управляющий автомат с жесткой логикой.
- •Каноническая структура процессора.
- •Цикл выполнения машинных команд и его фазы.
- •Синхронный конвейер команд. Оценка его производительности.
- •Причины снижения производительности при конвейерном режиме обработки команд.
- •Способы повышения производительности при конвейерной обработке команд.
- •Структура процессора i8086. Организация конвейера команд. Регистровый файл процессора.
- •Особенности организации процессора i80286. Конвейер команд. Организация защиты памяти на аппаратном уровне.
- •Особенности организации конвейера команд в процессорах Pentium. Структура процессора. Понятие суперскалярной архитектуры.
Синхронный конвейер команд. Оценка его производительности.
Конвейерный процессор – совокупность операционных устройств, обеспечивающих поэтапный процесс выполнения команд программы. Принципы:
1. разделение выполнения любой машинной команды на ряд последовательных этапов;
2. разделение аппаратуры CPU на ряд независимых функциональных блоков, способных функционировать параллельно и выполнять один или несколько смежных этапов машинной команды.
Синхронный конвейер работает в принудительном темпе и для выполнения любого этапа выделено одно и то же время tт (такт конвейера).
Оценка производительности
В идеальном случае производительность процессора с N - ступенчатым конвейером команд в N раз больше производительности последовательного процессора, т.е. без конвейера команд.
Идеальный случай:
1. длительности всех фаз конвейера одинаковы(синхронный конвейер);
2. обеспечивается постоянная загрузка всех блоков конвейера (без изменения порядка действия);
3. в конвейере отсутствуют сбои, связанные с выполнением команд переходов, т.е. работа конвейера рассматривается на достаточно длинном, линейном участке программы.
В реальности производительность конвейеров команд оказывается ниже идеального случая.
Причины снижения производительности при конвейерном режиме обработки команд.
1. Наличие в программе так называемых зависимостей по управлению (конфликты по управлению).
2. Наличие в программах зависимостей по данным (конфликты по данным).
3. Использование различными блоками конвейера одного и того же ресурса(структурные конфликты).
4. Различное время выполнения отдельных фаз машинных команд.
5. Наличие при выполнении программы особых случаев, приводящих к прерыванию.
6. Большой разброс длительности фазы выполнения операции для различных машинных команд.
Способы повышения производительности при конвейерной обработке команд.
Проблема: различное время выполнения отдельных фаз машинных команд. Решение:
· увеличение времени такта до такой величины, которая позволила бы все этапы любой команды выполнять за один такт. Однако при этом существенно снижается эффект конвейерной обработки, так как все этапы всех команд будут выполняться значительно дольше, в то время как обычно нескольких тактов требует выполнение лишь отдельных этапов очень небольшого количества команд.
· использование таких аппаратных решений, которые позволили бы значительно снизить затраты времени на выполнение данного этапа (например, использовать матричные схемы умножения). Но это приведет к усложнению схемы процессора и невозможности реализации на этой БИС других, функционально более важных, узлов.
Проблема: структурные конфликты. Решение:
· увеличения количества однотипных функциональных устройств, которые могут одновременно выполнять одни и те же или схожие функции. Например, в современных микропроцессорах обычно разделяют кэш-память для хранения команд и кэш-память данных, а также используют многопортовую схему доступа к регистровой памяти, при которой к регистрам можно одновременно обращаться по одному каналу для записи, а по другому - для считывания информации. Конфликты из-за исполнительных устройств обычно сглаживаются введением в состав микропроцессора дополнительных блоков.
Проблема: конфликты по управлению. Решение:
· предсказание переходов. При выполнении команды условного перехода специальный блок микропроцессора определяет наиболее вероятное направление перехода, не дожидаясь формирования признаков, на основании анализа которых этот переход реализуется. Процессор начинает выбирать из памяти и выполнять команды по предсказанной ветви программы. Получаемые результаты накапливаются в специальном буфере результатов. Если после формирования анализируемых признаков оказалось, что направление перехода выбрано верно, все полученные результаты переписываются из буфера по месту назначения, а выполнение программы продолжается в обычном порядке. Если направление перехода предсказано неверно, то буфер результатов очищается. Также очищается и конвейер, содержащий команды, находящиеся на разных этапах обработки, следующие за командой условного перехода. При этом аннулируются результаты всех уже выполненных этапов этих команд. Конвейер начинает загружаться с первой команды другой ветви программы. Так как конвейерная обработка эффективна при большом числе последовательно выполненных команд, то перезагрузка конвейера приводит к значительным потерям производительности. Поэтому вопросам эффективного предсказания направления ветвления разработчики всех микропроцессоров уделяют большое внимание.
Проблема: конфликты по данным. Решение:
· Уменьшение влияния конфликта типа RAW(считывание прежде записи) обеспечивается методом обхода (продвижения) данных. В этом случае результаты, полученные на выходах исполнительных устройств, помимо входов приёмника результата передаются также на входы всех исполнительных устройств микропроцессора. Если устройство управления обнаруживает, что данный результат требуется одной из последующих команд в качестве операнда, то он сразу же, параллельно с записью в приемник результата, передается на вход исполнительного устройства для использования следующей командой.
· Устранение конфликтов по данным типов WAR(запись прежде считывания) и WAW(запись прежде записи) достигается путем отказа от неупорядоченного исполнения команд, но чаще всего путём введения буфера восстановления последовательности команд.