- •Основные понятия: эвм (компьютер), вычислительный комплекс, вычислительная система, вычислительная сеть.
- •Сопоставление понятий «архитектура эвм» и «организация эвм». Программная и аппаратная архитектура эвм. Структурная и функциональная организация эвм.
- •Каноническая структура эвм и её состав: ядро эвм (pms – подсистема), вторичная (внешняя) память, система ввода-вывода.
- •Центральный процессор (цп) как основное устройство эвм. Основные функции цп как обрабатывающего и управляющего устройства. Состав цп. Основные характеристики цп.
- •Классификация архитектур процессоров по способу хранения операндов. Основные особенности архитектур: аккумуляторной, регистровой, с выделенным доступом к памяти, стековой.
- •Классификация архитектур процессоров по мощности системы команд. Cisc- и risc- архитектуры и их основные особенности. Модели современных cisc- и risc- процессоров и их области применения.
- •Использование различными блоками конвейера одного и того же ресурса (структурные риски).
- •Основные причины снижения производительности реальных конвейеров команд: структурные риски, риски по данным, риски по управлению - и способы устранения или уменьшения их влияния.
- •Наличие в программе так называемых зависимостей по управлению (риски по управлению).
- •Наличие в программах зависимостей по данным (риски по данным).
- •Наличие при выполнении программы особых случаев, приводящих к прерыванию.
- •Различное время выполнения отдельных фаз машинных команд.
- •Большой разброс длительности фазы ех для различных машинных команд.
- •Иерархическая схема организации памяти компьютеров и её обоснование. Основные характеристики уровней памяти: объём, время доступа (быстродействие), удельная стоимость хранения.
- •Организация кэш-памяти: стратегии отображения, стратегии удаления, стратегии поддержания актуальности копий блоков в оп при их модификации в кэш-памяти.
- •Виртуальная память: понятие и концепции.
- •Назначение и основные функции системы прерываний. Реализация функций на аппаратном и программном уровнях.
- •Отличия организации прерываний в реальном и защищенном режимах процессоров семейства Intel 80x86, Pentium.
- •Программируемый контроллер прерываний (pic), его назначение, функции, взаимодействие с цп.
- •Система ввода-вывода: назначение, функции, программные и аппаратные составляющие. Аппаратные интерфейсы: их классификация, стандартные интерфейсы современных компьютеров.
- •Программно управляемый ввод-вывод(pio – Programmed input/output)
- •Ввод-вывод по прерыванию.
- •Прямой доступ к памяти (dma)
- •Канальный ввод/вывод.
- •Адресация портов ввода-вывода с использованием единого или раздельного с оп адресного пространства и её влияние на систему команд процессора.
- •Раздельные адресные пространства
- •Единое адресное пространство
Сопоставление понятий «архитектура эвм» и «организация эвм». Программная и аппаратная архитектура эвм. Структурная и функциональная организация эвм.
Под архитектурой ЭВМ (компьютера) обычно понимают её представление и описание возможностей с точки зрения пользователей, разрабатывающих программы на машинном языке (ассемблер).
Различие терминов «архитектура ЭВМ» и «организация ЭВМ» состоит в следующем: если архитектура определяет возможности ЭВМ для программирования, то организация определяет, как эти возможности реализованы в рамках конкретных моделей ЭВМ.
Наиболее характерно отличие между архитектурой и организацией проявляются в рамках модельного ряда компьютеров (процессоров), принадлежащих одному семейству. В принципе все модели одного семейства ориентированы на единые архитектурные принципы, естественно с расширением этих принципов от младших моделей к старшим.
О
рганизация
системы
Ф ункциональная организация Структурная организация
п рограммная архитектура аппаратная архитектура
прикладная системная
В то же время структурная организация в рамках одного семейства постоянно совершенствуется с целью увеличения производительности компьютеров. В принципе организация любой системы (в т.ч. и ЭВМ) разделена на 2 вида: функциональная и структурная.
Функциональная организация описывает абстрактную модель ЭВМ, в то время как структурная организация описывает физическую модель ЭВМ. В принципе функциональную организацию ЭВМ можно считать в некотором смысле синонимом архитектуры ЭВМ. По мнению многих специалистов, архитектура ЭВМ разделяется на 2 вида: программная и аппаратная.
Программная архитектура включает аспекты, видимые выполняемым программам и, соответственно, их разработчикам. В свою очередь аппаратная архитектура включает в себя аспекты, невидимые (прозрачные) для выполняемых программ, и, соответственно, их разработчиков. В этом смысле аппаратная архитектура может рассматриваться как синоним понятия «структурная ЭВМ». Некоторые авторы считают, что программная архитектура представляет собой архитектуру компьютера в узком смысле, а аппаратная – в широком смысле этого слова.
В общем плане структурная организация ЭВМ включает в себя 2 основных аспекта:
1) состав устройств ЭВМ и их организацию,
2) организацию связей и взаимодействия между устройствами (уровень аппаратных интерфейсов)
В связи с общепринятым делением программистов на 2 уровня (прикладные и системные), программная архитектура также разделяется на прикладную и системную.
Основными элементами (аспектами) прикладной архитектуры ЭВМ являются:
типы, форматы и способы представления данных, аппаратно поддерживаемые в ЭВМ
программная модель (регистровая структура процессора)
адресная структура основной памяти и способы размещения информации в ней(память как она видна программисту)
режимы адресации
система команд
Основные элементы (аспекты) системной архитектуры:
Системный режим работы (польз в основном работает в прикладном режиме)
Организация виртуальной памяти
Организация защиты программ и данных
Организация прерываний
Организация мультизадачного (многопрограммного) режима работы ЭВМ
Основные аспекты структурной организациии:
Организация процессоров:
конвейерный принцип выполнения программ
реализация суперскалярной обработки
реализация мультимедийной обработки
2) Организация памяти:
иерархическая структура памяти:
организация КЭШ памяти
организация основной памяти
организация внешней памяти
Архитектурные принципы неймановских ЭВМ (основные и дополнительные). Классическая структура неймановской ЭВМ. Основные виды ненеймановских ЭВМ: теговые, потоковые и редукционные – и их отличия от неймановских.
Принципы фон неймана:
Принцип двоичного кодирования
Согласно этому принципу, вся информация, поступающая в ЭВМ, кодируется с помощью двоичных сигналов (двоичных цифр, битов) и разделяется на единицы, называемые словами.
Принцип однородности памяти
Программы и данные хранятся в одной и той же памяти. Поэтому ЭВМ не различает, что хранится в данной ячейке памяти — число, текст или команда. Над командами можно выполнять такие же действия, как и над данными.
Принцип адресуемости памяти
Структурно основная память состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка. Отсюда следует возможность давать имена областям памяти, так, чтобы к хранящимся в них значениям можно было бы впоследствии обращаться или менять их в процессе выполнения программы с использованием присвоенных имен.
Принцип последовательного программного управления
Предполагает, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
Принцип жесткости архитектуры
Неизменяемость в процессе работы топологии, архитектуры, списка команд.
Компьютеры, построенные на этих принципах, относят к типу фон-неймановских.
Структура неймановской ЭВМ:
В общем случае, когда говорят об архитектуре фон Неймана, подразумевают физическое отделениепроцессорного модуля от устройств хранения программ и данных.
Теговые ЭВМ
Принцип теговой архитектуры заключается в самоопределение данных, то есть каждая ячейка памяти имеет специальное дополнительное поле (тег), которое служит для описания атрибутов его содержимого. Это позволяет получить инвариантность команд к типам используемых данных. Сокращается число и длина команд. Определение типа данных откладывается на момент выборки этих данных, а не на момент выборки команды. Вполне может быть, что возникают исключительные ситуации, связанные с несоответствием типов командам, как правило, это является ошибкой программирования.
Преимущества механизма тегирования
1. Компактная система команд.
2. Строгий контроль типов.
3. Более простые компиляторы. Меньший объем кода.
4. Уменьшение интенсивности пересылки основная память – процессор, т.к. уменьшается код программы, загружающий интерфейс на 50%, а увеличивается объем читаемых данных, загружающий интерфейс на 30%.
Недостатки теговой организации:
1. Строгий контроль типов снижает выразительные способности языка.
2. Уменьшается быстродействие процессора за счет откладывания привязки атрибутов данных на этап выполнения команды. В момент дешифрации команды сразу определяются типы данных, здесь же в момент дешифрации команды типы данных не определяются и поэтому то время, которое связано с подгрузкой операнда могло быть использовано для определения типов данных, что и происходит. Т.е. сокращено время дешифрации команды, но доступ к памяти медленный и снижается быстродействие процессора.
3. Дополнительные расходы основной памяти в области данных для хранения полей тега.
Потоковые ЭВМ
Суть: команда выполняется, когда становятся доступны ее операнды;(в фоннеймановской команды выполняются поочередно, друг за другом)
Идеология потоковой обработки, т.е. вычислений, управляемых потоком данных, была разработана в 60-х годах Карпом и Миллером. В потоковой вы-числительной модели для описания вычислений используется ориентированный граф потоков данных (dataflow graph). Этот граф состоит из узлов или вершин, отображающих операции, и ребер или дуг, показывающих потоки данных меж- ду теми вершинами графа, которые они соединяют.
Узловые операции выполняются, когда по дугам в узел поступила вся необходимая информация. Обычно узловая операция требует одного или двух операндов, а для условных операций необходимо наличие входного логического значения. По выполнении операции формируется один или два результата. Та- ким образом, у каждой вершины может быть от одной до трех входящих дуг и одна или две выходящих. После активации вершины и выполнения узловой операции (это называется инициированием вершины) результаты передаются по ребрам к ожидающим вершинам. Процесс повторяется, пока не будут иниции-рованы все вершины и получен окончательный результат. Одновременно может быть инициировано несколько узлов, при этом параллелизм в вычислительной модели выявляется автоматически.
Рис. 14.2. Граф потоков данных для выражения A / B + B ´ C
На рис. 14.2 показан простой потоковый граф для вычисления выражения f=A/B + B ´ C. Входами служат переменные A, B, и C, изображенные вверху гра-фа. Дуги между вершинами показывают тракты узловых операций. Направление вычислений – сверху вниз. Используются три вычислительные операции: сло-жение, умножение и деление. Вершина «Копирование» предназначена для фор-мирования дополнительной копии переменной B, так как она требуется в двух узлах.
Данные (операнды, результаты), перемещаемые вдоль дуг, содержатся в опознавательных информационных кадрах, маркерах специального формата – «токенах» (иначе «фишках» или маркерах доступа). После поступления на граф входной информации маркер, содержащий значение A, направляется в вершину деления; токен с пере-менной B – в вершину копирования; токен с переменной C – в вершину умно-жения. Активирована может быть только вершина «Копирование», поскольку у нее лишь один вход и на нем уже присутствует токен. Когда токены из вер- шины «Копирование» будут готовы, узлы умножения и деления также получат все необходимые маркеры доступа и могут быть инициированы. Последняя вершина ждет завершения операций умножения и деления, то есть когда на ее входе появятся все необходимые токены.
Редукционные ЭВМ
Суть: команда выполняется, когда другим командам требуется результат ее вы-полнения
В системах с управлением от потока данных каждая команда, для которой имеются все необходимые операнды, немедленно выполняется. Однако для получения окончательного результата многие из этих вычислений оказываются ненужными. Более прагматичен подход, когда вычисления инициируются не по готовности данных, а на основе запроса на данные. Такая организация вычис-лительного процесса называется управлением вычислениями по запросу(demand-driven control). В ее основе лежит представление вычислительного процесса в виде графа, как и в потоковой модели (data-driven control). В потоковой модели верхние узлы графа запускаются раньше, чем нижние (нисходящая обработка). Механизм управления по запросу состоит в обработке вершин потокового графа снизу вверх путем разрешения запуска узла, лишь когда требуется его результат. Данный процесс получил название редукции графа, а ВС, оперирующая в режиме снизувверх называется редукционной вычислительной системой.
В
редукционной ВС вычисления производятся
по запросу на результат операции.
Предположим, что вычисляется выражение
.
В случае потоковых моделей процесс
начинается с самых внутренних операций,
а имен- но
с параллельного вычисления
и
.
Затем выполняется операция ум-ножения
и
самая внешняя операция – вычитание.
Такие вычисления называются энергичными вычислениям
и (eager evaluation).
При
вычислениях, управляемых запросами,
все начинается с запроса на результат
,
который включает в себя запрос на
вычисление выражений
и
,
а те в свою очередь формируют запрос на
вычисление
, т.е.
на операцию самого внутреннего уровня.
Результат возвращается в по- рядке,
обратном поступлению запросов. Отсюда
название ленивые
вычисления (lazy evaluation),
поскольку операции выполняются только
тогда, когда их ре-зультат требуется
другой команде. Редукционные вычисления
согласуются с концепцией функционального
программирования, упрощающей распараллели-
вание программ.
На
рис. 14.16 показан процесс вычисления с
помощью редукционной ВС значения
выражения
для
.
Программа редукции состоит из распознавания
редексов с последующей заме- ной их
вычисленными значениями. Таким образом,
в конечном итоге вся
программа редуцируется до результата.
Р
ис.
14.16. Пример вычисления выражения на редукционной ВС:
а – исходное положение; б – после первого шага редукции
