Вряд ли какая-либо другая технология изменила наш мир так сильно как цифровой компьютер. Однако лежащий в его основе принцип доступа к знаниям является лишь одним из возможных способов интерпретации реальности.
На самом деле, с тех пор, как человеку понадобилось измерять количества и производить расчеты, он уже имел представление о том, что есть два вида измерений, которые мы можем производить.
Когда нам нужно работать с камнями, монетами, фруктами или другими так называемыми дискретными величинами, мы имеем дело с цифровыми величинами. Однако когда нам нужно измерить воду, песок или воздух, мы имеем дело с аналоговыми величинами.
Аналоговая электроника работает с величинами или сигналами, значения которых могут непрерывно изменяться по шкале. Между двумя точками сигнала можно иметь бесконечные промежуточные значения.
Таким образом, напряжение в точке цепи может иметь любое значение, например, от 1 до 2 В. Он может принимать такие значения, как 1,023 В, 1,0234567 В, 1,0234567982 В.
Значения сигналов не обязательно должны быть целыми числами. Например, аналоговый звуковой сигнал плавно изменяется между двумя крайними значениями, в то время как цифровой сигнал может изменяться только скачками.
Аналоговый компьютер — это тип компьютера, который использует электронные или механические устройства для моделирования решаемой задачи.
Такой компьютер может выполнять несколько вычислений одновременно и работать с бесконечными долями чисел. Обработка сигналов (напряжений) в аналоговом компьютере основана на фундаментальных электрических свойствах, связанных с компонентами схемы.
Аналоговый компьютер основан на подобии различных систем, т. е. на их аналогии, которая состоит в идентичном математическом выражении этих систем.
Например, колебания, существующие в разных физических системах (механических, электрических, гидравлических...) — это разные колебания, но их объединяет одно — они описываются одним и тем же дифференциальным уравнением.
Благодаря этому факту родилась идея исследовать свойства одной системы с помощью другой, чтобы было удобнее и быстрее. Условие состоит в том, что обе системы ведут себя по одному и тому же математическому закону.
Наиболее выгодным является использование электрической аналоговой системы, в которой физические или математические переменные величины выражаются с помощью электрического напряжения.
В случае постоянного тока мгновенная величина напряжения пропорциональна величине исходного значения, в случае переменного тока используется какая-либо модуляция, чаще всего амплитудная.
Аналоговые компьютеры используют тот факт, что некоторые сложные математические операции, такие как интегралы, могут быть очень просто смоделированы в электронном мире путем зарядки конденсатора.
Например, давайте представим, что мы наполняем ведро водой. То, что оказывается внутри ведра, является интегралом подаваемого потока воды. В реальности дело конечно сложнее, иначе аналоговые машины не были бы такими большими и дорогими.
Аналоговые компьютеры напоминают биологические нейронные сети, подобные мозгу, которые могут обрабатывать огромное количество информации.
Компьютерные теоретики также часто используют название «реальный компьютер» как синоним аналогового компьютера, поскольку этот тип машин использует физические величины для представления значений, которые ведут себя как действительные числа, а не как натуральные числа (которые позволяют представлять дискретные величины).
В начале второй половины 20 века аналоговые компьютеры использовались для решения сложных математических задач. Однако с 1950-х годов их стали объединять с цифровыми электронно-вчислительными машинами (ЭВМ), производительность которых продолжала расти, и поэтому аналоговые ЭВМ обогнали их.
Примеры аналоговых компьютеров
Базовой схемой аналогового компьютера может быть операционный (дифференциальный) усилитель с обратной связью. Изменяя параметры обратной связи, изменяется передаточная характеристика усилителя.
Для достижения максимально возможной точности он должен передавать всю полосу частот, содержащихся во входном сигнале (включая нулевые частоты), с одинаковым коэффициентом усиления.
Аналоговые компьютеры быстры — реагируют на ввод в режиме реального времени, но не очень точно. Ранее они использовались, например, в армии (прицелы), в автоматике (моделирование регулируемой системы), в электрических измерениях и тому подобных областях.
Транзисторный аналоговый компьютер АКАТ-1 1959 г.
Некоторые примеры аналоговых компьютеров:
- Антикитерский механизм (считается первым известным механическим аналоговым компьютером);
- Астролябия (механизм, позволявший решать решать различные виды задач сферической астрономии);
- «Замковые часы», астрономические часы, изобретенные Аль Джазари в 1206 году (считаются первым программируемым аналоговым компьютером);
- Логарифмическая линейка (это портативный аналоговый компьютер для умножения и деления, изобретенный примерно в 1620–1630 годах, вскоре после того, как была опубликована концепция логарифма;
- Дифференциальный анализатор, механический аналоговый компьютер, предназначенный для решения дифференциальных уравнений путем интегрирования с использованием колесных и дисковых механизмов для выполнения интегрирования (изобретены в 1876 году Джеймсом Томсоном, они были впервые построены в 1920-х и 1930-х годах);
- Интегратор воды, разработанный в СССР в 1936 году Владимиром Сергеевичем Лукьяновым для решения дифференциальных уравнений;
- Механический калькулятор Curta (представлял собой устройство, приводимое в действие небольшой цилиндрической рукояткой, которая могла выполнять умножение, деление и ряд других операций);
- Гидравлическая модель экономики Великобритании (Компьютер MONIAC);
- Heathkit EC - 1, образовательный аналоговый компьютер, изготовленный компанией Heath Company (США) около 1960 года;
- Аналоговый компьютер Comdyna GP-6 (был представлен в 1968 году, производился 36 лет).
Логарифмические линейки
Разновидности аналоговых компьютеров
Классификация аналоговых вычислительных машин:
- Одноцелевые аналоговые ЭВМ, предназначенные для решения конкретной задачи или группы задач. Такой компьютер имеет только те операционные блоки, которые необходимы для этого и постоянно функционально связаны.
- Универсальные аналоговые компьютеры, которые можно использовать для решения широкого круга задач. Эти ЭВМ содержат различные типы операционных блоков, поля связи, которые используются для подключения отдельных операционных блоков в соответствии с типом решаемой задачи, на основе программных схем и ту. В этой группе наиболее распространены так называемые дифференциальные анализаторы, которые предназначены для решения дифференциальных уравнений.
По функциональному назначению аналоговые компьютеры делятся на:
- математические машины - симуляторы – например, для тестирования какого-нибудь дорогостоящего устройства, поведение которого можно описать с помощью дифференциальных уравнений;
- тренажеры – для обучения операторов различных устройств, динамические свойства которых описываются дифференциальными уравнениями;
- системы управления – аналоговый компьютер управляет каким-либо технологическим процессом, например, регулирует скорость и интенсивность какого-либо производственного процесса.
Аналоговые вычисления
Обработка аналоговых сигналов во многом уходит своими корнями в историческое развитие аналогового компьютера.
Собственно, даже без использования электроники уже можно было производить вычисления как в цифровом, так и в аналоговом виде с помощью механических устройств.
В середине 20 века разработчики электронных схем обнаружили, что с помощью ламповых усилителей с высоким импедансом и высоким коэффициентом усиления они могут создавать очень высококачественные операционные усилители путем каскадирования многочисленных ламповых каскадов.
Эти схемы унаследовали название операционных усилителей, потому что их можно было использовать для точной реализации математических операций суммирования, масштабирования по константам и интегрирования.
Учитывая возможность реализации этих операций, инженеры вскоре начали решать дифференциальные уравнения путем построения электрических цепей, которые находили бы решения по электрической аналогии.
Проще говоря, была построена схема, поведение которой характеризуется тем же дифференциальным уравнением, что и решаемая. Затем физическое поведение аналогичных схем можно использовать для получения графических решений многих различных возбуждений.
Хотя аналоговый компьютер очень эффективен при решении в реальном времени линейных дифференциальных уравнений высокого порядка, его реальное преимущество заключается в решении нелинейных дифференциальных уравнений, аналитические методы для которых иногда неизвестны.
Пока нелинейность может быть смоделирована с помощью электронной схемы, аналоговый компьютер достаточно эффективен для получения решения.
Аналоговые компьютеры широко использовались для решения дифференциальных уравнений на протяжении 1960-х годов, пока их не заменили цифровые компьютеры.
Однако аналоговые компьютеры продолжали использоваться в научных и промышленных целях, потому что в то время они обычно были намного быстрее.
Например, они продолжали использоваться в некоторых конкретных приложениях, таких как бортовой компьютер в самолетах.
Более сложные приложения, такие как радар с синтезированной апертурой, оставались областью аналоговых вычислений вплоть до 1980-х годов, поскольку цифровых компьютеров было недостаточно для этой задачи.
Даже в наше время для специализированных приложений, таких как проектирование подвески или анализ вибрации, аналоговые компьютеры наиболее точно имитируют физические системы, которые могут быть легко изменены для различных параметров и быстро дают ответы, которые отображаются на осциллографе.
Аналоговые компьютеры неточны, однако для асимметричных задач (проверка гораздо проще, чем сам расчет) это может и не иметь значения, нужно просто посмотреть, достаточен ли результат.
Heathkit EC-1 - образовательный аналоговый компьютер, изготовленный компанией Heath Company (США), около 1960 года
Аналоговый компьютер Comdyna GP-6
Аналоговый компьютер Comdyna GP-6 был разработан в США в 1968 году для моделирования динамических систем путем реализации электрических цепей, которые подчиняются тому же набору дифференциальных уравнений, что и исследуемая система.
Более 2000 таких компьютеров были установлены в более чем 400 университетских, государственных и коммерческих исследовательских лабораториях.
Аналоговый компьютер Comdyna GP-6
Ряд функций, таких как переменное масштабирование времени и работа в повторяющемся режиме, встроены в устройство, чтобы сделать моделирование легко доступным для пользователя.
Помимо встроенных операционных усилителей, резисторов, конденсаторов и потенциометры, GP-6 имеет индикатор перегрузки, который сигнализирует о насыщении усилителя, режим точной установки значений потенциометра, цифровой вольтметр для измерения внешних сигналов, таких как выходы датчиков, функция замыкания конденсатора для обнуления интеграторов, ограничение тока для защиты схемы, а также удобное заземление и источники опорного напряжения ±10 В.
Аналоговый компьютер содержит восемь операционных усилителей и восемь 10-оборотных потенциометров (для умножения на константу, для установки коэффициентов, для преобразования физических величин в электрические), которые можно использовать в сочетании с операционными усилителями и фиксированными элементами схемы для достижения практически любого желаемого коэффициента усиления.
Гибридные компьютеры
Первые попытки использования комбинированной системы с аналоговыми и цифровыми вычислительными машинами относятся к 1958 г. в США. Эти машины расчтывали траектории дистанционно управляемых ракет.
В 1965 году по всему миру было установлено около ста гибридных компьютеров, в которых в качестве цифровой части использовался управляющий компьютер меньших габаритов (мини-ЭВМ).
Разрядность шины данных находилась в пределах 8–16 бит, она определялась диапазоном значений наиболее частых входных переменных. Часто решаемые алгоритмы хранились в постоянной памяти ПЗУ.
Управляющие компьютеры гибридной системы характеризовались набором инструкций, который сильно отличался от набора обычного компьютера.
Важным элементом гибридной системы являлся блок связи, обеспечивающий связь и обмен информацией между двумя частями системы.
Почему цифровые вычисления победили аналоговые
Аналоговые компьютеры ранее использовавшиеся для решения инженерных задач требовали программирования с точки зрения настроек усиления и конфигураций патч-панелей, которые можно было охарактеризовать в наборе инструкций.
С развитием цифровых компьютеров появилось компьютерное программное обеспечение, использующее хранимые программы.
Ранние электромеханические компьютеры полагались на стопку перфокарт, первоначально разработанных для управления текстильными машинами. Самые ранние формы компьютерных программ были подготовлены на подробном языке машины, управляемой способом, которым нужно было управлять арифметическим устройством и регистрами.
Инструкции были подготовлены в виде последовательности слов длины, соответствующей разрядности машины, записанной в единицах и нулях двоичной арифметики, неотличимой от единиц и нулей данных, обрабатываемых машиной, когда они не связаны с их предполагаемой функцией.
Данные, представленные в двоичных числах в цифровых компьютерах, могут соответствовать любым физическим явлениям, таким как текущая скорость самолета или автомобиля, показания давления в топливном баке космического корабля на Марс или количество долларов на вашем банковском счете.
Но внутри компьютера эти числа — это просто числа, которыми можно манипулировать с помощью инструкций, которые сравнивают одно с другим, складывают, вычитают, умножают или делят их, чтобы получить результаты, которые можно в дальнейшем комбинировать в других операциях для решения очень сложных математических отношений.
Двоичные цифровые компьютеры стали основным средством выполнения числовых и логических операций в машинах, потому что их можно сделать очень надежными.
Это достигается за счет управления двоичными электрическими цепями между двумя состояниями отсечки и насыщения, где одно состояние представляет число 1, а другое — число 0.
Если бы машины использовали арифметику с основанием 10, они всегда находились бы в обслуживании, пока техники настраивали и настраивали электрические уровни для каждой цепи.
Любые численные вычисления могут быть выполнены в двоичной арифметике, и промышленность нашла способы производить очень компактные, быстрые и экономичные электронные схемы для выполнения этих арифметических функций, которые также очень стабильны и надежны.
За довольно короткий период времени техника сложения и вычитания чисел в инженерии превратилась из механических аналоговых машин с основанием десять в полномасштабные параллельные цифровые компьютеры, а инженерные чертежи — от черчения карандашами на бумаге до использования систем автоматизированного проектирования.
При сегодняшней производительности компьютеров задачи, обрабатываемые в реальном времени на аналоговых компьютерах, также могут решаться в реальном времени на цифровых компьютерах, причем с более высокой точностью.
Доступные по цене современные персональные компьютеры могут выполнять гораздо более широкий круг задач, они намного удобнее в управлении, позволяют получать намного более наглядный вывод данных и легко сохранять полученные результаты.
Современный цифровой компьютер
Ошибка аналогового ввода-вывода в сравнении с ошибкой цифрового ввода-вывода
Аналоговый компьютер принимает в качестве входных данных точные величины реального мира (которые, как правило, мы никогда не можем точно зафиксировать), а на выходе выдает точные величины, которые мы, как правило, никогда не можем записать из-за ошибок, присутствующих в любой измерительной системе.
Цифровой компьютер, с другой стороны, принимает ошибочные (из-за неопределенности измерений) входные данные с погрешностью, как правило, не менее 0,005%, и вычисляет в цифровом виде выходные данные, которые включают как ошибку ввода, так и ошибку вычислений.
Однако в большинстве случаев именно цифровой компьютер обладает как огромным преимуществом в скорости (скажем, 10 миллиардов флопов (операций с плавающей запятой в секунду)), так и преимуществом в вычислительной точности.
Входные данные, получаемые на выходе измерительного устройства, для цифровых вычислений обычно не будут точнее 0,005%. Предполагая, что эти входные данные безошибочны, цифровой компьютер обычно обеспечивает гораздо более высокую точность, чем точность, производимая соответствующим аналоговым устройством.
Таким образом, в наше время почти во всех реальных ситуациях слово «компьютер» будет подразумевать только цифровой компьютер, а не аналоговый.
Нельзя сказать, что аналоговая технология окончательно умерла. Она все еще используется в некоторых областях. К таким направлениям относятся, например, аудиотехника, самые дорогие устройства, как ни странно, не цифровые, а аналоговые. Более дорогие музыкальные студии возвращаются к аналоговой записи после бума цифровых технологий.
Оптические аналоговые компьютеры
Оптические аналоговые компьютеры известны с 20 века. Например, он может решить двумерное преобразование Фурье.
Расчеты с использованием классического света доказывают их вычислительное превосходство над цифровыми суперкомпьютерами, так что возможно в будущем нас ждет возрат к массовому использованию аналоговых компьютеров.