2.1. Представление информации в технических устройства»
В основу любого устройства, предназначенного для преобразования или хранения информации, должен быть положен принцип ее представления, то есть ее физический носитель. Известны, например, механические устройства, в которых информация представляется углами поворота или перемещения объектов относительно друг друга. Так как автоматизация процесса обработки информации всегда являлась важной задачей для дальнейшего прогресса промышленности и науки, предлагались устройства, принцип представления информации в которых зависел от уровня развития техники: механические устройства с ручным, а затем с паровым приводом, электромеханические, электрические устройства и, наконец, электронные устройства. Последние получили широкое распространение и за 30—40 лет вытеснили устройства других типов. Исключение составляют случаи, когда преобразование информации требует наличия движущихся объектов, например, лентопротяжные или дисковые механизмы памяти больших объемов, исполнительные механизмы и приводы и некоторые другие. Преимущество использования электронных устройств обусловлено многими факторами, главными из которых являются удобство преобразования и передачи электрических сигналов, малая инерционность электронных устройств и, следовательно, их высокое быстродействие.
Вычислительные устройства, использующие непрерывную форму представления информации, называются аналоговыми вычислительными машинами (АВМ). Вычислительные устройства, использующие дискретную форму представления, называются цифровыми вычислительными машинами (ЦВМ).
В настоящее время устройства, использующие непрерывный способ представления информации, вытесняются более прогрессивными цифровыми устройствами, даже из таких традиционно «аналоговых» областей, как телевидение и телефония. Что касается непосредственно вычислительных систем, то их развитие, начавшееся преимущественно с АВМ, постепенно перешло к ЦВМ и к середине 70-х гг. прошлого столетия ЦВМ полностью вытеснили АВМ.
В дальнейшем мы будем рассматривать только вычислительные устройства с дискретным представлением информации, поэтому здесь остановимся несколько подробнее на принципе построения и полезных свойствах АВМ.
АВМ имели блочную структуру, т.е. представляли собой систему связанных между собой базовых элементов. Связи между базовыми элементами, их состав и количество изменялись для каждой задачи, решаемой на АВМ. В качестве базового элемента использовался операционный усилитель, схема которого показана на рис. 2.1.
Рис. 2.1. Операционный усилитель
Он состоит из усилителя, входных элементов (Е1,..., Еn) и элемента обратной связи (Еос). В качестве элементов используются радиоэлектронные компоненты; резисторы, конденсаторы, индуктивности. В зависимости от типов элементов, базовый элемент может производить сложение, интегрирование, дифференцирование и некоторые другие операции над входными напряжениями (Ubx1,..., ubxn), результат операции снимается в виде выходного напряжения (Ubых). Основными достоинствами АВМ являлись простота аппаратной реализации и высокая скорость получения решения. Основным же недостатком являлась низкая точность результата, так как радиоэлектронные компоненты, подвергаясь воздействиям внешней среды, изменяли свои параметры, что и влияло на точность решения.
ЦВМ имеют гораздо более высокую сложность аппаратной и программной реализации. Информация в них имеет определенные границы представления, т.е. точность представления информации конечна. Для расширения границ представления необходимо увеличивать аппаратную часть или увеличивать время обработки. Основными достоинствами ЦВМ, а в дальнейшем — компьютерных систем (КС) являются:
• гарантированная точность результата, зависящая только от границ представления данных;
• универсальность — способность обрабатывать данные любыми
методами, представляемыми последовательностью простых арифметических и логических операций;
• возможность реализации большого числа известных численных
математических методов решения задач.
2.2. Базовая система элементов компьютерных систем
Компьютерные системы (КС) используют естественное представление чисел в позиционной системе счисления, поэтому при построении базовых элементов очень большое значение имеет выбор основания системы счисления. Как уже говорилось выше (см. главу 1), для построения цифровых устройств была выбрана двоичная система счисления. Одним из преимуществ двоичного представления являлось и то, что для проектирования устройств можно было использовать мощный аппарат алгебры логики — булевых функций.
При построении функциональных узлов КС используются элементы, которые реализуют базовую систему логических функций. Одним из таких базовых наборов является набор из трех функций: дизъюнкции (логическое ИЛИ), конъюнкции (логическое И) и отрицание (логическое НЕ). На рис. 2.2 показаны условные обозначения и значения выходного сигнала в зависимости от входных сигналов. Ноль изображается на диаграммах низким значением сигнала, а единица — высоким. Используя эти базовые элементы, строятся все функциональные узлы ЦВМ.
Рис. 2.2. Базовая система логических элементов цифровых устройств
2.3. Функциональные узлы компьютерных систем
2.3,1, Элемент памяти
Основой любого компьютера является ячейка памяти, которая может хранить данные или команды. Основой любой ячейки памяти является функциональное устройство, которое может по команде принять или выдать один двоичный бит, а, главное, сохранять его сколь угодно долго. Такое устройство называется триггер, или защелка. Оно строится на основе базового набора логических схем. На рис. 2.3 показана схема триггера. Он собран на четырех логических элементах: два элемента «логическое НЕ» (схемы 1 и 2) и два элемента «логическое И-НЕ» (схемы 3 и 4). Два последних элемента представляют собой комбинацию логических элементов «логическое И» и «логическое НЕ». Такой элемент на входе выполняет операцию логического умножения, результат которой инвертируется на выходе логическим отрицанием. Триггер имеет два выхода . Сигнал на выходе Q соответствует значению, хранящемуся в триггере
Рис. 2.3. Схема триггера в состоянии хранения бита информации
Выход используется при необходимости получить инверсное значение сигнала. Входы S и R предназначены для записи в триггер одного бита со значением ноль или единица.
Рассмотрим состояние триггера во время хранения бита. Пусть в триггер записан ноль (на выходе 0. низкий уровень сигнала). Единица на выходе схемы 4 и единица на выходе схемы 1 поддерживают состояние выхода схемы 3 в состоянии нуля . В свою очередь, ноль на выходе схемы 3 поддерживает единицу на выходе
схемы , Такое состояние может поддерживаться триггером бесконечно долго.
Для записи в триггер единицы подадим на вход S единицу (рис. 2.4). На выходе схемы l получится ноль, который обеспечит на выходе схемы 3 единицу. С выхода схемы 3 единица поступит на вход схемы 4, на выходе которой значение изменится на ноль Этот ноль на входе схемы 3 будет поддерживать сигнал на ее выходе в состоянии единицы. Теперь можно снять единичный сигнал на входе S, на выходе схемы 3 все равно будет высокий уровень. Те; триггер сохраняет записанную в него единицу. Единичный сигнал на входе 5 необходимо удерживать некоторое время, пока на выходе схемы 4 не появится нулевой сигнал. Затем вновь на входе S устанавливается нулевой сигнал, но триггер поддерживает единичный
Рис. 2.4. Запись в триггер единицы
сигнал на выходе Q, т.е. сохраняет записанную в него единицу. Точно так же, подав единичный сигнал на вход R, можно записать в триггер ноль, Условное обозначение триггера показано на рис. 2.5.
Рис. 2.5. Условное обозначение триггера
2.3,2, Регистры
Триггер служит основой для построения функциональных узлов, способных хранить двоичные числа, осуществлять их синхронную параллельную передачу и запись, а также выполнять с ними некоторые специальные операции. Такие функциональные узлы называются регистрами.
Регистр представляет собой набор триггеров, число которых определяет разрядность регистра. Разрядность регистра кратна восьми битам: 8-, 16-, 32-, 64-разрядные регистры. Кроме этого в состав регистра входят схемы управления его работой. На рис. 2.6 приведена схема регистра хранения. Регистр содержит п триггеров, образующих п разрядов. Перед записью информации регистр обнуляется подачей единичного сигнала на вход «Сброс». Запись информации в регистр производится синхронно подачей единичного сигнала «Запись». Этот сигнал открывает входные вентили (схемы «логическое И»), и на тех входах х1.. хn, где присутствует единичный сигнал, произойдет запись единицы. Чтение информации из регистра также производится синхронно, подачей сигнала «Чтение» на выходные вентили. Обычно регистры содержат дополнительные схемы, позволяющие организовать такие операции, как сдвиг информации (регистры сдвига) и подсчет поступающих единичных сигналов (регистры счетчики)
Рис. 2.6. n-разрядный регистр хранения с синхронной записью и чтением
2.3,3, Устройство обработки информации
Для обработки информации компьютер должен иметь устройство, выполняющее основные арифметические и логические операции над числовыми данными. Такие устройства называются арифметико-логическими устройствами (АЛУ). В основе АЛУ лежит устройство, реализующее арифметическую операцию сложения двух
целых чисел. Остальные арифметические операции реализуются с помощью представления чисел в специальном дополнительном коде. Сумматор АЛУ представляет собой многоразрядное устройство, каждый разряд которого представляет собой схему на логических элементах, выполняющих суммирование двух одноразрядных двоичных чисел с учетом переноса из предыдущего младшего разряда. Результатом является сумма входных величин и перенос в следующий старший разряд. Такое функциональное устройство называется одноразрядным, полным сумматором. Его условное обозначение показано на рис. 2.7.
Рис. 2.7. Условное обозначение полного одноразрядного сумматора
Рассмотренные выше функциональные элементы являются основными при построении схем компьютерных систем.
2.4. Принцип автоматической обработки информации Вычислительным устройством
Основным отличием вычислительной машины от таких счетных устройств, как счеты, арифмометр, калькулятор, заключается в том, что вся последовательность команд на вычисление предварительно записывается в память вычислительной машины и выполняется последовательно автоматически. Впервые принцип вычислительной машины с автоматическим выполнением команд предложил американский ученый фон Нейман. Он описал основные узлы, которые
должна содержать такая машина. Этот принцип получил название фон-неймановской вычислительной машины. Большинство современных КС в настоящее время построено именно по этому принципу.
Машина фон Неймана состояла из памяти, представлявшей собой набор регистров, АЛУ, устройства ввода-вывода и устройства управления (рис. 2.8).
Рис. 2.8. Машина фон Неймана
Устройство ввода передавало команды и данные в АЛУ, откуда они записывались в память. Все команды, совокупность которых называется программой, записываются в память в соседние ячейки по возрастанию их адресов, а данные, которые требуют обработки,— в ячейки с произвольными адресами. Последняя команда программы — это обязательно команда остановки работы. Каждая команда содержит код операции, которую необходимо выполнить, и адреса ячеек, в которых находятся данные, обрабатываемые этой командой. Устройство управления содержит специальный регистр, который называется «Счетчик команд». После загрузки программы и данных память в счетчик команд записывается адрес первой команды программы. После чего вычислительная машина переходит в режим автоматического выполнения программы.
Устройство управления считывает из памяти содержимое ячейки памяти, адрес которой находится в счетчике команд, и помещает его в специальное устройство — «Регистр команд». Регистр команд хранил команду во время ее исполнения. Устройство управления расшифровывает тип операции команды, считывает из памяти данные, адреса которых указаны в команде, и приступает к ее выполнению. Для каждой команды устройство управления имеет свой алгоритм' обработки, который заключается в выработке управляющих сигналов для всех остальных устройств машины. Этот алгоритм мог быть реализован на основе комбинационных логических схем или с помощью специальной внутренней памяти, куда эти алгоритмы были записаны в виде микрокоманд, объединенных в микропрограммы. Выполнение микропрограммы происходит по тому же принципу, что и программы в основной памяти, т.е. по принципу фон Неймана. Каждая микрокоманда содержит набор управляющих сигналов для устройств машины. Отметим, что устройства управления выполнением команд процессоров в современных компьютерных системах также строятся по принципу комбинационных схем или микропрограммных автоматов, в соответствии с чем делятся на RISC и СISС процессоры, о которых будет рассказано ниже.
Микропрограмма выполнения любой команды обязательно содержит сигналы, изменяющие содержимого счетчика команд на единицу. Таким образом, после завершения выполнения очередной команды, счетчик команд указывал на следующую ячейку памяти, в которой находилась следующая команда программы. Устройство управления читает команду, адрес которой находится в счетчике команд, помещает ее в регистр команд и т.д. Этот процесс продолжается до тех пор, пока очередная исполняемая команда не оказывается командой останова исполнения программы. Интересно отметить, что и команды, и данные, находящиеся в памяти, представляют собой целочисленные двоичные наборы. Отличить команду от данных устройство управления не может, поэтому, если программист забыл закончить программу командой останова, устройство управления читает следующие ячейки памяти, в которых уже нет команд программы, и пытается интерпретировать их как команды.
Особым случаем можно считать команды безусловного или условного перехода, когда требуется выполнить команду, не следующую по порядку за текущей, а отстоящую от данной на какое-то количество адресов. В этом случае команда перехода содержит адрес ячейки, куда требуется передать управление. Этот адрес записывается устройством управления непосредственно в счетчик команд и происходит переход на соответствующую команду программы.