Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет p_govorun ([info]p_govorun)
@ 2007-03-18 16:20:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Прислали из будущего компьютер...
Вот тут [info]city-rat@lj пишет, что один-единственный современный компьютер, вполне возможно, превосходит по вычислительной мощности всё, чем когда-то располагало человечество.

А вот представьте себе, что каким-то волшебным образом тот компьютер, что сейчас перед вами, оказался в СССР середины семидесятых годов. Колоссальная по тем временам мощность, но как её задействовать? Непосредственно за компьютер больше одного человека не сядет. Нужна периферия (считыватель перфокарт, АЦПУ, может быть дисплеи). А как подключить? К последовательному порту? Можно, но скорость маловата. К ethernet? Там частоты в десятки мегагерц (я веду речь о 10 Мбит/с). Вторую сетевую карту, не без усилий, но сделать можно (размер у неё будет изрядный). А подключить её к чему? Нужен ещё один компьютер (да, из тех, что занимают комнату).

Как вы думаете, как всё это будет выглядеть? По-моему, в итоге получится здание, набитое вычислительной техникой, и при нём НИИ, организующий её работу. А в центре всего -- ваша IBM PC.

P.S. Уточнение: компьютер попадает в прошлое вместе со всей документацией, схемами, описаниями протоколов, программами и их исходными текстами. Я добрый :-)


(Читать комментарии) - (Добавить комментарий)


[info]vitus_wagner@lj
2007-03-18 10:38 (ссылка)
Схемы всей этой электроники имеются. В блоках памяти главного компьютера © П. Шумил.

В середине 70-х по-моему, последовательные терминалы с алфавитно-цифровыми дисплеями уже существовали. В начале 80-х я их точно видел, и вид у них был отнюдь не новый. Соответственно, если к моему компьютеру приложить несколько USB-хабов и кучку чипов USB-serial конвертеров (вроде тех, которые мы в устройство "Вьюга" вставляем), то штук 30 терминалов на мой компьютер повесить можно. Что самое смешное, весь необходимый софт там внутри уже имеется.

Вот реализовать X-терминалы на той элементной базе будет посложнее. Несмотря на наличие исходных текстов всего необходимого программного обеспечения. Проще уж будет эмулятор Tektronics реализовать (или закупить в Штатах настоящие Tektronics-ы). А на Tektronics-е можно по крайней мере заниматься научной графикой (gnuplot его умеет) и предпечатной подготовкой научных работ (dvigt у меня где-то валялся). Возможно и GRASS что-то про Tektronis-ы помнит. Тогда и картографией заниматься можно.

Помнится, году в 98 я использовал в качестве терминала 286 лаптоп. В силу его сугубой 16-битности X-ы на нем поднять не удалось. А вот Telnet-клиент с эмуляцией Tektronics под него был.

(Ответить) (Ветвь дискуссии)


[info]p_govorun@lj
2007-03-18 10:49 (ссылка)
А вот не прислали USB-хабов :-) И конвертеров -- тем более. Придётся конвертеры самим делать. А USB-serial конвертер -- это, по тем временам, компьютер.

Но, допустим, справились. Стоит уймища терминалов (интересно, сколько терминалов потянет нынешний компьютер. Вполне может быть, что обнаружится совсем неожиданное ограничение). А за этими терминалами сидят операторы и вбивают данные, а потом считывают результаты. Всё равно, по-моему, процессор будет простаивать. Нужен какой-то канал для закачки большого объёма данных.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]vitus_wagner@lj
2007-03-18 11:16 (ссылка)
Тогда придется PCI-ную мультипортовку ваять. Благо исходники драйверов к ним имеются. Или извратиться и сваять ISA-мультипоортовку, подключаемую через IDE-контроллер. Или может быть извратиться, и подвесить имеющиеся в хозяйстве в те времена мультиплексоры терминалов на два присутствующих в компьютере RS-232.

Вообще, 28 USB-serial конвертеров я к одному компьютеру подключал (четыре семипортовых хаба). Поэтому и говорю что штук тридцать получится. Учитывая что пользователи будут программы на FORTRAN, Common Lisp и C писать (благо языки эти тогда уже были известны) и GRASS гонять, процессор они выжрут. А ведь они ещё найдут на диске "Numerical Recipes in C" в формате PDF (которую вполне реально распечатать на прилагающемся лазерном принтере), Грэмовский "On Lisp" и много какой другой полезной литературы. Вообще, подозреваю, что если мой компьютер отправить в прошлое как есть, со всем содержимым жесткого диска, ценность содержащейся на нём информации, включая миррор Debian со всеми исходниками, многократно превзойдет ценность вычислительной мощности.

А ещё есть сканнер. Он есть, к компьютеру подключен. И видеовход на плате TV-тюнера. Соответственно, можно гнать данные в больших объемах через эти интерфейсы. У меня же там GRASS, значит сам бог велел этот компьютер использовать для обработки аэро- и космо- фотоснимков.

А ещё есть линейный вход звуковой карты. Через него можно подключить кое-какую переферию - аналоговый сигнал откуда-нибудь снимать.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]p_govorun@lj
2007-03-18 11:27 (ссылка)
Про специальную PCIную карту я думал. Я бы не решился что-то самодельное вставлять в прибор стоимостью в миллионы (десятки миллионов? больше?) рублей. Уже потому, что там может что-нибудь сгореть, и (при невезении) унести с собой материнку.

А звуковой вход использовать -- это хорошая идея. Туда можно бытовой магнитофон подключить, как на БК-0010.

Что касается юзерских программ -- юзеры не сразу ощутят, что всё, что они писали до того, считается не часы, а доли секунды. Потом, когда они привыкнут -- они смогут занять хоть весь компьютер :-) А поначалу задачи, которые будут считаться, будут небольшие.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]vap@lj
2007-03-18 11:47 (ссылка)
юзеры не сразу ощутят, что всё, что они писали до того, считается не часы, а доли секунды.
Был у меня когда-то случай. Захотелось мне поиграться со спектром звука. Взял я 100 миллисекунд оцифрованного в моно*16 бит*44.1 кГц звука и решил его разложить по фурье с шагом 10 Гц. Ради этого съездил к одногруппнику, у которого была очень навороченная машина - 486 DX2 66 со звуковой картой, оцифровал, записал на дискеты, приехал домой. Дома сел за свою ЕС 1841 и накропал программку для счета. Не оптимизировал особо - даже не избавлялся от арифметики с плавающей точкой. Запустил вечером, лег спать. К утру посчиталось, причем время счета было что-то около 6 часов. Красивый график получился.
Поехал опять к одногруппнику похвастаться. Запустили у него - а оно взяло и посчиталось за пару секунд.
Вот так я и получил понятие о прогрессе вычислительной техники, данное "в ощущениях".

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]vap@lj
2007-03-18 12:00 (ссылка)
Упс, не 100 миллисекунд, а 10 секунд :) Торможу, совсем Фурье забыл :)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]p_govorun@lj
2007-03-18 12:05 (ссылка)
Ага. Я когда-то написал рисовалку множества Мандельброта. На 486 она работала медленно, но когда я её запустил у знакомых на 386 без сопроцессора, я понял, что она вобще никогда работать не кончит.

(Ответить) (Уровень выше)


[info]p_govorun@lj
2007-03-18 11:38 (ссылка)
А литература, думаю, пропадёт. :-( Интернета нет, бумажная система книгоиздательства работает медленно и по заранее утверждённым планам, напечатать что-то в обход этой системы -- нереально. Компьютерная литература на английском не издаётся, читать её в состоянии далеко не все, перевести -- немалая работа.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]vitus_wagner@lj
2007-03-18 11:59 (ссылка)
Не думаю. Система распространения технической литературы и исходников программ по знакомству тогда существовала. Подцепят через последовательный порт какую-нибудь фиговину, которая умеет на полудюймовую ленту писать и распространят по всем знакомым вычислительным центрам. В те времена так распространяли, например, произведения Стругацких.

Конечно, с тем, что в djvu и pdf будут сложности - его же можно будет далеко не на всяком АЦПУ напечатать. Но ведь извернутся. Благо исходники pdftotxt и Clara OCR тоже имеются.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]p_govorun@lj
2007-03-18 12:10 (ссылка)
Стругацких -- да, Стругацкие всем нужны. А вот книгу на непонятном языке (английском) о непонятном языке (LISP), в загадочном формате, разборка которого займёт чуть ли не сутки компьютерного времени (на тогдашних компьютерах)... Не распробуют такое.

(Ответить) (Уровень выше)


[info]vap@lj
2007-03-18 11:37 (ссылка)
интересно, сколько терминалов потянет нынешний компьютер. Вполне может быть, что обнаружится совсем неожиданное ограничение
Вроде как, в современных линуксах кол-во терминалов ограничено максимальным количеством одновременно открытых файловых дескрипторов (десятки тысяч? Об этом можно почитать здесь (http://www.kegel.com/c10k.html)). Правда, драйвер платы COM-портов с десятью тысячами портов придется писать самим :)
Вот сколько пользователей можно будет обслуживать без тормозов - не знаю, но из общих соображений (ради грубой оценки снизу поделив кол-во памяти и скорость процессора на таковые значения для какой-нибудь древней персоналки вроде Robotron 1715, считавшейся в свое время зверь-машиной для любой офисной работы) получается, что несколько тысяч точно, а если пользователи будут безвылазно сидеть в текстовом редакторе - то и побольше.

Нужен какой-то канал для закачки большого объёма данных.
Ну так тот, кто делал аппаратуру для подключения терминалов, вполне мог бы и конвертер в какой-нибудь из тогдашних мэйнфреймовских интерфейсов приделать :) Вот здесь (http://www.osp.ru/os/1999/01/179638/_p1.html) нагуглилось нечто про виды таких интерфейсов.
Кстати, сделав, к примеру, интерфейс мультиплексного канала, можно было бы дальше использовать обычные для того времени терминалы и любую периферию.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]p_govorun@lj
2007-03-18 11:42 (ссылка)
Сейчас почитаю ссылки. Но думаю, что будут проблемы и до дескрипторов. И не только софтверные. Я вот знаю, что USB-порту надлежит работать с 255-ю устройствами -- но вот сможет ли он это делать в реальности, или у него, скажем, просто контроллер подвиснет? Никто ведь не пробовал.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]vap@lj
2007-03-18 11:58 (ссылка)
127, не 255, вроде бы.
Кроме того, никто не мешает к USB подключить только одно устройство - мультипортовый преобразователь. У фирмы NETMOS, например, есть 4-портовые (http://www.moschip.com/html/MCS7840.html) чипы USB->COM преобразователей - одно устройство на USB, 4 независимых COM-порта для пользователя. Если уж какой-нибудь НИИ в 70-х делал бы мультиплексор терминалов на USB для свалившейся из будущего машины, то количество портов было бы еще больше :)

А насчет host-контроллера - так ему ведь все равно, какой пакет передавать. В софте дело.

А вообще, если бы я, обладая технологиями 70-х, делал бы размножитель COM-портов, я бы USB не трогал. Уж лучше подключиться к IDE-порту - там шина вполне простая и привычная для тех времен, и даже тогдашние микросхемы портов можно было бы туда подключать непосредственно.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]p_govorun@lj
2007-03-18 12:20 (ссылка)
Да, кажется 127. Не помню точно.

Сделали бы, конечно, мультиплексор терминалов -- но повозиться пришлось бы. Частоты шины USB имхо великоваты для того времени.

А что касается IDE -- шина простая, если её выставить в PIO 1, как в старые времена. А работает ли PIO 1 на современной материнке, кто ж знает?

Или вот такая проблема: как физически подключиться к материнской плате? Придётся разрабатывать всю технологию изготовления 40-штырьковых разъёмов, с нуля. Проще будет паять непосредственно на разъём тонкие провода, но на это, опять же, надо решиться.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]vap@lj
2007-03-18 12:58 (ссылка)
Ну, 12МГц - не так много. 3 мегагерца было доступно аж в процессоре (CISC! То есть, по тем временам, никаких конвейеров и поэтому куча логики от триггера до триггера, так что отдельные вентили работали куда быстрее), да и быстродействующие серии логики уже были, и там было не знаю сколько, но явно больше 12 мегагерц.
Насчет PIO - конечно работает. В линуксе даже есть, если не путаю, драйвер - "IDE Taskfile Access", и через него можно читать-писать слова прямо на параллельной шине - 16 бит данных, 4 бита адреса, хоть напрямую всякие чипы периферии 580-й серии цепляй.
А насчет разъемов - вот уж что проще всего решалось :) Штыревые разъемы тогда вовсю уже применялись, надергали бы одиночных гнезд, залили эпоксидкой в картонной опалубке - и вперед :)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]p_govorun@lj
2007-03-18 13:21 (ссылка)
Про частоты. Я цифр не помню, но проблема видна уже из ваших цифр. Контроллер USB по сложности превосходит тогдашние процессоры. (Основная идея USB -- вместо того, чтобы тянуть много проводов, поставить умные микросхемы на концах). То есть, придётся брать быстродействующую логику, и собирать из неё процессор.

(Посмотрел в википедии (http://en.wikipedia.org/wiki/USB). Low-Speed USB -- это 1.5 Mbps, полегче, чем 12. Но мегаргерц надо больше, чем Mbps, трёхмегагерцевый процессор не потянет.)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]vap@lj
2007-03-18 15:37 (ссылка)
Контроллер USB по сложности превосходит тогдашние процессоры
Не совсем так. Ведь на входе-выходе стоят десериализаторы-сериализаторы, они устроены до безобразия тупо, по сути - сдвиговый регистр, а на нем задержка равна задержке на одном вентиле. В процессоре - в разы больше.
А после десериализатора - там уже параллельный код, и частота в N раз меньше, где N - его разрядность.
Разумеется, протокол на уровне пакетов надо будет разбирать не программно, а железкой, так что целый шкаф логики там был бы :)

А Low-Speed - медленно слишком... Это же 100 килобайт в секунду только. Для сотни терминалов - еще неплохо, а для тысячи - уже неприемлемо. Да и вообще, у тогдашних мэйнфреймов доступ к дискам/лентам был быстрее намного, и ничего, справлялись.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]p_govorun@lj
2007-03-18 15:48 (ссылка)
Мэйнфреймы -- да. Но у них для скоростного доступа были простые протоколы, не требующие сложных вычислений. А вот USB -- протокол витиеватый. У его авторов и мысли не было, что кто-то попытается реализовать его без микроконтроллера.

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

(Ответить) (Уровень выше)


[info]vitus_wagner@lj
2007-03-18 12:02 (ссылка)
Не исключено что оптимально было бы не терминалы вешать, а делать систему пакетной обработки на базе uucp.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]p_govorun@lj
2007-03-18 12:21 (ссылка)
Пожалуй, да. А рядом ставить несколько штук БЭСМ-6 для подготовки заданий и работы с UUCP.

(Ответить) (Уровень выше)


[info]vap@lj
2007-03-18 13:01 (ссылка)
Да, скорее всего, сначала по такому пути бы и пошли. Интерактивную работу тогда не настолько уж уважали, чтобы идея терминала сразу пришла в голову на роль основного средства. Телетайпы, конечно, тоже поставили бы в каком-то количестве, но большинство пользователей к ним бы не пускали.

(Ответить) (Уровень выше)


[info]p_govorun@lj
2007-03-18 10:58 (ссылка)
А закупить Tektronics-ы было бы не так-то просто. Во-первых, нужна валюта, много. Во-вторых, американцы могли и не продать (KOKOM тогда вовсю работал).

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]vitus_wagner@lj
2007-03-18 11:06 (ссылка)
Ну VAX-ы в те времена как-то исхитрялись закупить. А они уж точно под ограничения КОКОМ попадали. Опять же Tektronics это всё-таки не 32-битный процессор. Наверняка, имея исходники эмулятора (а они есть, например, в исходниках xterm, которые у меня на диске заведомо есть) можно было портировать это дело на KР1801 с КЦГД.

(Ответить) (Уровень выше)


(Читать комментарии) -