Компьютерная Эра. Философия компьютера


История


Вообще, слово “компьютер” переводится как “вычислитель”. Именно потребность в автоматизации и убыстрении вычислений подвигла 18-летнего француза Блеза Паскаля изобрести в 1642 году суммирующую машину — «паскалин» — первый арифмометр, механически выполнявший сложение. В 1673 году уже немецкий математик Готфрид Вильгельм Лейбниц построил свой механический арифмометр — «машину четырех действий». Основными «считающими» деталями в этих приборах были зубчатые колесики, причем один зубчик всегда был длиннее остальных, этим длинным зубчиком зацеплялось соседнее колесико и поворачивалось на некоторый угол. В окошечке выскакивала другая цифра, нежели набранная ранее. Система взаимосвязанных колесиков (с десятью или двумя зубчиками — в зависимости от того, какая система счисления использовалась в данном арифмометре) позволяла производить четыре арифметических действия — сложение, вычитание, умножение и деление, и была хорошим подспорьем для расчетчиков баллистических таблиц для артиллерийских стрельб, да и не только для них.

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

Начиная с XIX века арифмометры получили широкое распространение. Причем вслед за механическими появились и арифмометры на, так сказать, электрической тяге — зубчатые колесики крутились электродвигателями. Однако эта ветка развития усовершенствований для облегчения счета вела в конечном итоге в тупик. В арифмометрах не было главного — возможности перенастройки на другие задачи, многозадачности. Арифмометр помогал человеку считать, но не помогал ему думать.

В 30-е годы прошлого века английский математик, профессор Кембриджского университета Чарльз Беббидж (1791-1864) попытался построить универсальное вычислительное устройство—Аналитическую машину, которая должна была выполнять вычисления без участия человека, избавляя его от монотонного счета и ошибок, с ним связанных. Машину для переработки информации Беббидж мыслил аналогичную машине по переработке хлопка: Аналитическая машина должна была выполнять программы, вводимые с помощью перфокарт—листов плотной бумаги с дырочками; дырочки и несли на себе всю информацию. Перфокарты тогда уже применялись для программирования ткацких станков, позволивших резко ускорить работу по обработке, например, хлопка и оставивших кстати не у дел ( то есть на грани голодной смерти) миллионы ручных прядильщиков  по всему миру. У Аналитической машины должен был быть «склад» или «хранилище» для запоминания данных и промежуточных результатов (то есть память в современной терминологии) и «мельница» (то есть центральный процессор, от англ. processing — «обработка, переработка»). А приводиться в действие все это нагромождение штифтов, зубчатых колес и цилиндров должно было паром.

Беббидж не построил свою машину—она оказалась слишком сложной для техники того времени. И вовсе не машиной он вошел в историю, а высказанными в процессе раздумий над ней идеями. Беббидж высказал ряд таких идей, которые позволили людям, подхватившим их, людям из другой эпохи и другого века, построить наконец настоящий компьютер. Какие же это были идеи?

Беббидж утверждал, что можно построить механическое устройство, способное выполнять последовательность взаимосвязанных вычислений. Если применять разные наборы инструкций, задаваемых машине, то она сможет служить разным целям[1].

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

Паскаль писал о своей машине (паскалине), что это «деревянные слуги, инструменты, которым недостает думающей души».

Беббидж  хотел научить арифмометр думать.

Между 1848 и 1850 годами математик Буль озадачил своих современников новой математической логикой. Он ввел операторы (команды управления) И, ИЛИ, НЕ, которые осуществляют связи в логическом высказывании и, благодаря этому, дают возможность развиться новым высказываниям. Эту формальную логику высказывания называют алгеброй Буля, она и образует основы электронной обработки данных. То есть логика высказывания связана с двоичным представлением информации и обслуживает последнюю.

Достигается это конструированием некоторых схем (например, электрических), с одним или двумя входами и одним выходом, которые бы, реализуя принцип НЕ, всякий раз меняли на выходе сигнал на противоположный — если приходит на вход 0, то на выходе получается 1, если же приходит 1, то на выходе получается 0. Происходит как бы отрицание (НЕ - тот). Реализуя принцип ИЛИ, сигнал на выходе формируется однотипным (1) при однотипных (11) или разнотипных (01, 10) сигналах на входе, формируется как бы входная всеядность и выходная строгость (диета) — ИЛИ-тот ИЛИ-этот, а результат всегда один. И наконец реализуя принцип И, сигнал на выходе формируется строго однотипным с обоими сигналами на входе — И-тот И-этот должны быть одинаковыми (1 и 1 = 1), тогда на выходе тоже будет 1, в ином случае (на входе 1 и 0, 0 и 1, 0 и 0) выходной сигнал становится 0.

Идеи Беббиджа, Буля, Ады Ловелас (или Лавлейс по другим переводам)[2] не пропали в толще веков. В 30-е годы XX-го века исследователи Алан Тьюринг (британский математик) и Клод Шеннон (тогда еще студент) развили их дальше. Первый распространил (в теории) возможности вычислительной машины на любой вид информации — была бы нужная конкретная инструкция (программа), а второй доказал, что машина, исполняющая в том числе логические инструкции, может манипулировать информацией, то есть распространил сферу действия вычислительных машин и на нематематическую форму данных.

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

Шеннон таким образом осознал, как выражать информацию в двоичной форме. Кстати, он явился основателем новой науки, которую впоследствии назвали теорией информации.

В 1941 году немецкий инженер Конрад Цузе, самостоятельно переоткрыв идеи Беббиджа, построил вычислительную машину, а в 1943 году американец Говард Эйкен с помощью работ Беббиджа на основе техники XX века — электромеханических реле — смог построить на одном из предприятий фирмы IBM (International Business Machines Corporation, основана в 1924 году Германом Холлеритом) аналогичную машину, названную «МАРК-1». Информация обрабатывалась на этих машинах в двоичной форме путем срабатывания реле при прохождении электрического тока (эффект электромагнитной индукции).

  Наконец, в годы второй Мировой войны группа математиков из Moore School of Electrical Engineering при Пенсильванском университете, возглавляемая Дж. Преспером Эккертом и Дж. Моучли, разработала ЭВМ ENIAC (Electronic Numerical Integrator And Calculator — электронный числовой интегратор и калькулятор) для ускорения расчетов все тех же таблиц для наведения артиллерии. ENIAC весил 30 тонн и занимал огромное помещение, имел 17000 электронных ламп, 1500 электромеханических реле, потреблял 150 000 ватт электроэнергии, а для его перепрограммирования на решение другой задачи требовалось вручную изменить подключение 6000 проводов. При этом в нем хранился объем информации, эквивалентный всего лишь 80 символам. Солдаты, приписанные к этой огромной машине, постоянно носились вокруг нее с тележками, доверху набитыми электронными лампами. Стоило перегореть хотя бы одной лампе, как ENIAC тут же останавливался и начиналась суматоха — все срочно принимались искать сгоревшую лампу.

Чтобы упростить процесс задания программ, Моучли и Эккерт стали конструировать новую машину, которая смогла бы хранить программу в своей памяти. В 1945 году к этой работе был привлечен американец венгерского происхождения Джон фон Нейман, известный многими достижениями — от разработки теории игр до вклада в создание ядерного оружия. Нейман нашел путь подключения рабочей программы не проводами или другими соединениями, а интегрированием ее в память машины в закодированном виде. Именно Нейман и придумал схему, которой до сих пор следуют все цифровые компьютеры. В общем виде схема выглядит так:

В современных компьютерах арифметическо-логическое устройство и устройство управления объединены в центральный процессор.

Сплошные стрелки — это управляющие связи (по ним идут сигналы управления), а пунктирные стрелки — это информационные связи (по ним идут данные, информация). К устройствам ввода/вывода относятся клавиатура, мышь, монитор, дисковод, CD ROM, принтер, сканер, микрофон, звуковые колонки, плоттер и т.д.

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

Один из принципов «Архитектуры фон Неймана» гласит: в компьютере не придется изменять подключения проводов, если все инструкции будут храниться в его памяти. И как только эту идею воплотили на практике, родился современный компьютер.

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

Благодаря фирме IBM восторжествовал принцип открытой архитектуры устройства системных блоков компьютеров. Он заключается в том, что системные блоки можно собирать по принципу детского конструктора, то есть менять детали на другие, более мощные и современные, модернизируя свой компьютер (так называемый апгрейд, upgrade — «повышать уровень»). Новые детали абсолютно взаимозаменяемы со старыми. «Открытоархитектурными» персональные компьютеры делает системная шина, это некая виртуальная общая дорога или жила, или канал, в который выходят все выводы ото всех узлов и деталей системного блока. Надо сказать, что большие компьютеры (не персональные) не обладают свойством открытости, в них нельзя просто так что-то заменить на другое, более совершенное, например.

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

  В начале 60-х годов на смену электронным лампам пришли транзисторы, которые действуют как электрические переключатели. Транзисторы, потребляя меньше электроэнергии и выделяя меньше тепла, занимают и меньше места. Объединение нескольких транзисторных схем на одной плате дает интегральную схему (чип — chip — «щепка», «стружка» буквально, пластинка).

Какую же роль выполняют колесики в арифмометрах, штифты в машине Беббиджа, электромеханические реле в МАРКе-1, электронные лампы в ENIAC’е, транзисторы в Pentium’е? — да это все счетчики двоичных чисел. Они, эти детали, лязгая или совершенно бесшумно, считают единицы и нули (то есть фиксируют два состояния — наличия тока и отсутствия тока) и тем самым обрабатывают информацию, поданную им именно в таком — двоичном — виде.

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

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

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

Таким образом, тактовая частота указывает, сколько элементарных операций (тактов) микропроцессор выполняет в одну секунду. Тактовая частота измеряется в мегагерцах (МГц). Кроме того, чем выше модель процессора, тем меньше вообще требуется ему тактов для выполнения данной операции. То есть тем же количеством тактов в секунду становится возможным выполнить больше операций (сложение, умножение и т.д.). Интеловские серии «двушек» (Intel-80286), «трешек» (Intel – 80386), «четверок»(Intel- 80486) и “пеньки ” (Pentium, 80586), а также Pentium-2,3 и процессоры конкурирующей фирмы AMD различаются возрастающей производительностью самих тактов, а не только увеличением непосредственно тактовой частоты тактового генератора.[3] Надо при этом добавить, что ток присутствует в компьютере всегда (порядка до пяти вольт), но роль пауз (нулей) выполняют пониженные участки (2,5 вольта), а роль собственно тока (единиц) — участки с напряжением до 5 вольт.[4] Напряжение тока, разумеется, не является абсолютно стабильной величиной, а постоянно колеблется в каких-то пределах, так вот колебания от нуля до 2,5 вольт принимаются за "ноль", а колебания в пределах выше 2,5 вольт, но ниже 5 вольт принимаются за "единицу".

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

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

Идеи Беббиджа обрели материальную силу и овладели миром. Наверное, он  об этом и не мечтал.

[1] В этом и состоит смысл программного обеспечения: программа — это набор правил, посредством которых машину инструктируют, как решать ту или иную задачу. Для ввода таких инструкций нужен, разумеется, совершенно новый тип языка, который бы позволил программировать аналитическую машину длинными сериями условных инструкций, что позволило бы машине реагировать на изменение ситуации. Беббидж изобрел такой язык из цифр, букв, стрелок и других символов. Но не это главное.

[2] Ада Аугуста графиня Ловелас(1815-1865) продумала идею Лейбница о двоичной системе исчисления дальше и обнаружила, что она очень практична для внедрения на вычислительных машинах.

[3] Сейчас достигнута тактовая частота в 550 МГц, а если специально разогнать процессор в особом охлаждающем оборудовании, то достигают частоты 1,2 ГГц. Более того, процессоры архитектуры RISC уже давно перешагнули рубеж 1Гц.

[4] Процессоры Pentium-II работают на 3,3В, что значительно снижает рассеиваемую ими мощность.

Содержание | Следующая глава >>




Начало    Вперед