Вершина эволюции наук
Пора бы мне немного поведать о том... что для своего создания требует обширных знаний из самых разных областей науки: математики, физики, инженерии, радиотехники и электроники; о том, без чего все человечество не смогло бы совершить столь грандиозные открытия последних лет; о том, без чего немыслимо дальнейшее освоение космоса и микромира; о том, без чего мы не могли бы здесь общаться. Речь пойдет о компьютерах, электронных вычислительных машинах, если угодно.
читать дальшеПрактика их использования включает едва ли не всякую деятельность человека. А перспективы даже необозримы, поскольку они способны не только вычислять и решать прикладные задачи, но и расширять возможности человека, предоставляя последнему возможность развиваться быстрее эволюции. Впрочем, о практике и перспективах использования я еще расскажу больше, но не сейчас. Пока что, как всегда, нужно окунуться в историю.
Многие считают, что история развития ЭВМ включает лишь несколько десятилетий. Однако, это не совсем так. Чтобы создать простейшую ламповую ЭВМ, необходимо было пройти сложнейший путь от... вообщем-то, нужно было, чтобы все сложилось именно так, как сложилось: чтобы произошел большой взрыв, образовались Галактики, звезды, планеты, белки, клетки, черви, рыбы и т.д. вплоть до людей (или, если вы ярый креационист, нужно было, чтобы бог создал землю и все такое; сейчас речь не об этом), а так же, чтобы люди прошли весь тот путь от первых примитивных языков до сегодняшних наук. Но это явно не охватить в одном лишь посте. Я пропущу историю развития математики, т.к. хотя это и зачастую считается истоком компьютерной техники, тем не менее, этот исток слишком далек и тонок в сравнении с нынешним бурным потоком. А начну я с первых вычислительных (на то время "счетных") машин. Таковой многие считают машину Блеза Паскаля. Но прежде, чем рассказать о ней, расскажу о несколько более ранней счетной машине: "Считающих часах" Вильгельма Шикарда, созданная в 1623 году. Это была шестриразрядная суммирующе-вычитающая машина. К сожалению, о ней мало что известно, поскольку сама машина была уничтожена, а ее чертежи потеряны. Позже их удалось найти, но они вновь были потеряны. В этой печальной судьбе виновата война. Машина Паскаля создавалась около двух лет и увидела свет в 1644 году под названием "Паскалин". Она во многом повторяла конструкцию "Считающих часов", но была пятиразрядной (в дальнейшем количество разрядов было увеличено) и даже менее надежной из-за усложнившейся конструкции. Следующей интересной разработкой была машина Лейбница, позволяющая выполнять деление и перемножение чисел. Конструктивно она была основана на машине Паскаля, но с помощью добавленной в конструкцию движущейся части и специальной рукоятке, позволявшей крутить ступенчатое колесо, она могла ускорить повторяющиеся операции сложения. Впрочем, в будущем не раз разрабатывались и другие умножающие машины. Однако, все эти машины не имели успеха. Они расходились штучными экземплярами и нередко были ненадежными. Лишь в 1820 году Шарль Ксавье Томас де Кольмар создал Арифмометр, позволяющий умножать и в некоторых случаях делить числа, будучи при этом самой надежной машиной того времени. Эта машина распространилась довольно широко и последний ее экземпляр был продан аж в ХХ веке! И вот, наконец, появилась столь яркая фигура, известная даже некоторым современным студентам вроде меня, как Чарльз Беббидж. Первой его заметной разработкой была разностная машина 1822 года, состоящая из валиков и шестерне, вращаемых вручную при помощи специального рычага. Короче, я не знаю, как она работала. Затем, Беббидж занимался разработкой устройства, способного работать с дифференциалами шестого порядка при 20-ти разрядных числах. В проекте это устройство занимало целую комнату. Но финансирование этого проекта было приостановлено. И, наконец, я подошел к проекту, прославившему Беббиджа, но не спасший его от смерти в нищете: Аналитическая Машина. Это был бы первый прототип программируемых вычислительных машин, будь он выпущен. Беббидж пришел к идее этой машины, работая еще над разностной машиной.В состав этой машины входило арифметическое устройство (он назвал его "Мельницей"), память ("склад") и устройство ввода/вывода. Беббидж работал над этой машиной много лет. Значение инструкций определялось позицией металлических штырей в циллиндре с отверстиями, называемом "контрольным циллиндром". Собственно, возможности программирования на этой машине были достаточно ограниченными. Но они были. Были бы. К сожалению, люди не верили в идею Беббиджа (вот за что я и не люблю людей). Кстати, процессор аналитической машины был простроен только сыном Чарльза Беббиджа - Генри Беббиджом. Но целиком ее так никто и не создал. На этом эпоха механических вычислительных машин заканчивается. Постепенно появляются электронные и электронно-механические машины. Но стоит сказать еще несколько слов: это были лишь вычислительные машины. Если вспомнить древнеримские механические театры, то именно их следует считать первыми программируемыми машинами. Более известной программируемой машиной был ткацкий станок Жаккарда, созданный в 1801 году. Но все они, как вы понимаете, не были вычислительными.
Первым шагом на пути к созданию электрических вычислительных машин было электро-механическое устройство, называемое реле. Принцип работы реле был очень прост, особенно в сравнении с механическими устройствами Беббиджа: реле замыкал цепь, если на него подавалось напряжение. При отсутсвии напряжения, цепь размыкалась. В 1935 году корпорация IBM выпустила IBM 601 (информацию о нем я так и не смог найти), построенную с помощью реле. Эта машина выполняла операцию умножения за одну секунду, что для того времени было сроде мощности GeForce 8800 Ultra! Всего было выпущено более полутора тысяч экземпляров. Однако, чтобы продолжать создавать все более сложные машины, нужно было использовать все более простые механизмы и работать со все более простыми операциями. В 1937 году Джордж Стибитц, сотрудник Bell Labs сконструировал K-Model - сумматор, основанный на операциях с двоичными числами - битами. Забыл сказать, что для все более сложных машин не хватало еще и места. Поэтому функции реле взяли на себя электронные вакуумные лампы. В 1939 году был построен первый 25-битный сумматор с применением этих ламп. Принцип их работы аналогичен реле: с помощью третьего контакта можно замыкать или размыкать цепь из двух других контактов. Лампы были компактнее реле и довольно быстро вытеснили последних. Можно было бы еще много рассказать о разработках тридцатых-сороковых годов, но все они не были прорывом для своего времени. Я лишь поведаю об ужасном монстре среди ламповых компьютеров, о машине ENIAC (кстати, Джон фон Нейман, разработавший архитектуру фон Неймана, принимал участие в создании этой машины). ENIAC состоял из почти ста тысяч компонентов, среди которых было семнадцать с половиной тысяч ламп. Ее вес был около тридцати тон, занимаемая площадь - тысяча квадратных футов, а энергопотребление - 150 киловатт/час (хорошо, что у моих соседей нет такого монстра). Эта машина могла хранить двадцать десятиразрядных знаковых чисел, сотрю двенадцатиразрядных констант и работала на тактовой частоте 100 килогерц. Зверь... Ярчайший и мощнейший представитель ЭВМ первого поколения - ламповых ЭВМ.
С изобретением транзисторов появилась возможность существенно уменьшить размеры ЭВМ, их энергопотребление, быстродействие и эффективность. Ну и конечно же перейти ко второму поколению - транзисторным ЭВМ. Первым компьютером, использующим транзисторы, является SEAC, созданный в 1950 году. Однако, это своего рода переходная модель, т.к. в ней помимо транзисторов использовались 747 вакуумных ламп. Он не отличался высокой производительностью (тактовая частота составляла 1 кГц) или разнообразием инструкций (их было всего лишь 11). Во втором поколении заложены основы модульности ЭВМ: отдельные элементы становятся менее зависимыми от реализации других элементов. К тому же, благодаря улучшенным характеристикам второго поколения ЭВМ, сфера их применения значительно расширилась. Одновременно с этим увеличились требования к программному обеспечению. Словами "компилятор", "оптимизация", "системное ПО" тогда было некого удивить (некого из программистов; для обычных смертных эти ЭВМ по-прежнему были чем-то неземным и сверх-научным). Именно тогда были заложены все эти, а так же многие другие понятия, используемые и сегодня в терминологии программистов, системных и сетевых администраторов, системотехников и вообще всех, кто работает с компьютерной техникой.
Третье поколение отличалось от второго еще меньше, чем второе от первого (а тем более первое от механических ВМ). Оно основывалось на малых интегральных схемах, в которых помещалось огромное множество транзисторов, что позволяло сделать ЭВМ еще меньше, еще быстрее, а так же снизить их энергопотребление.. К тому же, одним из главных нововведений третьего поколения ЭВМ является полупроводниковая память, которая используется и поныне. Однако, программное обеспечение для ЭВМ третьего поколения расцвело пышным цветом. Областей применения стало так много, что для многих из них не существовало программ. К тому же производительность выросла до такой степени (тактовая частота от десятков килогерц до нескольких мегагерц, а объем памяти от сотен килобайт до десятков мегабайт), что стало возможным выполнение нескольких продолжительных программ одновременно или почти одновременно (прерывая друг друга на некоторое время, после которого восстанавливая прежнее состояние, до прерывания). Тогда же всерьез стала проблема совместимости (т.к. раньше программы писались для определенных систем и их перенос на другие системы требовал создания программы с нуля; к тому же, такого дефецита ПО, как в третьем поколении, еще не было). ЭВМ стали обычно выпускались сериями: у разных машин могли быть разные характеристики, но программно и аппаратно они были совместимы друг с другом. Для всего этого требовались талантливые программисты и новые идеи в создании ПО. И именно тогда появились более серьезные, можно сказать полноценные операционные системы, на основе которых до сих пор работают многие современные ОС (конечно же, речь идет о UNIX). Появились и высокоуровневые языки программирования, например С. Застать этих динозавров за работой можно даже сегодня, особенно у нас в России.
Пора переходить к нынешнему, четвертому поколению. Оно структурно отличалось от третьего только тем, что в нем применялись большие интегральные схемы, в которых были интегрированы самые различные компоненты. Процессор вашего компьютера - это одна из таких схем. А весь ваш компьютер - это ЭВМ четвертого поколения. О нем я расскажу более подробно чуть позже, не в качестве истории, а в качестве описания архитектуры ЭВМ.
Ссылки:
Изображение Паскалины
Суммирующая машина Паскаля
Разностная машина Беббиджа
Изображение разностной машина Беббиджа
Краткая биография Чарльза Беббиджа
Bычислительные машины
История компьютерной техники
Хронология вычислительных машин
Электронная лампа
Поколения ЭВМ
Поколения ЭВM (другой ресурс)
История создания и развития ЭВМ
Upd.: добавлю-ка я опросник