ЦИФРОВАЯ ВЫЧИСЛИТЕЛЬНАЯ МАШИНА

ЦИФРОВАЯ ВЫЧИСЛИТЕЛЬНАЯ МАШИНА

Цифровая вычислительная машина преобразует величины, представленные в виде набора цифр (чисел). Элементарные преобразования чисел, которые известны с древнейших времен, — это арифметические действия (вычитание и сложение). Однако арифметические операции являются частными случаями преобразований величин, которые заданы в цифровой форме, и в современных ЦВМ они образуют только небольшую часть всего набора операций, которые машина производит над числами.

Первыми устройствами для элементарных вычислений являлись счеты (абаки): с их помощью производились арифметические операции — сложение и вычитание. Данные инструменты избавляли человека от запоминания таблицы сложения и записывания промежуточных результатов вычислений, так как в те времена бумага (либо ее аналог) и пишущие приспособления были редкостью.

Важным шагом в развитии вычислительных приборов явилось изобретение Б. Паскалем в 1641 г. суммирующей машины. В машинах Паскаля всем цифрам соответствовало конкретное положение разрядного колеса, которое разделено на 10 секторов. Сложение в подобной машине производилось поворотом колеса на определенное количество секторов.

Идея использовать вращение колеса для производства операции сложения (вычитания) высказывалась и до Паскаля (например, профессором В. Шиккардом в 1623 г.), однако главным элементом в машинах Паскаля являлся автоматический перенос единицы в старший разряд при полном обороте колеса предшествующего разряда.

Именно это позволило складывать многозначные числа без участия человека в работе механизма. Этот принцип применялся на протяжении почти трехсот лет (середина XVII — начало XX в.) при построении арифмометров (работающих от движения руки) и клавишных электрических вычислительных машин, имеющих привод от электродвигателя.

Первые вычислительные машины производили следующие простейшие операции: вычитание и сложение, перенос единицы в старший разряд при сложении (либо заем единицы при вычитании), сдвиг (перемещение каретки в арифмометрах вручную, в электрических машинах автоматически), умножение (деление) производилось последовательными сложениями (вычитаниями). При этом функции машины и человека в процессе вычислений разделялись следующим образом: машина производила арифметические операции над числами, человек следил за ходом вычислительного процесса, вводил в машину новые числа, записывал результаты (промежуточные и окончательные), искал по таблицам значения разных функций, которые входили в расчет. При подобном распределении ролей увеличение скорости выполнения машиной арифметических операций только незначительно повышало скорость вычислений в общем, так как процедуры, которые выполнялись человеком, составляли значительную часть вычислительного процесса. Поэтому, несмотря на то что техническая скорость электрических вычислительных машин в теории допускала осуществление до 1000 арифметических операций в 1 ч, на практике скорость вычислений была не более 1000 операций на протяжении 8-часового рабочего дня.

Еще одним шагом вперед в развитии техники ЦВМ явилось создание счетноперфорационных машин. В данных машинах все функции человека, кроме поиска по таблицам, осуществлялись машиной. Однако для ввода начальных данных их нужно было предварительно записать на перфорационные карты. Подобная операция производилась человеком на специальном устройстве. В машину вводилась стопка подготовленных перфокарт, и потом уже без вмешательства человека машина считывала имеющиеся в них данные и производила все необходимые вычислительные операции. Промежуточные результаты вычислений вносились в запоминающие регистры, итоговые печатались на бумаге (либо выводились на перфокарты, а затем специальное устройство вновь перепечатывало их на бумагу с перфокарт). Порядок действий счетно-перфорационной машины задавался на коммутационной доске специальной коммутацией электрических связей.

Таким образом, в счетно-перфорационных машинах в зачатке уже имелись все важнейшие элементы автоматической ЦВМ, которая работает без участия человека, после того как требуемая подготовка для произведения ей вычислительного процесса была окончена. Счетно-перфорационные машины содержали арифметическое устройство, память (в виде стопки перфокарт и регистров, предназначенных для запоминания промежуточных результатов), устройство вывода и ввода данных. В подобных машинах арифметические операции производились так же, как и в арифмометрах, с помощью механических перемещений, что сильно сокращало их быстродействие. Однако управление вычислительным процессом у этих машин было наиболее проблематичным. Так как управление (задание последовательности простейших операций) производилось путем соответствующих соединений проводами клемм коммутационной доски, то только несложные последовательности вычислительных операций могли быть реализованы на практике. Данные операции могли повторяться неоднократно, поэтому счетно-перфорационные машины широко использовались в тех случаях, когда решение задачи заключалось в повторении простых наборов операций, например при решении задач бухгалтерского учета, элементарных задач статистического анализа; наиболее сложными для решения на счетно-перфорационных машинах являлись обыкновенные линейные дифференциальные уравнения второго порядка.

К 70-м гг. XX в. счетно-перфорационные машины почти полностью вышли из употребления в связи с заменой их более универсальными и совершенными электронными ЦВМ. Однако в историческом плане значение счетно-перфорационных машин заключалось в том, что их использование позволило накопить опыт машинной обработки информации и осознать, что же требуется для создания автоматических ЦВМ. ЦВМ автоматически, независимо от механического устройства, должна обладать следующими функциональными возможностями: производить операции (в том числе арифметические) над величинами, которые заданы в цифровой форме; запоминать первоначальную информацию (исходные данные и программу) и итоги вычислений; управлять вычислительным процессом, другими словами, автоматически настраивать машину на осуществление очередной операции в соответствии с алгоритмом работы; воспринимать от человека исходную информацию и выдавать необходимые ему результаты вычислений. Как правило, эти функции производятся соответствующими устройствами. Но возможно частичное совмещение функций в одном устройстве, однако в любом случае осуществление всех этих функций является обязательным условием для автоматической ЦВМ. Каждая ЦВМ должна иметь в составе элементы, которые обладают конечным числом устойчивых состояний; количество таких состояний должно быть равно числу цифр системы счисления, принятой в этой ЦВМ. В настольных механических ЦВМ подобными элементами служат так называемые цифровые колеса, которые принимают десять конкретных положений (в соответствии с десятичной системой счисления). Электронные цифровые элементы самым простым образом реализуются в двух устойчивых состояниях.

Поэтому в электронных ЦВМ используется двоичная система счисления, в которой существуют только две цифры: 0 и 1. Переход на данную систему счисления не только сделал легче представление чисел, но и значительно упростил выполнение над ними операций. Например, цифровой элемент сумматора в подобном случае должен обладать следующими свойствами: менять состояние на инверсное всегда при поступлении единичного сигнала (прибавление 1) и, в том случае если цифровой элемент уже находился в состоянии «1», одновременно с переменой своего состояния посылать единичный сигнал в цифровой элемент последующего, старшего разряда сумматора. Действие умножения заключается в многократном прибавлении множимого и сдвигам (деление — к вычитанию и сдвигам). Значительно упрощаются в двоичной системе счисления также и логические операции. Любой сложный вычислительный алгоритм имеет, как правило, разветвления вычислительного процесса, различные условия, которые налагаются на точность вычислений, повторения вычислительных процедур и многие другие указания. Машина должна воспринимать эти указания и самостоятельно выдавать ответы о своевременном их выполнении; такие действия машины арифметическими не являются, они служат для логического анализа ситуаций. Самая обычная процедура машины: если имеет место какая-либо ситуация, то необходимо выполнить соответствующий шаг вычислительного алгоритма (команду программы), в противном случае необходимо перейти к реализации некоторой другой команды. Включение .в состав операций вычислительной машины кроме арифметических операций также и логических привело к тому, что возможности электронных ЦВМ ушли далеко за рамки их прямого назначения, и ЦВМ стали универсальными преобразователями дискретной информации. Так как непрерывная информация почти всегда может быть аппроксимирована дискретной, то можно утверждать, что современные электронные ЦВМ — это универсальные преобразователи информации какого угодно вида.

Первая электронная ЦВМ под названием «ЭНИАК» была сконструирована в 1945 г. и начала использоваться в 1946 г. в США. При их создании не вставала необходимость изобретать новые элементы специально для них: подобные элементы уже применялись в системах автоматического управления, а особенно в радиолокационных приборах. Требовалось только приспособить их для применения в ЦВМ. Цифровым элементом ранних машин являлся триггер, собранный на электронных лампах. Выбор подобного цифрового элемента привел к тому, что первые электронные ЦВМ содержали слишком большое число электронных ламп и были очень ненадежны в работе. Однако именно с «ЭНИАК» началась история электронных ЦВМ. Значение «ЭНИАК» в развитии вычислительной техники можно увидеть прежде на примере того, что она показала возможность создания автоматической ЦВМ, которая работает по заранее определенной программе, осуществима, для чего нужна только ее технологическая доработка. С данного момента в большинстве странах начались энергичные поиски, которые направлены на изготовление надежных электронных цифровых элементов и конструирование рациональных структур ЦВМ.

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

В середине 1950-х it. в ЦВМ вместо электронных ламп стали использоваться полупроводниковые приборы — транзисторы и диоды. В связи с тем, что срок службы полупроводниковых приборов гораздо больше, нежели у электронных ламп, то с переходом на новую элементную базу значительно повысилась надежность ЦВМ, значительно уменьшились размеры машин. С внедрением цифровых элементов на базе полупроводниковых приборов началось конструирование ЦВМ второго поколения.

Усовершенствование вычислительных машин ставило перед собой цель повышения их быстродействия; у машин первого поколения быстродействие возросло от нескольких сотен операций/с до нескольких десятков тысяч операций/с; первые транзисторные машины обладали быстродействием порядка 5 тыс. операций/с и в процессе развития дошли до уровня 10—15 млн операций/с.

Однако при организации вычислительного процесса, которая применялась в ЦВМ первого поколения, дальнейшее увеличение быстродействия уже почти не увеличивало производительности машин. В ЦВМ вводили программу решения определенной задачи, и до окончания решения и вывода результатов вычислений невозможно было ввести новую задачу. Однако в любом вычислительном процессе, кроме быстрых, существуют и медленные операции, которые выполняются механическими устройствами: считывание первоначальной информации, пересылки информации из внешней памяти в оперативную, вывод на печать результатов вычислений и др. По мере увеличения быстродействия медленные операции занимали все больший объем общего времени работы машины, в то время как скоростные устройства машины простаивали и, таким образом, модернизации, касавшиеся только электронных элементов, не позволяли дать сколько-нибудь заметного увеличения производительности ЦВМ. Поэтому в 1960-х гг. случилось существенное изменение структуры ЦВМ, итогом которого стало то, что различные устройства смогли работать независимо друг от друга по различным программам. Это дало возможность решать на машине несколько задач одновременно. Наиболее производительные из современных ЦВМ одновременно могут обрабатывать несколько тысяч задач. Работой ЦВМ и образованием потока задач управляет специальная программа — операционная система.

Мультипрограммный режим не может ускорить решение одной конкретной задачи, однако довольно существенно повышает общую производительность ЦВМ.

Следующим этапом в развитии мультипрограммных режимов работы стал переход к ЦВМ коллективного пользования. Ввод задач в машину не всегда должен осуществляться с одного устройства ввода, подобных устройств может быть несколько, и находиться они могут не в машинном зале, а непосредственно у пользователей, нередко удаленных от ЦВМ на большое расстояние. С помощью подобных устройств по линиям связи (как правило, телефонным) задачи вводят в машину, которая впоследствии сама определяет их очередность и время их решения. Результаты решения тоже по линиям связи подаются на терминалы, которые должны иметь устройства вывода, печатающее устройство либо дисплей.

Изобретение мультипрограммных машин привело к развитию систем ЦВМ коллективного пользования, которые объединяют в одно целое несколько машин с разной производительностью и обслуживают одновременно тысячи потребителей, находящихся не только в различных городах, но часто и в разных странах.

Подобное применение ЦВМ требовало расширения их функциональных возможностей и, как следствие, усложнения их структуры; полупроводниковая техника уже не отвечала современным требованиям развития ЦВМ как в отношении размеров и потребления энергии, так и в отношении их надежности и технологичности.

На смену ЦВМ второго поколения в 1960-х гг. пришли машины третьего поколения, сконструированные на базе интегральных микросхем. В ЦВМ второго поколения простейший блок собирался из отдельных деталей, которые соединялись друг с другом с помощью пайки. Такие блоки, хоть и значительно меньших размеров, чем ламповые панели машин первого поколения, все же обладали заметными размерами (до нескольких десятков, иногда сотен см3), а места пайки становились источником частых отказов. Использование в ЦВМ интегральных микросхем дало возможность повысить насыщенность блоков ЦВМ без увеличения их габаритов. Если первые интегральные микросхемы (ИС) могли заменить один блок ЦВМ второго поколения, то большие интегральные микросхемы (БИС) — уже несколько десятков подобных блоков, и степень их насыщения постоянно росла. К электронным ЦВМ четвертого поколения часто относят машины, которые построены на БИС. Но такая классификация необоснованна, так как нет четкой границы между интегральными микросхемами простых размеров и средних размеров, между большими и средними, между сверхбольшими и большими. Значительно более важный фактор в совершенствовании электронных ЦВМ — изменение главных элементов оперативной памяти. Если ЦВМ первого, второго и третьего поколений содержат запоминающие устройства на базе ферритовых сердечников, то в ЦВМ четвертого поколения в качестве элементов памяти используются полупроводниковые приборы, производимые по технологии, аналогичной производству интегральных микросхем. Образцы подобной памяти небольшого объема изготавливались и применялись как сверхбыстродействующая память; в середине 1970-х гг. появилась тенденция создания оперативной памяти на полупроводниках и применения ферритовых запоминающих устройств как дополнительной медленной памяти.

Для 1970-х гг. довольно характерно явление «поляризации» в технике ЦВМ: с одной стороны, использование вычислительных систем коллективного пользования приводит к изобретению сверхмощных машин с быстродействием порядка нескольких десятков млн операций/с и с огромными объемами оперативной памяти; с другой стороны, для личного использования, а также для обработки экспериментальных данных и управления технологическими процессами, в исследовательских лабораториях конструируются малые ЦВМ— малогабаритные машины со средним быстродействием. Мини-ЦВМ, которые линиями связи соединены с мощными вычислительными системами коллективного пользования, могут использоваться как терминалы. Приставка «мини» относится в основном к размерам машин. Обозначилась также тенденция к уменьшению выпуска машин средней мощности, так как мини-ЦВМ могут обеспечить решение большинства задач конкретного потребителя, а для решения сложных задач выгоднее использовать вычислительные системы коллективного пользования.

В конце 1960-х — начале 1970-х гг. сверхмощные ЦВМ становятся мультипроцессорными, другими словами, в одной подобной машине сосредоточивается несколько процессоров, действующих одновременно.

Преимущество мультипроцессорных систем для параллельного решения многих задач очевидно, однако наличие в одной вычислительной системе нескольких процессоров дает возможность разделить и процесс решения одной задачи, так как каждый реальный вычислительный алгоритм имеет ряд ветвей, выполнение которых может осуществляться независимо друг от друга, что дает довольно большое сокращение времени решения задачи. Мультипроцессорные ЦВМ, технологической основой которых являются БИС, нужно отнести к машинам четвертого поколения.

ЦВМ находят все большее применение в разных сферах человеческой деятельности. Главные области их применения: научно-технические расчеты, которые основаны на математических методах; экономические расчеты (эко-номико-статистический анализ, планирование, исследование операций, демографическая статистика, материальный и бухгалтерский учет); информационносправочная служба (научно-техническая информация, диспетчерская, библиотечная служба и др.); автоматизация проектирования технических объектов; математическое моделирование в гуманитарных науках: биологии, геологии, медицине, социологии и др.; автоматическое управление технологическими процессами, сложными экспериментальными установками, а также транспортными средствами.