Жмакин А.П. Архитектура ЭВМ (2006), страница 4
Описание файла
Документ из архива "Жмакин А.П. Архитектура ЭВМ (2006)", который расположен в категории "". Всё это находится в предмете "техника и элементная база средств цифровой обработки сигналов (тэбс цос)" из 11 семестр (3 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .
Онлайн просмотр документа "Жмакин А.П. Архитектура ЭВМ (2006)"
Текст 4 страницы из документа "Жмакин А.П. Архитектура ЭВМ (2006)"
Наряду с упомянутыми классами ЭВМ широкого применения всегда выпускались машины, которые можно было считать специализированными. Это, во-первых, т. н. суперЭВМ, выпускаемые в единичных экземплярах и предназначенные для решения задач, недоступных для серийной вычислительной техники. Для ряда применений создавались специализированные ЭВМ, архитектура и структура которых оптимизировалась под решение конкретной задачи. Ту же задачу можно было решить и на универсальной ЭВМ подходящего класса, но со значительно более низкими показателями качества. В то же время решение других задач на специализированной ЭВМ было либо невозможно, либо крайне неэффективно. Одна из возможных классификаций ЭВМ на рубеже 3—4 поколений показана на рис. 1.2.
Еще одним важным явлением, проявившимся при развитии третьего поколения ЭВМ, стало появление семейств ЭВМ. В рамках одного семейства, объединенного общими архитектурными, структурными, а иногда — и конструктивными решениями, выпускались несколько (иногда — более десятка) классов ЭВМ: малые, средние, "полусредние", большие, очень большие и т. д.
Рис. 1.2. Вариант классификации ЭВМ
Общими для большинства семейств являются:
□ П внутренний язык, что позволяет осуществлять совместимость программ на уровне машинных кодов (IBM-360, ЕС ЭВМ) либо системы команд, обладающие совместимостью "снизу вверх" (PDP-11), когда старшие представители семейства реализуют все команды младших моделей плюс еще некоторые команды;
□ форматы данных;
□ форматы записи на внешний носитель;
□ интерфейс, что позволяет иметь единую номенклатуру внешних устройств для всех представителей семейства;
□ преемственность программного обеспечения (как правило, та же совместимость "снизу вверх").
Для решения конкретной задачи пользователь подбирал соответствующий экземпляр семейства, а по мере усложнения задачи осуществлялся переход на более старшие модели семейства, причем уже отлаженные на младших моделях программы, как правило, не требовали доработки.
Наиболее известными примерами семейств ЭВМ могут служить:
□ семейство универсальных ЭВМ третьего поколения 1ВМ-360 и его советский аналог— ЕС ЭВМ, включающее малые машины ЕС-1010 и ЕС-1020, средние ЕС-1022, ЕС-1030, ЕС-1035 и др., большие ЕС-1050, ЕС-1060, ЕС-1065;
□ семейство мини-ЭВМ PDP-11 и его советский аналог— СМ ЭВМ (лишь часть представителей семейства — СМ-3, СМ-4, СМ-1420);
□ семейство микроЭВМ LXI-11 (Электроника-60 и ее модификации); О семейство микропроцессоров i80x86.
1.4. Классическая архитектура ЭВМ
Считается, что основные идеи построения современных ЭВМ в 1945 г. сформулировал американский математик Дж. фон Нейман, определив их как принципы программного управления:
1. Информация кодируется в двоичной форме и разделяется на единицы — слова.
2. Разнотипные по смыслу слова различаются по способу использования, но не по способу кодирования.
3. Слова информации размещаются в ячейках памяти и идентифицируются номерами ячеек — адресами слов.
4. Алгоритм представляется в форме последовательности управляющих слов, называемых командами.- Команда определяет наименование операции и слова информации, участвующие в ней. Алгоритм, записанный в виде последовательности команд, называется программой.
5. Выполнение вычислений, предписанных алгоритмом, сводится к последовательному выполнению команд в порядке, однозначно определенном программой.
Поэтому классическую архитектуру современных ЭВМ, представленную на рис. 1.3, часто называют "архитектурой фон Неймана".
Программа вычислений (обработки информации) составляется в виде последовательности команд и загружается в память машины — запоминающее устройство (ЗУ). Там же хранятся исходные данные и промежуточные результаты обработки. Центральное устройство управления (ЦУУ) последовательно извлекает из памяти команды программы и организует их выполнение. Арифметико-логическое устройство (АЛУ) предназначено для реализации операций преобразования информации. Программа и исходные данные вводятся в память машины через устройства ввода (УВв), а результаты обработки предъявляются на устройства вывода (УВыв).
Характерной особенностью архитектуры фон Неймана является то, что память представляет собой единое адресное пространство, предназначенное для хранения как программ, так и данных.
Такой подход, с одной стороны, обеспечивает большую гибкость организации вычислений — возможность перераспределения памяти между программой и данными, возможность самомодификации программы в процессе ее выполнения. С другой стороны, без принятия специальных мер защиты снижается надежность выполнения программы, что особенно недопустимо в управляющих системах.
Действительно, поскольку и команды программы, и данные кодируются в ЭВМ двоичными числами, теоретически возможно как разрушение программы (при обращении в область программы как к данным), так и попытка "выполнения" области данных как программы (при ошибочных переходах программы в область данных).
Альтернативной фон-неймановской является т. н. гарвардская архитектура. ЭВМ, реализованные по этому принципу, имеют два непересекающихся адресных пространства т— для программы и для данных, причем программу нельзя разместить в свободной области памяти данных и наоборот. Гарвардская архитектура применяется главным образом в управляющих ЭВМ.
1.5. Иерархическое описание ЭВМ
ЭВМ как сложная система может быть адекватно описана на нескольких уровнях с применением различных языков описания на каждом из уровней.
Принципы структурного описания предполагают введение следующих понятий:
□ система — совокупность элементов, объединенных в одно целое для достижения определенных целей. Для полного описания системы следует определить ее функции и структуру;
□ структура системы — фиксированная совокупность элементов системы и связей между ними;
□ элемент — неделимая часть системы, структура которого не рассматривается, а определяются только его функции.
Функции системы стремятся описывать в математической форме, иногда — в словесной (содержательной форме). Структура системы может быть задана в виде графа или эквивалентных ему математических форм (матриц). Инженерной формой задания структуры является схема (отличается от графа только формой). Различным уровням представления систем соответствуют различные виды схем.
Свойства системы не являются простой суммой свойств входящих в нее элементов; за счет организации связей между элементами приобретается новое качество, отсутствующее в элементах. Например, радиокомпоненты -> логические элементы -» сумматор.
Для сложных систем характерно, что функция, реализуемая системой, не может быть представлена как композиция функций, реализуемых наименьшими элементами системы (иначе говоря, функцию сложной системы нельзя адекватно описать на одном языке). Действительно, функционирование ЭВМ нельзя описать лишь на языке электрических процессов, в ней происходящих. Функции ЭВМ как системы выявляются лишь при рассмотрении информационных и логических аспектов ее работы.
Поэтому в описании сложных систем используют несколько форм описания (языков) функций и структуры — иерархию функций и структуры. Иерархический подход к описанию сложных систем предполагает, что на высшем уровне иерархии система рассматривается как один элемент, имеющий входы и выходы для связи с внешней средой. В этом случае функция не может быть задана подробно и представляется как отображение состояний входов на состояние выходов системы.
Чтобы раскрыть устройство и порядок функционирования системы, глобальная функция и сама система разделяются на части — функции и структурные элементы следующего более низкого уровня иерархии и т. д. до тех пор, пока функции и структура системы не будут раскрыты полностью, с необходимой степенью детализации.
В этом случае элемент — это, прежде всего, удобное понятие, а не физическое свойство, т. к. один и тот же физический объект может рассматриваться как элемент на одном уровне иерархии и как система— на другом (более низком) уровне.
В табл. 1.2 представлены основные уровни ЭВМ и языки описания этих уровней.
ГЛАВА 2
Функциональная организация ЭВМ
Термин "функциональная организация ЭВМ" часто используют в качестве синонима (в некотором смысле) более широкого термина— "архитектура ЭВМ", который, в свою очередь, трактуется разными авторами несколько в различных смыслах. Наиболее близким к трактовке автора может служить определение термина "архитектура ЭВМ", данное в [8]. Приведем это определение.
Архитектура ЭВМ— это абстрактное представление ЭВМ, которое отражает ее структурную, схемотехническую и логическую организацию. Понятие архитектуры ЭВМ является комплексным и включает в себя:
□ структурную схему ЭВМ;
□ средства и способы доступа к элементам структурной схемы;
□ организацию и разрядность интерфейсов ЭВМ;
□ набор и доступность регистров;
□ организацию и способы адресации памяти;
□ способы представления и форматы данных ЭВМ;
□ набор машинных команд ЭВМ;
□ форматы машинных команд;
□ обработку нештатных ситуаций (прерываний).
В рамках данной книги мы, в основном, будем рассматривать перечисленные выше вопросы.
2.1. Командный цикл процессора
Командой называется элементарное действие, которое может выполнить процессор без дальнейшей детализации. Последовательность команд, выполнение которых приводит к достижению определенной цели, называется программой. Команды программы кодируются двоичными словами и размещаются в памяти ЭВМ. Вся работа ЭВМ состоит в последовательном выполнении команд программы. Действия по выбору из памяти и выполнению одной команды называются командным циклом.
В составе любого процессора имеется специальная ячейка, которая хранит адрес выполняемой команды — счетчик команд или программный счетчик. После выполнения очередной команды его значение увеличивается на единицу (если код одной команды занимает несколько ячеек памяти, то содержимое счетчика команд увеличивается на длину команды). Таким образом осуществляется выполнение последовательности команд. Существуют специальные команды (передачи управления), которые в процессе своего выполнения модифицируют содержимое программного счетчика, обеспечивая переходы по программе. Сама выполняемая команда помещается в регистр команд — специальную ячейку процессора.
Во время выполнения командного цикла процессор реализует следующую последовательность действий:
1. Извлечение из памяти содержимого ячейки, адрес которой хранится в программном счетчике, и размещение этого кода в регистре команд (чтение команды).
2. Увеличение содержимого программного счетчика на единицу.
3. Формирование адреса операндов.
4. Извлечение операндов из памяти.
5. Выполнение заданной в команде операции.
6. Размещение результата операции в памяти.
7. Переход к п. 1.
Пункты 1, 2 и 7 обязательно выполняются в каждом командном цикле, остальные могут не выполняться в некоторых командах. Если длина кода команды составляет несколько машинных слов, то пп. 1 и 2 повторяются.
Фактически вся работа процессора заключается в циклическом выполнении пунктов 1—7 командного цикла. При запуске машины в счетчик команд ап-паратно помещается фиксированное значение — начальный адрес программы (часто 0 или последний адрес памяти; встречаются и более экзотические способы загрузки начального адреса). В дальнейшем содержимое программного счетчика модифицируется в командном цикле. Прекращение выполнения командных циклов может произойти только при выполнении специальной команды "СТОП".
2.2. Система команд процессора
Разнообразие типов данных, форм их представления и действий, которые необходимы для обработки информации и управления ходом вычислений, порождает необходимость использования различных команд — набора команд. Каждый процессор имеет собственный вполне определенный набор команд, называемый системой команд процессора. Система команд должна обладать двумя свойствами — функциональной полнотой и эффективностью.
Функциональная полнота — это достаточность системы команд для описания любого алгоритма. Требование функциональной полноты не является слишком жестким. Доказано, что свойством функциональной полноты обладает система, включающая всего три команды (система Поста): присвоение О, присвоение 1, проверка на 0. Однако составление программ в такой системе команд крайне неэффективно.