Вы находитесь на странице: 1из 8

Архитектура компьютера (общий подход)

Компьютер – это многофункциональное электронное устройство,


предназначенное для накопления, обработки и передачи информации. Под
архитектурой компьютера понимается его логическая организация, структура и
ресурсы, то есть средства вычислительной системы, которые могут быть
выделены процессу обработки данных на определенный интервал времени.
В основу построения подавляющего большинства вычислительных устройств
положены общие принципы, сформулированные американским ученым Джоном
фон Нейманом.
Компьютеры, построенные на этих принципах, имеют классическую
архитектуру. Разнообразие современных вычислительных устройств очень
велико. Но их варианты архитектуры основаны на общих логических принципах
(согласно архитектуре фон Неймана), позволяющих выделить в любом
вычислительном устройстве следующие главные компоненты:
 память (memory) – в ее функции входит прием информации из других
устройств, запоминание и выдача по запросу в другие компоненты;
 процессор (CPU – Central Processing Unit, центральное обрабатывающее
устройство), включающий в себя устройство управления (CU – control unit,
состоит из дешифратора команд (операций), регистра команд (IR –
instruction register), узла формирования исполнительного адреса, счетчика
команд – counter) и арифметико-логическое устройство (ALU – arithmetic
logic unit, для выполнения арифметических и логических операций с
данными, которые называются операндами), обычно эти два устройства
выделяют чисто условно, конструктивно они не разделены;
 устройство ввода (input unit);
 устройство вывода (output unit).
Эти устройства соединены каналами связи (шина – bus), по которым
передается информация:
Устройство управления Арифметическо-логическое
устройство
Счетчик команд
Шина
адреса
Буфер адресов

Управляющие
Логика управления и сигналы
дешифрации

Регистр команд
АЛУ
Шина
данных
Буфер данных

Внутренние
регистры
Принципы Джона фон Неймана:
1. Принцип программного управления. Из него следует, что программа состоит
из набора команд, которые выполняются процессором автоматически друг за другом
в определенной последовательности.
Инициализация
Выборка программы из памяти
осуществляется с помощью счетчика
Выборка команды
команд. Этот регистр процессора
последовательно увеличивает хранимый в
нем адрес очередной команды на длину Увеличение содержимого
счетчика команд
команды. А так как команды программы
расположены в памяти друг за другом, то
тем самым организуется выборка цепочки Дешифрация и выполнение
команд из последовательно расположенных команды
ячеек памяти. Если же нужно после
выполнения команды перейти не к Нет
следующей, а к какой-то другой, Стоп?
используются команды условного или
Да
безусловного переходов, которые заносят в
Окончание работы
счетчик команд номер ячейки памяти,
содержащей следующую команду. Выборка команд из памяти прекращается после
достижения и выполнения команды «стоп». Таким образом, процессор исполняет
программу автоматически, без вмешательства человека.
2. Принцип однородности памяти. Программы и данные хранятся в одной и той
же памяти. Поэтому компьютер не различает, что хранится в данной ячейке памяти -
число, текст или команда. Память команд и память данных содержат слова в
двоичном алфавите. Значит эти устройства можно объединить в одно: основную, или
оперативную память (ОЗУ, RAM – Random Access Memory). В ней будут находиться
команды (код программы) и данные, записанные в форме слов в двоичном алфавите.
В различных ситуациях в процессе выполнения программы содержимое одного и
того же участка Процессор Память
памяти может Программа Данные
рассматриваться и
АЛУ Инструкция 1 Данное 1
как данные, и как Инструкция 2 Данное 2
код программы. ……………… …………
Над командами Инструкция N Данное N
УУ
можно выполнять
такие же действия,
как и над данными.
3. Принцип адресности. Структурно основная память состоит из нумерованных
ячеек; процессору в произвольный момент времени доступна любая ячейка. В каждой
ячейке хранится слово в двухбуквенном алфавите {0, 1}, представляющее число. Зная
номер ячейки, можно получить именно то слово, которое в ней хранится, и далее, в
зависимости от потребностей, использовать его для выполнения очередной операции
или записать в ячейку новое.
Компьютеры на этих принципах, относятся к типу фон-неймановских:

Функции памяти:
 прием информации из других частей вычислительного устройства;
 запоминание информации (Внешнее запоминающее устройство ВЗУ –
External storage);
 выдача информации по запросу в другие части вычислительного устройства.
Функции процессора:
 обработка данных по заданной программе путем выполнения
арифметических и логических операций;
 программное управление работой компонент вычислительного устройства;
 кратковременное хранение числа или команды;
 выполнение над ними некоторых операций.
В составе процессора имеется ряд специальных запоминающих ячеек,
называемых регистрами. Основным элементом регистра является электронная
схема, называемая триггером, которая способна хранить одну двоичную цифру
(разряд). Регистр представляет собой совокупность триггеров, связанных друг с
другом определенным образом общей системой управления. Регистр выполняет
две функции:
1) кратковременное хранение числа или команды;
2) выполнение над ними некоторых операций.
Регистр отличается от ячейки памяти тем, что может не только хранить
двоичный код, но и преобразовывать его.
Существует несколько типов регистров, отличающихся видом выполняемых
операций. Некоторые важные регистры имеют свои особые названия, например:
 счетчик команд – регистр УУ, содержимое которого соответствует адресу
очередной выполняемой команды; служит для автоматической выборки
программы из последовательных ячеек памяти;
 сумматор – регистр АЛУ, участвующий в выполнении каждой операции;
 регистр команд – регистр УУ для хранения кода команды на период времени,
необходимый для ее выполнения.
Базовая идея последовательной обработки, описывающих ход вычислений по
заданному алгоритму, лежит в основе большинства современных вычислительных
устройств. Сами алгоритмы вычислений задаются извне – программистами.
Компьютер же является исполнителем.

Формат трехадресной команды машины фон Неймана:


Операция (+, –, *, and, or и другие) Адрес первого Адрес второго Адрес
Выполняется над данными, операнда в ОЗУ операнда в ОЗУ результата
хранящимися в ОЗУ операции в ОЗУ

Основные шаги машинного цикла при выполнении команды в порядке


очередности их выполнения:

1. Выборка (чтение) команды из памяти для последующего выполнения. В случае


длинной команды возможно неоднократное обращение к памяти. Команда
помещается в регистр команд.
2. Формирование исполнительных (физических) адресов операндов, учитывая
методы их адресации (по памяти).
3. Вызов (чтение) операндов из памяти и размещение их в соответствующих
регистрах арифметико-логического устройства центрального процессора.
4. Выполнение операции арифметико-логическим устройством в соответствии с
кодом операции, хранящимся в регистре команды.
5. Формирование результата в соответствии с кодом команды и формирование
признаков результата в регистре признаков (флагов) для записи в память.
6. Изменение значения (при необходимости) счетчика команд.
Необходимые составные части процессора:
1. Модуль выборки инструкций. Здесь осуществляется распознавание
инструкций по адресу, который обозначается в счетчике команд. Число
одновременного считывания команд напрямую зависит от количества
установленных блоков расшифровки, что помогает нагрузить каждый такт работы
наибольшим количеством инструкций.
2. Модуль управления переходами отвечает за оптимальную работу блока
выборки инструкций. Он определяет последовательность исполняемых команд.
3. Модули выборки данных. Они берут информацию памяти. Осуществляют
они именно выборку данных, которая необходима на этот момент для исполнения
инструкции.
4. Управляющий блок (устройство управления). Он является главным
элементом, поскольку производит распределение инструкций и данных.
5. Модуль сохранения результатов. Предназначен для записи результата
после окончания обработки инструкции в память. Адрес сохранения указывается
в исполняющейся задаче.
6. Элемент работы с прерываниями. Процессор способен выполнять сразу
несколько задач благодаря функции прерывания, это позволяет ему останавливать
ход работы одной программы, переключаясь на другую инструкцию.
7. Регистры. Здесь хранятся временные результаты инструкций, данный
компонент можно назвать небольшой быстрой оперативной памятью. Часто ее
объем не превышает несколько сотен байт.
8. Счетчик команд. Он хранит в себе адрес команды, которая будет
задействована следующей при обработке на процессоре.

Контроллер (адаптер, adapter) – устройство, которое связывает периферийное


оборудование (ввод/вывод) или каналы связи (шины) с центральным процессором,
освобождая процессор от непосредственного управления функционированием
данного оборудования.

В настоящее время стремятся повысить скорость обработки данных за счет


увеличения степени параллелизма вычислений – многопроцессорный компьютер с
многоядерными процессорами. Это стремление обусловлено развитием
компьютерных коммуникаций, объединивших компьютеры в единую мировую сеть
Интернет, в которой большую часть трафика составляют уже не последовательности
символов, а образы – картинки, музыка, речь, видео. Прогресс современных
широкополосных линий связи выводит задачи обработки на первый план. фон
Неймановские микропроцессоры имеют сложную иерархическую архитектуру, и
число вентилей на кристалле растет быстро с разрядностью входных данных.
Прогресс полупроводниковых интегральных технологий обеспечил несколько
десятилетий экспоненциального роста производительности фон-неймановских
компьютеров, в основном за счет увеличения тактовой частоты, и в меньшей степени
– за счет использования параллелизма.
Основа любого процессора – архитектура набора команд

Архитектура набора команд (ISA) является чем-то вроде фундамента работы


процессора и именно от нее зависит то, как он работает и как все внутренние системы
взаимодействуют друг с другом.
Элементы процессора можно разделить на два основных: УУ (управляющий
автомат) и АЛУ (операционный автомат). Говоря простым языком, процессор - это
поезд, в котором машинист (УУ) управляет различными элементами двигателя
(АЛУ). АЛУ подобен двигателю – это путь, по которому данные передаются при их
обработке. Он получает входные данные, обрабатывает их и отправляет в нужное
место после завершения операции. УУ направляет этот поток данных. В зависимости
от инструкции (операции), АЛУ будет направлять сигналы к различным
компонентам процессора, включать и выключать различные части пути, а также
отслеживать состояние всего процессора.
Работы процессора – черными линиями отображен поток данных, а красными -
поток команд:

Процессор определяет какие команды необходимо выполнить следующими, а


затем перемещает их из памяти в УУ. Наиболее распространенные типы базовых
инструкций: "загрузка", "хранение", "сложение", "вычитание" и другие. Процессор
всегда поддерживает внутренний реестр, отслеживающий откуда должна будет
выполняться следующая команда. Этот реестр называется счетчиком команд. После
того, как процессор определил точку, с которой нужно начинать цикл, происходит
перемещение команды из памяти в вышеупомянутый реестр – этот процесс
называется выборкой команды. Когда процессор получает команду, ему нужно
точно определить тип этой команды. Данный процесс называется декодированием.
Каждая команда обладает особым набором битов, который дает возможность
процессору распознать ее тип. Процесс декодирования является одним из
сложнейших и занимает огромное количество памяти. Чаще всего процессоры
декодируют команды, связанные с памятью, арифметическими вычислениями и
переходом. Регистры используются для хранения используемых в данный момент
значений и их можно считать чем-то вроде кэша нулевого уровня.
Самыми простыми для понимания являются арифметические команды. Эти
команды отправляются в арифметическо-логическое устройство (ALU) для
последующей обработки. Устройство представляет собой цепь, которая чаще всего
работает с двумя значениями, отмеченными сигналом, и выдает результат:

Арифметическо-логическое устройство (ALU) обрабатывает тип операции в


зависимости от ее кода, который УУ отправляет в ALU и которое в дополнение к
базовой арифметике может производить со значениями такие битовые операции, как
AND, OR, NOT и XOR. Кроме того, АЛУ выводит информацию о проведенном
вычислении для УУ (например, оказалось ли оно положительным, отрицательным,
равным нулю или вызвало переполнение). АЛУ чаще всего связано именно с
арифметическими операциями, но есть и инструкции для памяти или перехода. Если
процессору нужно вычислить адрес памяти, заданный в результате прошлого
вычисления, либо в случае необходимости вычислить переход для добавления в
счетчик программ, если инструкция того требует (пример: "если предыдущий
результат отрицателен, перейти на 20 команд вперед").
Наиболее распространенными есть такие архитектурные решения:
Классическая архитектура Многомашинная вычислительная система:
(архитектура фон Неймана, несколько процессоров, которые входят в
однопроцессорный вычислительную систему, не имеют общей
компьютер): одно оперативной памяти, а имеют каждый свою
арифметико-логическое (локальную). Каждый компьютер в многомашинной
устройство (АЛУ), через системе имеет классическую архитектуру. Однако
которое проходит поток эффект от употребления такой вычислительной
данных, и одно устройство системы может быть получен лишь при решении задач,
управления (УУ), через которые имеют очень специальную структуру: она
которое проходит поток должна разбиваться на столько слабо связанных
команд – программа. подзадач, сколько компьютеров в системе.

Многопроцессорная архитектура: Архитектура с параллельными


Наличие в компьютере нескольких процессорами. Здесь несколько АЛУ
процессоров означает, что параллельно работают под управлением одного УУ.
может быть организовано много Это значит, что множество данных может
потоков данных и много потоков обрабатываться одной программой – то
команд. Таким образом, параллельно есть по одним потоком команд. Высокое
могут выполняться несколько быстродействие можно получить лишь в
фрагментов одной задачи. Машина задачах при выполнении одинаковых
имеет общую оперативную память и вычислительных операций одновременно
несколько процессоров. на разных однотипных наборах данных.
Преимущество в быстродействии многопроцессорных и многомашинных
вычислительных систем перед однопроцессорными очевидно.