Инструменты пользователя

Инструменты сайта


igor:istoria

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
Следующая версияСледующая версия справа и слева
igor:istoria [2020/02/19 04:33] – [Криптография и криптоанализ как движущая сила компьютеростроения] igorigor:istoria [2022/03/01 18:44] – [Программирование в древние времена] igor
Строка 39: Строка 39:
 ==== Военные вычислительные устройства первой половины XX века ==== ==== Военные вычислительные устройства первой половины XX века ====
 На первых русских линкорах, проектировавшихся около 1910-го года, впервые в нашей истории был внедрен принцип центрального управления стрельбой орудий главного калибра. Вообще-то приборы управления стрельбой были предложены петербургским часовым мастером Н. Гейслером еще в 90-е годы XIX века (фирма Гейслера строила также телеграфные аппараты). Комплекс Гейслера включал //задающие// приборы, установленные в боевой рубке, и //принимающие// приборы, расположенные непосредственно у орудий и соединенные проводами с задающими приборами. Органами отображения информации служили циферблаты со стрелками - ничего другого в те времена не было. Задача наводчика сводилась к тому, чтобы развернуть орудия до совмещения со стрелками выходных данных прибора. Сами же приборы по существу представляли собой сельсины. [[https://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D0%BB%D1%8C%D1%81%D0%B8%D0%BD]] \\ На первых русских линкорах, проектировавшихся около 1910-го года, впервые в нашей истории был внедрен принцип центрального управления стрельбой орудий главного калибра. Вообще-то приборы управления стрельбой были предложены петербургским часовым мастером Н. Гейслером еще в 90-е годы XIX века (фирма Гейслера строила также телеграфные аппараты). Комплекс Гейслера включал //задающие// приборы, установленные в боевой рубке, и //принимающие// приборы, расположенные непосредственно у орудий и соединенные проводами с задающими приборами. Органами отображения информации служили циферблаты со стрелками - ничего другого в те времена не было. Задача наводчика сводилась к тому, чтобы развернуть орудия до совмещения со стрелками выходных данных прибора. Сами же приборы по существу представляли собой сельсины. [[https://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D0%BB%D1%8C%D1%81%D0%B8%D0%BD]] \\
-Такая система только передавала данные от командира к орудиям и не содержала каких-либо счетно-решающих элементов. По итогам русско-японской войны стало ясно, что система требует усовершенствования. В Англии были закуплены счетно-решающие приборы конструкции А. Поллена, но что эти приборы собой представляли? Информация крайне скудная. Можно не сомневаться, что устройством ввода данных в этот прибор служил оптический дальномер, установленный на корабле в соответствующей надстройке. А что внутри прибора? Можно только догадываться. \\+Такая система только передавала данные от командира к орудиям и первоначально не содержала каких-либо счетно-решающих элементов. По итогам русско-японской войны стало ясно, что система требует усовершенствования, и в 1911 гтакие усовершенствования были сделаны. Однако всем требованиям времени система Гейслера по-прежнему не удовлетворяла, так что в Англии были закуплены счетно-решающие приборы конструкции А. Поллена. Но что эти приборы собой представляли? Информация крайне скудная. Можно не сомневаться, что устройством ввода данных в этот прибор служил оптический дальномер, установленный на корабле в соответствующей надстройке. А что внутри прибора? Можно только догадываться. \\
 Представим себе валик, закрепленный в подшипниках с возможностью поворота вокруг своей оси. Если валик не трогать, то он сохраняет угол поворота, т. е. представляет собой //запоминающую ячейку//, имитирующую некоторую величину, участвующую в расчетах. Эту величину можно сразу же отображать визуально, если снабдить валик стрелкой и шкалой. Если валик поворачивать с некоторой скоростью, то его угловое положение будет представлять интеграл скорости, и получаем простейший вычислительный элемент - интегратор. Представим, что на валик насажено колесико, но не круглое, а имеющее какую-то криволинейную форму, и к краю колесика прижимается рычаг. Угловое положение этого рычага однозначно связано с угловым положением вала, но связано не непосредственно, а по какой-то зависимости (возможно сложной), определяемой формой колесика - и получаем вычислительный элемент - функциональный преобразователь. Два валика, соединенные системой рычагов, представляют сумматор... \\ Представим себе валик, закрепленный в подшипниках с возможностью поворота вокруг своей оси. Если валик не трогать, то он сохраняет угол поворота, т. е. представляет собой //запоминающую ячейку//, имитирующую некоторую величину, участвующую в расчетах. Эту величину можно сразу же отображать визуально, если снабдить валик стрелкой и шкалой. Если валик поворачивать с некоторой скоростью, то его угловое положение будет представлять интеграл скорости, и получаем простейший вычислительный элемент - интегратор. Представим, что на валик насажено колесико, но не круглое, а имеющее какую-то криволинейную форму, и к краю колесика прижимается рычаг. Угловое положение этого рычага однозначно связано с угловым положением вала, но связано не непосредственно, а по какой-то зависимости (возможно сложной), определяемой формой колесика - и получаем вычислительный элемент - функциональный преобразователь. Два валика, соединенные системой рычагов, представляют сумматор... \\
 Несколькими годами раньше российский инженер Алексей Крылов изобрел дифференциальный интегратор - механическую вычислительную машину, также основанную на валиках, колесиках и рычажках и решающую дифференциальные уравнения (применялась при проектировании кораблей). \\ Несколькими годами раньше российский инженер Алексей Крылов изобрел дифференциальный интегратор - механическую вычислительную машину, также основанную на валиках, колесиках и рычажках и решающую дифференциальные уравнения (применялась при проектировании кораблей). \\
 Примерно в то же самое время был построен эскадренный миноносец "Новик" - быстрейший корабль своего времени. Его главным оружием были не пушки, а торпеды, и для стрельбы ими был построен прибор центрального управления. Информации по этому прибору еще меньше. "Новик" был построен в единственном экземпляре, но почти сразу же было начато серийное строительство эсминцев, достаточно близких к нему. На них устанавливался торпедный прицел М-1 конструкции Михайлова, однако сейчас уже трудно понять, что он собой представлял: прибор управления или просто прицел. А на эсминцах последующих серий устанавливались приборы управления торпедной стрельбой (ПУТС), созданные петербургским филиалом шведской фирмы "Эриксон". Они оказались недостаточно надежны и к 1932 г. были заменены приборами ГАК-1, которые выпускались заводом "Электроприбор" N 212. \\ Примерно в то же самое время был построен эскадренный миноносец "Новик" - быстрейший корабль своего времени. Его главным оружием были не пушки, а торпеды, и для стрельбы ими был построен прибор центрального управления. Информации по этому прибору еще меньше. "Новик" был построен в единственном экземпляре, но почти сразу же было начато серийное строительство эсминцев, достаточно близких к нему. На них устанавливался торпедный прицел М-1 конструкции Михайлова, однако сейчас уже трудно понять, что он собой представлял: прибор управления или просто прицел. А на эсминцах последующих серий устанавливались приборы управления торпедной стрельбой (ПУТС), созданные петербургским филиалом шведской фирмы "Эриксон". Они оказались недостаточно надежны и к 1932 г. были заменены приборами ГАК-1, которые выпускались заводом "Электроприбор" N 212. \\
-В 30-е-40-е годы двадцатого века строились эскадренные миноносцы проекта 7 и 7У - внуки "Новика". На них уже было три прибора управления стрельбой: для орудий главного калибра, для зенитных орудий и для торпед. На кораблях более поздней постройки - лидерах - ставились ПУТС итальянской фирмы "Галилео". Закупка приборов передового технического уровня за рубежом, с одной стороны, не дает отечественным ученым и инженерам расслабляться, а с другой стороны, обогащает их ценным опытом. Так что в целом это нормальная практика, только ею не следует злоупотреблять. И уж совершенно недопустимо навязывать инженерам бездумное "передирание" иностранных образцов вместо создания своих, более совершенных. На лидерах "Минск" и "Ленинград" уже во время Великой Отечественной войны ПУТС "Галилео" были заменены на отечественные "Мина-1", созданные тем же заводом "Электроприбор" еще в 1934 г. \\+В 30-е-40-е годы двадцатого века строились эскадренные миноносцы проекта 7 и 7У - внуки "Новика". На них уже было три прибора управления стрельбой: для орудий главного калибра, для зенитных орудий и для торпед. На кораблях более поздней постройки - лидерах - ставились ПУТС итальянской фирмы "Галилео" образца 1928 г. Закупка приборов передового технического уровня за рубежом, с одной стороны, не дает отечественным ученым и инженерам расслабляться, а с другой стороны, обогащает их ценным опытом. Так что в целом это нормальная практика, только ею не следует злоупотреблять. И уж совершенно недопустимо навязывать инженерам бездумное "передирание" иностранных образцов вместо создания своих, более совершенных. На лидерах "Минск" и "Ленинград" уже во время Великой Отечественной войны ПУТС "Галилео" были заменены на отечественные "Мина-1", созданные тем же заводом "Электроприбор" еще в 1934 г. \\
 Подробнее смотрите вот здесь: [[http://naukarus.com/iz-istorii-sozdaniya-priborov-upravleniya-torpednoy-strelboy-v-otechestvennom-flote]] \\ Подробнее смотрите вот здесь: [[http://naukarus.com/iz-istorii-sozdaniya-priborov-upravleniya-torpednoy-strelboy-v-otechestvennom-flote]] \\
 Прибор управления артиллерийским зенитным огнем (ПУАЗО) можно увидеть как в Артиллерийском музее, так и в Военно-морском, но эти экспонаты дают представление только о внешнем виде прибора: \\ Прибор управления артиллерийским зенитным огнем (ПУАЗО) можно увидеть как в Артиллерийском музее, так и в Военно-морском, но эти экспонаты дают представление только о внешнем виде прибора: \\
Строка 191: Строка 191:
 Программирование на ассемблере сохраняет все преимущества программирования в кодах, но избавляет от основного недостатка: исходный текст на языке ассемблера хотя и выглядит ужасно сложно, но все же может быть прочитан человеком (а если можно прочитать, то отчего бы не попробовать написать?). И все-таки эта работа сложна и трудоемка, и доступна не всем. Отсюда появилась идея создать **//язык программирования высокого уровня//** (проблемно-ориентированный язык). Транслятор с языка высокого уровня сейчас обычно называют **//компилятором//**, но этот термин утвердился в более поздние времена. \\ Программирование на ассемблере сохраняет все преимущества программирования в кодах, но избавляет от основного недостатка: исходный текст на языке ассемблера хотя и выглядит ужасно сложно, но все же может быть прочитан человеком (а если можно прочитать, то отчего бы не попробовать написать?). И все-таки эта работа сложна и трудоемка, и доступна не всем. Отсюда появилась идея создать **//язык программирования высокого уровня//** (проблемно-ориентированный язык). Транслятор с языка высокого уровня сейчас обычно называют **//компилятором//**, но этот термин утвердился в более поздние времена. \\
 Подобные языки - Алгол и Фортран - появились уже в 50-е годы, затем в этой отрасли имело место достаточно долгое и сложное развитие. \\ Подобные языки - Алгол и Фортран - появились уже в 50-е годы, затем в этой отрасли имело место достаточно долгое и сложное развитие. \\
-Язык программирования **Фортран** (англ. FORmula TRANslation - перевод формул) создан в 1954 г. - он современник паровозов! Для программистов того времени он стал тем же, чем были первые крупносерийные тепловозы ТЭ3 для наших железнодорожников: он принес с собой комфорт и скорость, прежде всего за счет исключения самой грязной и утомительной работы, каковой на паровозе была работа кочегара, а в вычислительной технике написание машинных кодов. Программа на Фортране имела вид не кодов, а формул, которые любому программисту привычны по школьной и институтской математике. Фортран превосходен как язык ученых, которые чаще всего сами не являются программистами, но ощущают потребность быстро создавать компактные программы для сложных числовых расчетов. Основной недостаток Фортрана - его непригодность для решения иных задач, кроме вычислений по формулам, поэтому сейчас он имеет ограниченное применение: главным образом там, где от программы требуются учебно-демонстрационные свойства. Будучи ПЕРВЫМ В ИСТОРИИ языком высокого уровня, Фортран жив и сейчас (последняя ревизия стандарта была в 2008 г.). За долгие годы на нем было написано множество программ математического назначения, которые хорошо отлажены, эффективны и доступны в виде исходных текстов - без преувеличения это достояние человечества! \\+Язык программирования **Фортран** (англ. FORmula TRANslation - перевод формул) создан в 1954 г. - он современник паровозов! Для программистов того времени он стал тем же, чем были первые крупносерийные тепловозы ТЭ3 для наших железнодорожников: он принес с собой комфорт и скорость, прежде всего за счет исключения самой грязной и утомительной работы, каковой на паровозе была работа кочегара, а в вычислительной технике написание машинных кодов. Программа на Фортране имела вид не кодов, а формул, которые любому программисту привычны по школьной и институтской математике. Примерно таких: \\ 
 +<code>VES = JBJEM * PLOTNOST</code> \\ 
 +Фортран превосходен как язык ученых, которые чаще всего сами не являются программистами, но ощущают потребность быстро создавать компактные программы для сложных числовых расчетов. Основной недостаток Фортрана - его непригодность для решения иных задач, кроме вычислений по формулам, поэтому сейчас он имеет ограниченное применение: главным образом там, где от программы требуются учебно-демонстрационные свойства. Будучи ПЕРВЫМ В ИСТОРИИ официально принятым на вооружение языком высокого уровня, Фортран жив и сейчас (последняя ревизия стандарта была в 2008 г.). За долгие годы на нем было написано множество программ математического назначения, которые хорошо отлажены, эффективны и доступны в виде исходных текстов - без преувеличения это достояние человечества! \\
 **Кобол** (Common Business-Oriented Language - всеобщий бизнес-ориентированный язык, Грейс Хоппер, 1959 г.), в противоположность Фортрану, предназначен не для математиков и физиков, а для работников финансово-экономической сферы. В западном мире еще в 2000-е годы считалось, что на этом языке написано больше всего строк исходного текста, но в СССР эта сфера всегда недооценивалась, так что Кобол у нас остался практически неизвестен. \\ **Кобол** (Common Business-Oriented Language - всеобщий бизнес-ориентированный язык, Грейс Хоппер, 1959 г.), в противоположность Фортрану, предназначен не для математиков и физиков, а для работников финансово-экономической сферы. В западном мире еще в 2000-е годы считалось, что на этом языке написано больше всего строк исходного текста, но в СССР эта сфера всегда недооценивалась, так что Кобол у нас остался практически неизвестен. \\
 Вот еще в качестве информации к размышлению на тему Кобола: [[https://zen.yandex.ru/media/habr/75letnii-programmist-osnoval-kompaniiu-po-obslujivaniiu-kompiuternyh-sistem-na-cobol-5de5fe9a5ba2b500adf0a001?&secdata=CL3P39jsLSABMIKAAQ%3D%3D]] \\ Вот еще в качестве информации к размышлению на тему Кобола: [[https://zen.yandex.ru/media/habr/75letnii-programmist-osnoval-kompaniiu-po-obslujivaniiu-kompiuternyh-sistem-na-cobol-5de5fe9a5ba2b500adf0a001?&secdata=CL3P39jsLSABMIKAAQ%3D%3D]] \\
 Технический прогресс никогда не задерживается на какой-либо ступени - он развивается согласно присущей ему логике, которую нам совсем не трудно понять. Время от времени в интересующей нас области техники появляется изделие (машина, инструмент..), ломающий все наши прежние представления о данной работе: как ТЭ3 в сравнении с паровозами, как Фортран в сравнении с машинными кодами... Но когда это изделие вступает в повседневную эксплуатацию, мы начинаем замечать, что оно не лишено определенных недостатков, и испытываем труднопреодолимое желание эти недостатки исправить. Так __революция__ сменяется __эволюцией__. Чуть позже, рассматривая языки программирования Паскаль и Си, мы увидим, что эта тенденция иногда нарушается. Но это будет другая история - история средних веков, а сейчас мы вернемся на рубеж 50-х-60-х годов XX века: в эти годы железнодорожники получили ТЭП60, а программисты **Алгол**. Для непосвященного человека разницы нет, но разница весьма ощутима для того, кто каждое утро садится за баранку этого пылесоса. Тепловозы мы сейчас оставим в покое. Они нам нужны лишь для того, чтобы проиллюстрировать одну мысль: различные области техники развиваются по схожим законам. А вот разницу между Алголом и Фортраном хотелось бы рассмотреть более подробно. \\ Технический прогресс никогда не задерживается на какой-либо ступени - он развивается согласно присущей ему логике, которую нам совсем не трудно понять. Время от времени в интересующей нас области техники появляется изделие (машина, инструмент..), ломающий все наши прежние представления о данной работе: как ТЭ3 в сравнении с паровозами, как Фортран в сравнении с машинными кодами... Но когда это изделие вступает в повседневную эксплуатацию, мы начинаем замечать, что оно не лишено определенных недостатков, и испытываем труднопреодолимое желание эти недостатки исправить. Так __революция__ сменяется __эволюцией__. Чуть позже, рассматривая языки программирования Паскаль и Си, мы увидим, что эта тенденция иногда нарушается. Но это будет другая история - история средних веков, а сейчас мы вернемся на рубеж 50-х-60-х годов XX века: в эти годы железнодорожники получили ТЭП60, а программисты **Алгол**. Для непосвященного человека разницы нет, но разница весьма ощутима для того, кто каждое утро садится за баранку этого пылесоса. Тепловозы мы сейчас оставим в покое. Они нам нужны лишь для того, чтобы проиллюстрировать одну мысль: различные области техники развиваются по схожим законам. А вот разницу между Алголом и Фортраном хотелось бы рассмотреть более подробно. \\
 Фортран в его классическом виде - //бесструктурный// язык. Для условных переходов в нем используется запись типа: \\ Фортран в его классическом виде - //бесструктурный// язык. Для условных переходов в нем используется запись типа: \\
-<code>IF X<0 THEN GOTO 5</code>+<code>IF X<0 THEN GOTO 5</code> \\
 где 5 - метка оператора, к которому совершается переход. И оператор GOTO, и метка, на которую он нацелен, могут находиться в любом месте программы. Это не важно, если программа не очень большая. По мере разработки сложной программы множество условных переходов может создать нешуточную путаницу. На это еще около 1958 г. (т. е. почти сразу после массового внедрения Фортрана) обратил внимание голландец Э. Дейкстра, ставший идейным вдохновителем разработки Алгола. В Алголе, в отличие от Фортрана, меток вообще нет, а условные переходы и циклы программируются в виде //структур//, содержащих то или иное количество блоков: условный переход возможен только по правилам структуры и только в пределах "своего" блока, а "далекие" переходы, создающие наибольшую опасность путаницы, отменены вообще как класс. Это позволяет сделать программу более логичной и ясной и, как следствие, несколько уменьшить трудоемкость разработки. Вроде бы мелочь, но если структурному принципу следует множество программистов, работающих год за годом, то экономический эффект может быть весьма значительным. Во что это выльется "в тугриках", никто не считал и считать не собирается, да это и непринципиально. Для нас принципиально то, что древние люди к таким вещам относились серьезно и принимали грамотные инженерные решения, не дожидаясь подсчета прибылей и убытков. \\ где 5 - метка оператора, к которому совершается переход. И оператор GOTO, и метка, на которую он нацелен, могут находиться в любом месте программы. Это не важно, если программа не очень большая. По мере разработки сложной программы множество условных переходов может создать нешуточную путаницу. На это еще около 1958 г. (т. е. почти сразу после массового внедрения Фортрана) обратил внимание голландец Э. Дейкстра, ставший идейным вдохновителем разработки Алгола. В Алголе, в отличие от Фортрана, меток вообще нет, а условные переходы и циклы программируются в виде //структур//, содержащих то или иное количество блоков: условный переход возможен только по правилам структуры и только в пределах "своего" блока, а "далекие" переходы, создающие наибольшую опасность путаницы, отменены вообще как класс. Это позволяет сделать программу более логичной и ясной и, как следствие, несколько уменьшить трудоемкость разработки. Вроде бы мелочь, но если структурному принципу следует множество программистов, работающих год за годом, то экономический эффект может быть весьма значительным. Во что это выльется "в тугриках", никто не считал и считать не собирается, да это и непринципиально. Для нас принципиально то, что древние люди к таким вещам относились серьезно и принимали грамотные инженерные решения, не дожидаясь подсчета прибылей и убытков. \\
 Заметим, что при программировании на бесструктурных языках типа Фортрана нам никто не запрещает придерживаться структурного принципа (в современных версиях языка введены даже соответствующие операторы). Но на Фортране это вопрос самодисциплины. В конечном счете - вопрос культуры каждого конкретного программиста. А на Алголе этот принцип возведен в ранг обязательного, поэтому все мало-мальски современные языки, начиная со средневекового Паскаля, построены на структурном принципе и таким образом являются потомками Алгола. \\ Заметим, что при программировании на бесструктурных языках типа Фортрана нам никто не запрещает придерживаться структурного принципа (в современных версиях языка введены даже соответствующие операторы). Но на Фортране это вопрос самодисциплины. В конечном счете - вопрос культуры каждого конкретного программиста. А на Алголе этот принцип возведен в ранг обязательного, поэтому все мало-мальски современные языки, начиная со средневекового Паскаля, построены на структурном принципе и таким образом являются потомками Алгола. \\
Строка 246: Строка 248:
 Эра микропроцессоров по-настоящему начинается с 1974 г., когда эта же фирма выпустила восьмиразрядный микропроцессор 8080 (в нашей стране выпускался клон под марками К580ИК80 или К580ВМ80). Именно этот микропроцессор стал первым практически пригодным для создания полнопрофильного домашнего компьютера, который можно было использовать для обучения программированию (на студенческом уровне и даже выше), для подготовки текстовых деловых документов и для несложных игр. Идея такого компьютера кажется очевидным продолжением идеи видеотерминала, но в 1974 г. видеотерминалы как таковые только начали появляться, и нынешняя концепция персонального компьютера с монитором и клавиатурой еще не сложилась. Я вам скажу больше: это в нашем нынешнем представлении микропроцессор создается с целью построить маленький и дешевый компьютер для использования в качестве персонального, а в ту эпоху, которую мы сейчас рассматриваем, у людей были другие приоритеты. Мейнфреймы с видеотерминалами покрывали потребность людей в вычислительных ресурсах на рабочем месте с гораздо большим успехом, чем "персоналки", по той простой причине, что на мейнфрейме можно реализовать такие функции, которые для тогдашней "персоналки" немыслимы в принципе (да, эти функции придется делить на энное число пользователей, но это все равно лучше, чем совсем ничего). Микропроцессор же виделся как новая элементная база прежде всего для управляющих машин и промышленной автоматики. Поэтому самый первый серийный компьютер на базе микропроцессора 8080 - Альтаир 8800 [[https://vk.com/@myironcomp-komputer-bez-kotorogo-ne-bylo-by-microsoft-i-apple]] - был похож не на привычный нам теперь персональный компьютер, а на привычный нам в 70-е годы процессор обычной мини-ЭВМ. У него не было не то что экрана, но даже однострочного многоразрядного индикатора, как в калькуляторах или в тактических ракетных компьютерах, рассмотренных в главе "На земле, в небесах и на море". Идея подключить к нему клавиатуру и видеомонитор пришла чуть позже. Автором этой идеи считается Стив Возняк (тот самый, который в порядке развития этой идеи построил первый массовый персональный компьютер "Эппл 1"). Именно "Альтаир" стал той машиной, на которой начинали программировать Билл Гейтс и Пол Аллен. \\ Эра микропроцессоров по-настоящему начинается с 1974 г., когда эта же фирма выпустила восьмиразрядный микропроцессор 8080 (в нашей стране выпускался клон под марками К580ИК80 или К580ВМ80). Именно этот микропроцессор стал первым практически пригодным для создания полнопрофильного домашнего компьютера, который можно было использовать для обучения программированию (на студенческом уровне и даже выше), для подготовки текстовых деловых документов и для несложных игр. Идея такого компьютера кажется очевидным продолжением идеи видеотерминала, но в 1974 г. видеотерминалы как таковые только начали появляться, и нынешняя концепция персонального компьютера с монитором и клавиатурой еще не сложилась. Я вам скажу больше: это в нашем нынешнем представлении микропроцессор создается с целью построить маленький и дешевый компьютер для использования в качестве персонального, а в ту эпоху, которую мы сейчас рассматриваем, у людей были другие приоритеты. Мейнфреймы с видеотерминалами покрывали потребность людей в вычислительных ресурсах на рабочем месте с гораздо большим успехом, чем "персоналки", по той простой причине, что на мейнфрейме можно реализовать такие функции, которые для тогдашней "персоналки" немыслимы в принципе (да, эти функции придется делить на энное число пользователей, но это все равно лучше, чем совсем ничего). Микропроцессор же виделся как новая элементная база прежде всего для управляющих машин и промышленной автоматики. Поэтому самый первый серийный компьютер на базе микропроцессора 8080 - Альтаир 8800 [[https://vk.com/@myironcomp-komputer-bez-kotorogo-ne-bylo-by-microsoft-i-apple]] - был похож не на привычный нам теперь персональный компьютер, а на привычный нам в 70-е годы процессор обычной мини-ЭВМ. У него не было не то что экрана, но даже однострочного многоразрядного индикатора, как в калькуляторах или в тактических ракетных компьютерах, рассмотренных в главе "На земле, в небесах и на море". Идея подключить к нему клавиатуру и видеомонитор пришла чуть позже. Автором этой идеи считается Стив Возняк (тот самый, который в порядке развития этой идеи построил первый массовый персональный компьютер "Эппл 1"). Именно "Альтаир" стал той машиной, на которой начинали программировать Билл Гейтс и Пол Аллен. \\
 Еще через 2 года фирма "Зилог" выпустила легендарный Z80, на основе которого фирма "Синклер" изготавливала, вероятно, самый удачный и самый массовый домашний компьютер - ZX Spectrum (1982 г.). По сути Z80 представлял собой не что иное как слегка доработанный 8080 с расширенной системой команд. В 1983 г. появился первый портативный компьютер TRS-80 Model 100 с 8-строчным экраном, 32кБ ПЗУ и 8..32кБ оперативной памяти, способный работать от батареек или аккумулятора. [[https://oldcomputers.net/trs100.html]] А в январе 1984 г. появилась еще одна легенда - "Эппл Макинтош". Компьютеры этой марки строились сначала на 16-разрядных процессорах фирмы "Моторола", последующие модели этого семейства - на 32-разрядных процессорах фирмы "ИБМ", а позже "Интел". \\ Еще через 2 года фирма "Зилог" выпустила легендарный Z80, на основе которого фирма "Синклер" изготавливала, вероятно, самый удачный и самый массовый домашний компьютер - ZX Spectrum (1982 г.). По сути Z80 представлял собой не что иное как слегка доработанный 8080 с расширенной системой команд. В 1983 г. появился первый портативный компьютер TRS-80 Model 100 с 8-строчным экраном, 32кБ ПЗУ и 8..32кБ оперативной памяти, способный работать от батареек или аккумулятора. [[https://oldcomputers.net/trs100.html]] А в январе 1984 г. появилась еще одна легенда - "Эппл Макинтош". Компьютеры этой марки строились сначала на 16-разрядных процессорах фирмы "Моторола", последующие модели этого семейства - на 32-разрядных процессорах фирмы "ИБМ", а позже "Интел". \\
 +Вот еще немного пищи для размышлений на тему персональных компьютеров: [[https://habr.com/ru/company/cloud4y/blog/571014/]] \\
 Компьютеры на базе 8080 и Z80 открыли эру восьмиразрядных машин, которых всего-то 10 лет назад никто и вообразить не мог. Такой компьютер, разумеется, мог производить и точные расчеты, но только за счет т. н. "длинной арифметики", или программной эмуляции арифметических операций с большими числами (в т. ч. и с плавающей запятой). Если же учесть, что тактовая частота таких процессоров достигала 4 МГц, то быстродействие получалось как будто совсем неплохое, где-то на уровне ЕС-1020 или "Минск-32"! Но процессор - лишь одна из составных частей компьютера, а причина недостаточности "умственных способностей" компьютера может скрываться в других его частях или в том, как они взаимодействуют. Нормальный процессор для обращения к ячейкам памяти использует адрес длиной в одно или два машинных слова: идеально - одно, на крайняк соглашаемся на два. Если исхитриться, можно, конечно, и больше, но грамотные инженеры не любят "объездных дорог". Мы сейчас говорим о восьмиразрядном процессоре - значит, адрес длиной в одно машинное слово позволяет обращаться к 256 ячейкам - это безобразно мало. Эта проблема решается через использование спаренных регистров, таких как H и L в процессорах 8080, как DPTR в микроконтроллерах MCS48..51. Адрес в два машинных слова позволяет адресовать 64К ячеек - для домашней игрушки это сойдет, для несложной промышленной управляющей машинки вполне туды-сюды, но для профессиональной работы на уровне 80-х годов этого уже недостаточно. Поэтому, чтобы построить профессиональный персональный компьютер, все та же фирма "Интел" в 1978 г. выпустила 16-разрядный микропроцессор 8086. Он имел замысловатую систему сегментации памяти, благодаря которой мог обращаться к ячейкам с 20-разрядными адресами, т. е. мог работать с памятью емкостью до 1МБ. Это был прорыв, но поначалу этот процессор был встречен специалистами прохладно: казался чересчур переусложненным. На основе этого процессора фирма ИБМ в 1981 г. построила персональный компьютер, получивший незатейливое название IBM PC, т. е. просто "персональный компьютер от международных деловых машин". Этот компьютер, что называется, получил хороший рынок. Выпуск таких процессоров и таких компьютеров давно прекращен, но современные настольные компьютеры и ноутбуки являются потомками PC и Intel 8086 в четвертом или пятом поколении. \\ Компьютеры на базе 8080 и Z80 открыли эру восьмиразрядных машин, которых всего-то 10 лет назад никто и вообразить не мог. Такой компьютер, разумеется, мог производить и точные расчеты, но только за счет т. н. "длинной арифметики", или программной эмуляции арифметических операций с большими числами (в т. ч. и с плавающей запятой). Если же учесть, что тактовая частота таких процессоров достигала 4 МГц, то быстродействие получалось как будто совсем неплохое, где-то на уровне ЕС-1020 или "Минск-32"! Но процессор - лишь одна из составных частей компьютера, а причина недостаточности "умственных способностей" компьютера может скрываться в других его частях или в том, как они взаимодействуют. Нормальный процессор для обращения к ячейкам памяти использует адрес длиной в одно или два машинных слова: идеально - одно, на крайняк соглашаемся на два. Если исхитриться, можно, конечно, и больше, но грамотные инженеры не любят "объездных дорог". Мы сейчас говорим о восьмиразрядном процессоре - значит, адрес длиной в одно машинное слово позволяет обращаться к 256 ячейкам - это безобразно мало. Эта проблема решается через использование спаренных регистров, таких как H и L в процессорах 8080, как DPTR в микроконтроллерах MCS48..51. Адрес в два машинных слова позволяет адресовать 64К ячеек - для домашней игрушки это сойдет, для несложной промышленной управляющей машинки вполне туды-сюды, но для профессиональной работы на уровне 80-х годов этого уже недостаточно. Поэтому, чтобы построить профессиональный персональный компьютер, все та же фирма "Интел" в 1978 г. выпустила 16-разрядный микропроцессор 8086. Он имел замысловатую систему сегментации памяти, благодаря которой мог обращаться к ячейкам с 20-разрядными адресами, т. е. мог работать с памятью емкостью до 1МБ. Это был прорыв, но поначалу этот процессор был встречен специалистами прохладно: казался чересчур переусложненным. На основе этого процессора фирма ИБМ в 1981 г. построила персональный компьютер, получивший незатейливое название IBM PC, т. е. просто "персональный компьютер от международных деловых машин". Этот компьютер, что называется, получил хороший рынок. Выпуск таких процессоров и таких компьютеров давно прекращен, но современные настольные компьютеры и ноутбуки являются потомками PC и Intel 8086 в четвертом или пятом поколении. \\
 Компьютеры IBM PC, как и следующее поколение - PC/XT - не были чем-то революционным. Да, у них была необычно большая для персональных машин емкость памяти, и был цветной монитор, но машины с такими особенностями были и раньше - просто до поры-до времени они были дороговаты. Но общую тенденцию к удешевлению техники никто не отменял, значит такой компьютер по такой цене рано или поздно должен был появиться. Он и появился - один из многих. Убойной фишкой был не сам компьютер, а его программное обеспечение. Основой его была операционная система MS DOS, которая представляла собой великолепный компромисс между функциональностью и сложностью. К тому же она была снабжена подробной и доходчивой документацией, и это не считая "художественных" книг, по которым, даже без документации, можно было изучить ее принципы действия. Никогда в истории - ни до того, ни после - не было операционной системы, которая была бы так хорошо приспособлена для программирования. Прикладные программы для DOS разрабатывались множеством фирм в мире, но и любой грамотный пользователь мог подобрать подходящую для себя среду разработки и создавать программы по своим потребностям. Век DOS оказался недолог (начало разработки в 1981 г., массовое распространение - около 1988 г., начало заката - 1996 г., а последние компьютеры с DOS эксплуатировались примерно до 2002 г.) Ее боевые возможности не успевали за бурным развитием железа, но DOS успела дать мощный толчок развитию мирового программистского искусства и оказала огромное влияние на путь развития этого искусства на десятилетия вперед. \\ Компьютеры IBM PC, как и следующее поколение - PC/XT - не были чем-то революционным. Да, у них была необычно большая для персональных машин емкость памяти, и был цветной монитор, но машины с такими особенностями были и раньше - просто до поры-до времени они были дороговаты. Но общую тенденцию к удешевлению техники никто не отменял, значит такой компьютер по такой цене рано или поздно должен был появиться. Он и появился - один из многих. Убойной фишкой был не сам компьютер, а его программное обеспечение. Основой его была операционная система MS DOS, которая представляла собой великолепный компромисс между функциональностью и сложностью. К тому же она была снабжена подробной и доходчивой документацией, и это не считая "художественных" книг, по которым, даже без документации, можно было изучить ее принципы действия. Никогда в истории - ни до того, ни после - не было операционной системы, которая была бы так хорошо приспособлена для программирования. Прикладные программы для DOS разрабатывались множеством фирм в мире, но и любой грамотный пользователь мог подобрать подходящую для себя среду разработки и создавать программы по своим потребностям. Век DOS оказался недолог (начало разработки в 1981 г., массовое распространение - около 1988 г., начало заката - 1996 г., а последние компьютеры с DOS эксплуатировались примерно до 2002 г.) Ее боевые возможности не успевали за бурным развитием железа, но DOS успела дать мощный толчок развитию мирового программистского искусства и оказала огромное влияние на путь развития этого искусства на десятилетия вперед. \\
igor/istoria.txt · Последнее изменение: 2022/05/01 18:15 — igor