- •Глава 1. Предисловие Основные принципы построения вычислительных машин и систем
- •Пример современной многоуровневой вычислительной машины с шестью уровнями
- •Уровни детализации структуры вычислительной машины
- •Принципы построения вычислительной машины
- •Принцип двоичного кодирования
- •Принцип программного управления
- •Принцип однородности памяти
- •Принцип адресности
- •Структура фон-неймановской архитектуры вычислительной машины
- •Типы структур вычислительных машин и систем
- •Структуры вычислительных машин
- •Структуры вычислительных систем
- •Перспективы совершенствования архитектуры вм и вс
- •Технологические и экономические аспекты
- •Тенденции развития больших интегральных схем
- •Перспективные направления исследований в области архитектуры
- •Глава 2. Цифровой логический уровень
- •Представление информации в вычислительных системах
- •Представление числовых данных в вм.
- •Числа в форме с фиксированной точкой.
- •Числа в форме с плавающей точкой
- •Размещение числовых данных в памяти
- •Представление нечисловой информации в вм
- •Символьная информация
- •Видеоинформация
- •Аудиоинформация
- •Система кодирования чисел.
- •Прямой код.
- •Обратный код.
- •Модифицированные коды.
- •Код с исправлением ошибок
- •Коды Хемминга
- •Физическое представление информации в вм.
- •Вентили, интегральные схемы.
- •Основные элементы эвм
- •Триггер.
- •Сумматоры
- •Тактовые генераторы.
- •Микросхемы процессоров и шины
- •Микросхемы процессоров. Цоколевка типичного цп
- •Архитектура и набор команд.
- •Типы процессоров
- •Регистры процессора
- •Типы шин Системные шины. Локальные шины
- •Системные шины
- •Локальные шины
- •Иерархия шин
- •Вычислительная машина с одной шиной
- •Вычислительная машина с двумя видами шин.
- •Вычислительная машина с тремя видами шин
- •Арбитраж шин
- •Принципы работы шины
- •Глава 3 Функциональная организация фон - неймановской вычислительной машины
- •Функциональная схема фон-неймановской вычислительной машины
- •Узлы уу
- •Узлы алу
- •Основная память.
- •Модуль ввода/вывода
- •Цикл команды.
- •Пример выполнения программы.
- •Система прерываний.
- •Глава 4. Память.
- •Организация памяти.
- •Основные принципы.
- •Основные технические характеристики зу.
- •Иерархическая структура памяти.
- •Основная память.
- •Классификация устройств основной памяти.
- •Блочная организация основной памяти
- •Организация микросхем памяти
- •Режимы работы памяти.
- •Основные запоминающие устройства
- •Стековая память
- •Ассоциативная память
- •Полностью ассоциативная кэш-память.
- •Постоянное запоминающее устройство
- •Виртуальная память
- •Понятие виртуальной памяти
- •Страничная организация памяти
- •Сегментно-страничная организация памяти.
- •Внешняя память
- •Магнитные диски
- •Оптическая память
- •Магнитные ленты
- •Глава 5 Язык Ассемблер
- •Структура программы на языке Ассемблер
- •Основные типы операндов
- •Типы операторов
- •Режимы адресации
- •Директивы ассемблера
- •Инструкции пересылки данных и двоичной арифметики
- •Запись программ на языке Ассемблер
- •Пример вычисления арифметического выражения
- •Циклические и разветвляющиеся программы
- •Примеры использования операторов переходов и цикла при работе с массивами чисел
- •Применение логических инструкций
- •Логические инструкции
- •Примеры использования логических команд
- •Пример выполнения работы
- •Обработка символьной информации с помощью функций dos
- •Программные прерывания и системные вызовы
- •Описание функций работы с клавиатурой и дисплеем диспетчера функций ms dos
- •Функции 01н
- •Функции 02н
- •Функция 09н
- •Функция оан
- •Функция 0Bh
- •Пример выполнения работы
- •Глава 6 Типы вычислительных систем и их архитектурные особенности
- •Классификация вычислительных платформ и архитектур
- •Классификация Флинна.
- •Классификация Хокни
- •Классификация Хэндлера
- •Параллелизм и конвейеризация вычислений. Параллелизм на уровне команд
- •Конвейеры
- •6.2.2 Суперскалярная архитектура.
- •Мультипроцессоры с памятью совместного использования.
- •Основные классы вс
- •Машины класса simd
- •Машины класса mimd
- •Основные направления развитие архитектуры вычислительных машин
- •Суперспекулятивная архитектура
- •Трассирующая архитектура
- •Многопотоковый процессор
- •Многоядерная архитектура
- •«Плиточная» архитектура
- •Многоэтажная архитектура
- •Оптическая (фотонная) архитектура
- •Квантовая архитектура
- •Нейроархитектура
Пример современной многоуровневой вычислительной машины с шестью уровнями
Рассмотрим пример шестиуровневой вычислительной машины (рис.1.2).
Уровень 0 – аппаратное обеспечение машины. Его электронные схемы выполняют программы, написанные на языке уровня 1. На этом, цифровом логическом уровне, объекты называются вентилями. Вентиль вычисляет простые функции входных данных (И, ИЛИ, НЕ). Каждый вентиль формируется из нескольких транзисторов. Несколько вентилей формируют один бит памяти, который содержит 0 или 1. Биты памяти, объединенные в группы (например, по 16, 32, 64), формируют регистры. Каждый регистр может содержать одно двоичное число до определённого предела.
Уровень 1 – микроархитектурный уровень. На этом уровне совокупности 8 или 32 регистров формируют локальную память и схему, называемую АЛУ (арифметико-логическое устройство). АЛУ выполняет простые арифметические операции. Регистры вместе с АЛУ формируют тракт данных, по которому поступают данные. Основная операция тракта данных заключается в выборе одного или двух регистров, далее АЛУ производит над ними требуемую операцию (например: сложение или сдвиг), результат помещается в один из этих регистров. Тракт данных контролируется либо аппаратными средствами, либо особой программой, называемой микропрограммой. Эта программа является интерпретатором для команд на уровне 2.
Микропрограмма вызывает команды из памяти и выполняет их одну за другой, используя при этом тракт данных. Например, для выполнения команды ADD требуется вызвать команду из памяти, поместить на регистры её операнды, в АЛУ вычислить сумму и результат записать в память либо оставить на регистре.
Язык высокого
уровня
Уровень 5
Трансляция
(компиляция)
Уровень языка
Ассемблер
Уровень 4
Уровень языка Ассемблер
Уровень языка
Ассемблер
Трансляция
(ассемблер)
Уровень архитектуры
команд
Трансляция
(ассемблер)
Микроархитектурный
уровень
Цифровой логический
уровень
Интерпретация
(микропрограмма) или непосредственное
выполнение
Аппаратное
обеспечение
Уровень 3
Уровень 2
Уровень 0
Уровень 1
Рис. 1.2. Компьютер
с шестью уровнями. Способ поддержки
каждого уровня указан под ним, название
поддерживающей программы указано в
скобках.
На компьютере с аппаратным контролем тракта данных происходит такая же процедура, но при этом нет программы, которая контролирует интерпретацию команд уровня 2.
Интерпретация- каждая команда, написанная на языке более высокого уровня, рассматривается как набор команд языка более низкого уровня, который выполняется сразу по чтению команды из очереди.
Трансляция - каждая команда языка более высокого уровня заменяется на эквивалентный набор команд языка более низкого уровня, при этом создаётся новая программа, которую будет выполнять компьютер.
Уровень 2 – уровень архитектуры системы команд. Каждый производитель публикует руководство для продаваемых компьютеров. В руководстве содержится информация о наборе машинных команд, которые выполняются микропрограммой - интерпретатором или аппаратным обеспечением, если производитель поставляет два интерпретатора для одной машины, то он должен издать два руководства по машинному языку, отдельно для каждого интерпретатора.
Уровень 3 – уровень операционной системы. Большинство команд в его языке совпадают с командами уровня 2 (они выполняются микропрограммой или аппаратным обеспечением уровня 2), но появляются некоторые дополнительные особенности, расширяющие возможности программиста по управлению работой отдельными элементами компьютера. Новые средства, появившиеся на уровне 3, выполняются интерпретатором уровня 2.
Операционная система - комплекс взаимосвязанных системных программ, назначение которого – организация взаимодействия пользователя с компьютером и выполнение всех других программ.
Нижние три уровня предназначены для работы системных программистов, специализирующихся на разработке и построении новых виртуальных машин. Уровни с 4 и выше предназначены для прикладных программистов, решающих конкретные задачи.
Уровни 2 и 3 обычно интерпретируются, их машинные языки цифровые. Уровни 4 и выше поддерживаются трансляторами, языки содержат слова и сокращения понятные человеку.
Уровень 4 – символическая форма одного из языков более низкого уровня. На этом уровне можно писать программы в приемлемой для человека форме. Программы этого уровня сначала транслируются на язык уровня 1, 2 или 3, а затем интерпретируются соответствующей виртуальной или фактически существующей машиной. Программа, выполняющая трансляцию, называется ассемблером.
Уровень 5 – языки высокого уровня. Данный уровень обычно состоит из языков, разработанных для прикладных программистов. Трансляторы, которые обрабатывают эти программы, называются компиляторами. Для некоторых языков (например, язык Java) используется метод интерпретации.
Вывод: компьютер проектируется как иерархическая структура уровней, каждый из которых надстраивается над предыдущим.
Набор типов данных, операций и особенностей каждого уровня называется архитектурой компьютера. Архитектура определяет ряд аспектов написания программ, видимых на уровне программиста (например, объём используемой памяти, набор команд, модели памяти и т.д.).
