Re[3]: История компьютеров в СССР
От: Michael7 Россия  
Дата: 18.09.23 11:27
Оценка: +1
Здравствуйте, vdimas, Вы писали:

V>Конкуренцию Intel выиграла не за счёт того, что архитектура проца была удачной (она была крайне неудачной), а потому что IBM спроектировала удачную архитектуру персоналки IBM-PC, расчитанную на долгое обновление железа + комбинаторику всевозможных аппаратных конфигураций (лучший в мире опыт чего IBM имела со своей 360/370 архитектуры).


V>В этом плане разработчикам IBM можно натурально поставить памятник — они показали, какой может быть персоналка "промышленного масштаба", способная покрыть огромное кол-во задач и успешно живущая десятки лет.


Спустя годы мне кажется, что выигрыш тут вообще почти случайный получился. У персоналок было другое: невиданная до того открытость, позволившая клепать клоны, плюс авторитет IBM все же. Что именно открытость сыграла наверное ключевую роль, видно по истории ZX Spectrum в СССР и какое-то время после. Где-то в западном мире Клайв Синклер бы быстро засудил клоноводов, но у нас проблем с ними не было и поздние клоны умудрились сильно развить оригинальные архитектуры, появились машинки с более 1Мб памяти и другими расширениями. В итоге конечно тупик получился, потому что из Z80 выжали все что можно и даже сверх в несколько раз, но если бы пошло развитие процессоров, то вот и мог бы вырасти спектрумовский ряд.

Оригинальным же IBM PC никогда не планировали очень долгую жизнь. Если что это была не первая попытка IBM выйти на рынок персоналок и даже не последняя. Мало кто вспомнит, но была у IBM еще линия IBM RT PC — персоналки на RISC процессоре от IBM https://en.wikipedia.org/wiki/IBM_RT_PC
Re[3]: История компьютеров в СССР
От: Michael7 Россия  
Дата: 18.09.23 11:31
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Что может сломаться в микросхеме низкой степени интеграции?


О чем я и говорю. Что считать по этой причине транзисторную ЭВМ надежнее это ерунда какая-то.
В свое время я понмю читал, что якобы транзисторы позволяли работать быстрее, чем те микросхемы и по этой причине она была транзисторной.
Но это тоже кажется сомнительным.
Re[5]: История компьютеров в СССР
От: pagid_ Россия  
Дата: 18.09.23 12:11
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Вот только IBM-овские мейнфреймы оказались все же переусложненными монстрами.

Нет, они были универсальными, потому и казались переусложненными.
M>Встречал аналогию, что это своего рода тяжелые карьерные самосвалы в мире ИТ. Такие тоже нужны, но в очень ограниченном количестве. Были предложения развивать ряд БЭСМ.
Развивать ряд БЭСМ можно было только как ряд суперкомпьютеров, но никак не массовых машин. Условно можно считать развитием БЭСМ Эльбрусы-1,-2, но это была по сути неудачное развитие. Медленное и неоправданно переусложненное.

M>А может наоборот, как ни парадоксально, но затормозили развитие электроники, потому что чуть ли не главным требованием стало, чтобы новые микросхемы имели зарубежный аналог.

155 серия и её продолжения появились вовсе не из-за необходимости применения в ЕС, да, это аналоги зарубежных микросхем, но это базовый набор, было бы странно придумать вместо него что-то своё лишь бы не такое.
Re[4]: История компьютеров в СССР
От: pagid_ Россия  
Дата: 18.09.23 12:54
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Спустя годы мне кажется, что выигрыш тут вообще почти случайный получился. У персоналок было другое: невиданная до того открытость, позволившая клепать клоны, плюс авторитет IBM все же. Что именно открытость сыграла наверное ключевую роль, видно по истории ZX Spectrum в СССР и какое-то время после. Где-то в западном мире Клайв Синклер бы быстро засудил клоноводов, но у нас проблем с ними не было и поздние клоны умудрились сильно развить оригинальные архитектуры, появились машинки с более 1Мб памяти и другими расширениями. В итоге конечно тупик получился, потому что из Z80 выжали все что можно и даже сверх в несколько раз, но если бы пошло развитие процессоров, то вот и мог бы вырасти спектрумовский ряд.


ZX Spectrum в СССР в развитии отрасли сыграл очень побочную роль — вызвал интерес к теме у некоторой части будущих специалистов. Все. И к слову, я в жизни таких не встречал, хотя здесь, насколько понимаю их немало.


M>Оригинальным же IBM PC никогда не планировали очень долгую жизнь. Если что это была не первая попытка IBM выйти на рынок персоналок и даже не последняя. Мало кто вспомнит, но была у IBM еще линия IBM RT PC — персоналки на RISC процессоре от IBM https://en.wikipedia.org/wiki/IBM_RT_PC

У них была не одна попытка, еще пытались что-то там на Power PC состряпать, да и PS/2 можно рассматривать тоже как попытку закрыть архитектуру. Но поздно уже было.
И у Интела были попытка, причем гораздо более ранняя — APX 432
Re[4]: История компьютеров в СССР
От: vdimas Россия  
Дата: 18.09.23 13:40
Оценка:
Здравствуйте, netch80, Вы писали:

V>>Более убогой, непоследовательной, проблемной в программировании

N>С чем именно сравниваешь из 16-битных? С PDP-11, что ли?

Да, как наиболее популярной 16-битной.
Но можно сравнить с MC68000, которая была разработана с оглядкой на PDP-11 или позже MIPS.
Принципы, легшие в основу PDP-11, были сохранены.


N>Ага, только в PDP-11 вообще возможности выйти за пределы 64KB не было.


Оверлеи.
У нас в ВУЗ-е была машинка с 2 МБ оперативки, а 4 было стандартом во второй половине 70-х.


N>(I/D разделение в старших моделях не в счёт, 8086 хотя бы давал сегментные префиксы.)


Что давало ограничение сверху 1 МБ.
Не особо решили вопрос...


N>И вообще-то в far (а не huge) модели сравнивать указатели с разными сегментами просто не было разрешённым и осмысленным действием.


Это ты уже подзабыл за давностью лет. ))
Если у тебя размер массива был более 64к байт, то начинались пляски с бубном при его итерации и сравнении указателей.


N>Так что проблема была только у кулхацкеров.


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

Почему ручками?
Потому что простое сишное преобразование целочисленного значения в указатель (вычисляемый фактический адрес) просто реинтерпретировало бинарное 4-байтное представление, без вычислений базы и смещения.


V>> неизоморфность файлов регистров, хорошо подходящая для краткого кода 8-битных вычислений, но проявила себя отвратительно для 16-битных вычислительно-нагруженных сценариев -

N>И снова — что именно и с чем сравниваем?

C мейнстримом: PDP-11, MC68k.
Для IBM PC любой из них подошёл бы несравненно лучше.


N>Базовые вычислительные операции в 8086 (не 8080) можно было делать между любыми целочисленными регистрами, или ты забыл?


Да какие "любые"? ))
По-факту, в свободном доступе у нас только 4 регистра: A, B, C, D (префиксы-суфиксы E-X опускаю)

ОК, готов смириться со специальными индексными, базовым, стековым, но когда многие команды автоматом задевают упомянутые 4 — это уже беспредел.
Я много прогал на асме в период 93-99 г (в сравнени с другими ассемблерщиками ощущал за собой, без лишней скромности, нехилый талант), но 8086-й — самый дебильный из всех.
Всегда реакция: "Блин, только не ЭТО!" ))

По каждой такой команде необходимо помнить, какие регистры она неявно трогает (в каких регистрах надо подготовить данные и откуда потом забирать).
В других асмах неявно дёргается разве что аккумулятор/флаги, остальное указывается явно — код быстро пишется и легко читается .

В общем, ASM 8086 — это всегда было отдельной вселенной.
Недостаточно быть "просто крутым ассемблерщиком", надо быть спецом именно по этой архитектуре и... полностью бесполезным для других.
И обратное тоже где-то верно.

Один этот фактор уже указывает на чудовищную ошибку проектирования — для того же уровня программ для 8086 требуется в РАЗЫ больше затрат труда/внимательности программиста.

Но!
Инженеры Intel не дебилы, конечно, просто им именно так и поставили задачу — дать максимальную совместимость с имеющимся кодом для 8080!
И что самое смешное — эта совместимость по-факту оказалась ни разу не востребованной.
Но от лишнего наложенного тогда ограничения корёжит всю IT отрасль до сих пор...

В общем, я что студентом недоумевал/возмущался, что эта кретиническая архитектура постепенно завоёвывает рынок, что сейчас уже машу рукой, но мнение не поменялось, конечно.

Сейчас разрабатывать оптимизирующие компиляторы под эту архитектуру стало намного легче, конечно, ведь ADM64 узаконил доп. файл векторных регистров — теперь оптимизирующие компиляторы "почему-то" охотно используют именно их даже не в векторных операциях, бгг...

Но дело-то не в компиляторах, ес-но, а в людях, их разрабатывающих.
Людям банально проще мыслить в ортогональной архитектуре, это непреодолимый человеческий фактор.

Вот когда ИИ сам научится разрабатывать оптимизирующие компиляторы, то ему, конечно, будет пофик на кучу тонкостей по каждому регистру, которые (тонкости) всегда необходимо держать в уме. А сегодня имеем что имеем. ))


N>Деление — и так чудовищно дорогая операция всегда. (И снова пары регистров в PDP-11. Ну да, три вместо одной, но часто тебе делить приходится на разных парах одновременно?)


При вычислении любой формулы — всегда, считай.
Просто сравни с 68к.
Представь этот же код для 8086 — появятся лишние команды тусования данных по регистрам или в стек и обратно.


N>Плавучка? Ты с чем тогда в PDP-11 сравниваешь? FIS стековый, а FPP дорогой и редкий. Даже ранний IEEE754 в стековом 80x87 лучше плавучки PDP-11. Не зря в VAX позже добавили IEEE плавучку.


На PDP-11 и VAX отработали несколько моделей внешних ускорителей с плавучкой — система команд никак не влияла на представление плавучки.
И именно DEC явился тем полигоном, на которых эти форматы были испробованы/отработаны и закреплены в международных стандартах.

Сейчас ведь уже легко ответить на вопрос, что лучше — "отлитая из бетона" плавучка в IBM 360/370, или "оставленная на выяснение по ходу пьесы" модель PDP-11/VAX?

Принятый в IBM 360/370 формат и соотв. правила оперирования им уступали более поздним разработкам, но!
Система команд IBM 360/370 никак не опиралась на формат плавучки, т.е. этот формат мог быть доработан позже, а программы пересобраны из исходников.


N>Я бы понял, если бы ты похвалил режимы адресации в PDP-11, возможность подстановки произвольной константы естественным образом, но не это...


Не надо спекуляций, плиз. ))
Слово "ортогональность" включает в себя и это всё тоже.


V>> усложняло компиляторы, замедляло конечный бинарник множественными пересылками м/у специализированными регистрами,

N>Не было там много пересылок, если заранее адекватно распределить регистры.

Да не распределишь ты никак ни ручками, ни компилятором.
Откомпиллируй любой сниппет под 8086 — сплошные mov м/у регистрами.
Сравни с 68k.


V>> зачастую аж через пары push/pop и т.д. и т.п.

N>Это зачем?

А это уже регистров не хватает, их ведь всего 4 якобы общего назначения, а по факту они же безальтернативно дёргаются в целом ряде операций.
И эти пары push/pop никакое переименование регистров в Pentium-Pro не оптимизирует.


V>>Плохо то, что они не взяли для персоналки архитектуру DEC PDP-11, наверно не договорились или еще что-то эдакое не очень умное (тот самый оскал идиотизма кап.мира, бгг...)

N>Да потому, что последнему ежу и в самой DEC было понятно, что это тупиковая ветка.

Ес-но!
Но персоналки на 32-битных процах стоили бы неприлично дорого тогда.
Разумеется, любая 16-тибитная архитектура была бы временной.

Просто у IBM была своя 32-битная, и они вовсю разрабатывали персоналки на ней уже тогда, но и PDP-11 уже породил 32-битный VAX.

Сдаётся мне, что дело было только в этом — IBM сделала ставку на невзрачную Intel, бгг...
А та их потом натянула по самые ягодицы... Да и весь мир тоже.


N>Вот и имели PDP-11, которая уже ничего не тянула


Вообще-то, работала быстрее первых IBM PC/XT.


N>а вслед взамен VAX, которая была для персоналки слишком дорогая — и ни одного переходного состояния.


Повторюсь, 16 бит выглядели осознанным компромиссом уже тогда, поэтому ведущие игроки планировали будущую жизнь 32 бит.


N>А рядом всякие кошмары типа 6502 и 6800.


68k был выпущен в 1979-м, а IBM PC/XT в 1983-м.

Вот так и получилась та забавная конкуренция, где Маки выигрывали за счёт более продвинутого процессора, но проигрывали гибкой шинной архитектуре IBM PC. ))


V>>IBM создала своего убийцу -

N>Если "убийца" был создан — то открытостью IBM PC, а не действиями Intel.

Intel умудрилась разработать i386/i486 и мир более никогда не был прежним. ))



V>>Про угробленные миллионы строк готового ПО для архитектур IBM 360/370 и PDP-11 и говорить не приходится...

V>>Просто мега-диверсия...

N>S/360 — что там ценить? Весь кошмар раннего легаси с JCL? В сад. Всё, что имело смысл переносить — перенесли.

N>PDP-11 — аналогично, назови-тко что-то важное, что действительно потеряли...

Конечно, пришлось портировать, потратить кучу трудоёмкости.
UNIX System III — это целиком и только PDP-11 и VAX.
На нём же была разработана ставшая мировым стандартом UNIX System V.

BSD UNIX — изначально тоже только PDP-11 и VAX.

И что мы поимели в итоге?

Сначала через ошибку IBM произошла аккумуляция денег у Intel, та разорила другие архитектуры.
Эта же IBM выкормила c 0-ля Microsoft для этой новой архитектуры, где было шаром покати — никакого ПО.

Эти чудики сожрали миллиарды денег человечества, обнулив предыдущие труды.
В итоге мы всё-равно перешли на серверах опять к UNIX (только уже выращенном изначально на x86-й архитектуре, ес-но!)

Во встраиваемой технике каждый третий проц был MIPS (хотя изначально RISC-процессор, но наследник философии VAX и 68к), туда же близкий по философии ARM, который из-за Apple получил буст в смартфонах (убив в них же MIPS, бгг), но в любом случае, Intel-архитектура всё активнее с клиента вытесняется...

Ретроспективно хорошо видно, что когда-то произошёл "поворот не туда", выкинуты триллионы баксов, а сейчас мы просто возвращаемся к корням. ))


V>>Похоже, в IBM расчитывали, что несерьёзные x86 персоналки еще не скоро догонят мейнфреймы по вычислительной мощности, что у них будет фора при разработке в микропроцессорном виде своей архитектуры, которая придёт на замену 16-битной от Intel,

N>У этой архитектуры было название? Это POWER или другое?

Так и называлось ))

The Personal/370 was available as early as November 1989

The Personal/370 (aka P/370), a single slot 32-bit MCA card that can be added to a PS/2 or RS/6000 computer to run System/370 OSs (like MUSIC/SP, VM, VSE) parallel to OS/2 (in PS/2) or AIX (in RS/6000) supporting multiple concurrent users. It is a complete implementation of the S/370 Processor including a FPU co-processor and 16 MB memory. Management and standard I/O channels are provided via the host OS/hardware. An additional 370 channel card can be added to provide mainframe-specific I/O such as 3270 local control units, 3400/3480 tape drives or 7171 protocol converters.

Although a single-card product, the P/370 ran three times faster than the 7437, attaining 3.5 MIPS, on par with a low-end IBM 4381.
A subsequent book (by the same author) claims 4.1 MIPS for the P/370.

Исполнение IBM/370 проца в одночиповом виде.

The IBM 4381 Processor is one of the most powerful and versatile intermediate system processors ever produced by IBM. Its system capabilities enable the 4381 to address an expanded range of user requirements in addition to providing growth for users of smaller, intermediate system processors.


V>>- бинарник всё так же был излишне раздут из-за большой доли команд внутрирегистровых пересылок; для сравнения, те же самые программы, скомпиллированные под MC6800,

N>6800 или 68000?

68к


V>>рождали до четверти меньший бинарник

N>14 общих регистров вместо 6.

Де-факто 8 полноценных общего плана регистров вместо 4-х у 8086, и нет ограничений на специализацию.
И лишние push-pop зачастую не нужны, т.к. доступные 6 адресных регистров тоже вполне себе юзабельны для временного хранения данных и большинства вычислений.
Отредактировано 18.09.2023 14:54 vdimas . Предыдущая версия . Еще …
Отредактировано 18.09.2023 14:48 vdimas . Предыдущая версия .
Отредактировано 18.09.2023 14:44 vdimas . Предыдущая версия .
Отредактировано 18.09.2023 14:40 vdimas . Предыдущая версия .
Re[4]: История компьютеров в СССР
От: vdimas Россия  
Дата: 18.09.23 13:58
Оценка: +1
Здравствуйте, pagid_, Вы писали:

V>>Как мини-ЭВМ DEC.

V>>В микропроцессорном и одноплатном виде впервые эта архитектура была выполнена в СССР.
_>Да ладно а LSI-11 что такое?

Проц состоит из нескольких микросхем (защитники этой разработки говорят, что 2 микросхемы, на самом деле 3, без которой эти 2 не работают).


_>А вот чисто наш 1801ВМ, да, однокристальный.


Именно.


LVV>>>Во второй половине 80-х уже были вполне годные ДВК-3 и чуть позже двк-4.

_>Да, но к тому времени до клонов IBM/PC им уже далеко.

На уровне первых 286-х IBM/AT, т.е. резко лучше IBM/XT.

На самом деле, бодаться было уже бесполезно из-за i386-го, а так-то у нас чуть позже были версии, сравнимые с поздними 286-ми.

Наверно, тут бесполезно рассуждать о социализме vs капитализме, потому что это была достойная полностью своя разработка СССР на самом высоком мировом уровне (если брать для сравнения любых других ведущих игроков, кроме Intel).

Но так совпало, что Intel аккумулировала ср-ва со всего мира и родила i386 (чуть позже i486) явно раньше срока. ))
(быстродействие проца существенно опережало быстродействие перефирии и даже RAM, что не позволяло этим процам "раскрыться", зато позволило крупно навредить всем остальным)

Пострадал из-за этого не только СССР — медным тазом (или прямее — п#$дой) накрылась вся существующая до этого IT-отрасль, которая оказалась (что забавно) откинута более чем на десятилетие назад.
Забавно тут то, что причиной откидывания отрасли назад послужила опережающая время разработка.

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

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

Область супервычислений, область мейнфреймов умерла не по той причине, что человечество не умеет разрабатывать суперкомпьютеры...
Человечество умеет, конечно. Как минимум умело раньше. ))

По другой причине — потому что эту область тупо оставили без ср-в к существованию в течении 20+ лет.
Старые наработки умерли, а новым непонятно как возникать.
Компетенции передавать тоже некому стало.

Современные суперкомпьютеры в своей архитектуре — курам на смех, живот порвать от хохота — попытка заставить работать одновременно кучу процов из мира персоналок, используя для их внутренней связи сетевые технологии, разработанные для внешнего IO.
Идиотизм? — конечно, причём, даже не планетарного, а галактического масштаба! ))

Что там Intel мямлит про свои серверные процы?
Они такие же серверные, как я птеродактиль. ))
В лучшем случае тянут на персональные рабочие станции.

Теперь весь этот путь, который IT проходила в 60-х и до середины/конца 80-х надо проходить заново.
Отредактировано 18.09.2023 15:00 vdimas . Предыдущая версия .
Re[4]: История компьютеров в СССР
От: vdimas Россия  
Дата: 18.09.23 14:11
Оценка: +1
Здравствуйте, Michael7, Вы писали:

V>>В этом плане разработчикам IBM можно натурально поставить памятник — они показали, какой может быть персоналка "промышленного масштаба", способная покрыть огромное кол-во задач и успешно живущая десятки лет.

M>Спустя годы мне кажется, что выигрыш тут вообще почти случайный получился. У персоналок было другое: невиданная до того открытость

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

Это всё наработки из мира больших машин, но IBM принесла эти наработки в маленькую машину и получила успех.
В принципе, всё логично.

А случайным во всём этом был, разве что, выбор неудачного 8086-проца — привет поклонникам кап.модели. ))


M>Где-то в западном мире Клайв Синклер бы быстро засудил клоноводов, но у нас проблем с ними не было и поздние клоны умудрились сильно развить оригинальные архитектуры, появились машинки с более 1Мб памяти и другими расширениями.


Это всё происходило в 90-92-х годах из-за развала и бедности, т.е. по принципу "на безрыбье сам раком встанешь".
Уже при СССР поняли, что проспали эпоху 8-битных персоналок и сразу делали 16-битные.

Конечно, какие-нить компы на Motorola 68000, типа Amigo, Atari и прочие были бы круче-интересней, но рубль стал стоить 25 центов, это стало дорого.
А так-то на этом проце были наши успешные разработки:
https://ru.wikipedia.org/wiki/%D0%91%D0%B5%D1%81%D1%82%D0%B0_(%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80)


M>В итоге конечно тупик получился, потому что из Z80 выжали все что можно и даже сверх в несколько раз, но если бы пошло развитие процессоров, то вот и мог бы вырасти спектрумовский ряд.


Не мог, там выжали всё что можно еще до середины 80-х.
Сами же Синклеры тогда делались уже не на Z80, а именно на серии 68k. ))
Как и Маки.


M>Оригинальным же IBM PC никогда не планировали очень долгую жизнь. Если что это была не первая попытка IBM выйти на рынок персоналок и даже не последняя. Мало кто вспомнит, но была у IBM еще линия IBM RT PC — персоналки на RISC процессоре от IBM https://en.wikipedia.org/wiki/IBM_RT_PC


Это уже поздние разработки и поезд уже ушёл.
Они по-глупости отдали курицу, несущую золотые яйца, дилетантам из Intel.
Re[5]: История компьютеров в СССР
От: vdimas Россия  
Дата: 18.09.23 14:21
Оценка:
Здравствуйте, pagid_, Вы писали:

_>ZX Spectrum в СССР в развитии отрасли сыграл очень побочную роль — вызвал интерес к теме у некоторой части будущих специалистов. Все. И к слову, я в жизни таких не встречал, хотя здесь, насколько понимаю их немало.


В основном кто в 89..92-е года заканчивал школу, только этот срез будущих специалистов их массово паял/чинил, бо это же возможность тупо поиграть!
А потом втягиваешься во всю эту возню с паяльником и процами. ))

Более старшим оно было менее интересно.
А к 93-му тема окончательно заглохла, бо границы стали совсем дырявыми и массово пошла IBM PC-совместимая б/у техника со всего мира.


_>У них была не одна попытка, еще пытались что-то там на Power PC состряпать, да и PS/2 можно рассматривать тоже как попытку закрыть архитектуру. Но поздно уже было.


+1
Поезд уже ушёл.


_>И у Интела были попытка, причем гораздо более ранняя — APX 432


Интересная разработка, но тоже не в ту степь.
В этой архитектуре не было намёток ни на будущий защищенный режим (а он уже был у некоторых архитектур), ни на виртуализацию (у некоторых архитектур был давно) и т.д. и т.п.

Плюс двухчиповое исполнение, хотя сама архитектура заведомо просится во встраиваемое ПО.
В общем, заведомо кривое позиционирование из-за невозможности на том уровне технологий реализовать задумку в адекватном для задумки железе.
Re[5]: История компьютеров в СССР
От: pagid_ Россия  
Дата: 18.09.23 14:31
Оценка: +1
Здравствуйте, vdimas, Вы писали:

V>Проц состоит из нескольких микросхем (защитники этой разработки говорят, что 2 микросхемы, на самом деле 3, без которой эти 2 не работают).

Одноплатный вариант был а твоих требованиях

V>На уровне первых 286-х IBM/AT, т.е. резко лучше IBM/XT.

Не, ДВК если и можно сравнивать с IBM/XT то, с самым начальным вариантом с 64К памяти

V>На самом деле, бодаться было уже бесполезно из-за i386-го, а так-то у нас чуть позже были версии, сравнимые с поздними 286-ми.

Ну как, после сделали сделали же микропроцессорную версию VAX-11 , доводили вроде как уже в начале 90-х. Где-то в оборонке вроде как использовалась.

V>....

ментальный мусор пропущен.
Re[6]: История компьютеров в СССР
От: vdimas Россия  
Дата: 18.09.23 15:15
Оценка:
Здравствуйте, pagid_, Вы писали:

V>>Проц состоит из нескольких микросхем (защитники этой разработки говорят, что 2 микросхемы, на самом деле 3, без которой эти 2 не работают).

_>Одноплатный вариант был а твоих требованиях

В микропроцессорном и одноплатном виде

Согласен, выразился некорректно:

Микропроце́ссор — процессор (устройство, отвечающее за выполнение арифметических, логических операций и операций управления, записанных в машинном коде), реализованный в виде одной микросхемы[1] или комплекта из нескольких специализированных микросхем

Я имел ввиду однокристальный микропроцессор.


V>>На уровне первых 286-х IBM/AT, т.е. резко лучше IBM/XT.

_>Не, ДВК если и можно сравнивать с IBM/XT то, с самым начальным вариантом с 64К памяти

Вменяемые массово пошли ДВК-3м
http://itmuseum.psu.ru/?page_id=464

Сам работал на таких, IBM XT и рядом не валялись.
Re[5]: История компьютеров в СССР
От: vdimas Россия  
Дата: 18.09.23 16:10
Оценка:
Здравствуйте, netch80, Вы писали:

V>>EC 1033, являясь по архитектуре аналогом IBM 370/145,

N>1033 — это 360, а не 370.
N>С чем ты её путаешь? 1035?

Ага, путаю: https://pastvu.com/p/1310241

Стояла ЕС-1035.


V>>По сравнению даже с i386-м примерно в 20-100 раз быстрее обсчитывал математику с плавающей точкой (в зависимости от типа задач).

V>>Устаревшими эти машины сделал i486-й,
N>i486 был, считаем, до 3 раз быстрее i386. А ты говоришь — "в 20-100 раз быстрее". Не сходится.

Первые версии i486 были до 5-ти раз быстрее первых версий i386-х.

i386, напомню, шёл со внешним сопроцессором, без которого плавучка страдала на полтора-два порядка, а первые i486-е (они вышли со встроенным сопроцессором, SX-версии без оных появились позже) были примерно вчетверо быстрее актуальных i386-х с сопроцессором на плавучке.
Re[4]: История компьютеров в СССР
От: vdimas Россия  
Дата: 18.09.23 16:17
Оценка:
Здравствуйте, pagid_, Вы писали:

_>Принимавшие решение о копировании все это прекрасно понимали, как и надеялись на прогресс советской электроники.


Да, просто взяли готовый стандарт.


_>Теперешние его критики просто наивны и не понимают ту ситуацию.


Критики часто не понимают, что разработка не была скопирована, а была совершена с 0-ля по готовой спецификации команд и самой общей архитектуры.
(отличия в архитектуре в наших разработках хватало)


_>З.Ы. Прогресса в электронике на который надеялись принимавшие решение в полной мере достичь не удалось


Одно время удалось, 155-я серия была разработана изначально для реализации ЕС ЭВМ, но породила всю линейку 155 => 531/555 => 1531/1533 и т.д.

А потом постепенно уменьшали финансирование.
Об этом пишется на всех углах, кстате. ))
Re[6]: История компьютеров в СССР
От: vdimas Россия  
Дата: 18.09.23 16:28
Оценка:
Здравствуйте, pagid_, Вы писали:

M>>А может наоборот, как ни парадоксально, но затормозили развитие электроники, потому что чуть ли не главным требованием стало, чтобы новые микросхемы имели зарубежный аналог.

_>155 серия и её продолжения появились вовсе не из-за необходимости применения в ЕС

Вообще-то, именно для EC и зафорсили чуть ли не всю таблицу аналогов 155-й серии. ))
Потом добивали недостающие аналоги уже в 531-й и 555-х сериях, а некоторые аж в 1533.

Но так-то есть их микросхемы без наших аналогов и наши без их аналогов.
"Стандартизация" коснулась тлько самой базовой логики.
Отредактировано 18.09.2023 19:42 vdimas . Предыдущая версия .
Re[5]: История компьютеров в СССР
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 18.09.23 16:29
Оценка:
Здравствуйте, vdimas, Вы писали:

V>>>Более убогой, непоследовательной, проблемной в программировании

N>>С чем именно сравниваешь из 16-битных? С PDP-11, что ли?
V>Да, как наиболее популярной 16-битной.

Именно из-за её тупиковости она непригодна к сравнению.

V>Но можно сравнить с MC68000, которая была разработана с оглядкой на PDP-11 или позже MIPS.

V>Принципы, легшие в основу PDP-11, были сохранены.

И во многом как раз из-за этого она и умерла.
Даже для x86 сделать полноценный OoO стоило настолько дорого, что Intel это осилил только тогда, когда на него свалился дождь золота за ASCI Red. Это при том, что x86 по сравнению с PDP-11 это полу-RISC в том смысле, что не более одного аргумента в памяти. А вот 68k намеренно накачивали по максимуму CISC-фичами — всеми этими 100500 преавтодекрементными адресациями.
Да, это было сильно позже — последний из 68k общего назначения вышел в 1994. Но мины под будущее были заложены ещё при начальном проектировании.

N>>Ага, только в PDP-11 вообще возможности выйти за пределы 64KB не было.

V>Оверлеи.

Пригодны для любой архитектуры — и представляют себе мегатонны гимора для использования.

V>У нас в ВУЗ-е была машинка с 2 МБ оперативки, а 4 было стандартом во второй половине 70-х.


4MB во второй половине 70-х? Не смеши. 256KB, 512KB — верю. 4MB — нет. К этому уровню модели верхнего уровня у нас дошли лет на 10 позже, как раз ко всеобщему развалу.

Ну и эту оперативку заюзать в одном процессе можно было только через банки и оверлеи, а это даже для того времени уже паршивенько.

N>>(I/D разделение в старших моделях не в счёт, 8086 хотя бы давал сегментные префиксы.)

V>Что давало ограничение сверху 1 МБ.

128KB если один процесс. Ты странно считаешь, мягко говоря.

N>>И вообще-то в far (а не huge) модели сравнивать указатели с разными сегментами просто не было разрешённым и осмысленным действием.


V>Это ты уже подзабыл за давностью лет. ))

V>Если у тебя размер массива был более 64к байт, то начинались пляски с бубном при его итерации и сравнении указателей.

И использовать такой массив можно было только в huge модели с huge указателями, а не far.

N>>Так что проблема была только у кулхацкеров.

V>Проблема была даже в представлении таблицы переходов грамматики — вместо указателей приходилось использовать индексы, чтобы ужаться в 2-байтное представление, из которого каждый божий раз надо было ручками рожать FAR-указатель.

V>Почему ручками?

V>Потому что простое сишное преобразование целочисленного значения в указатель (вычисляемый фактический адрес) просто реинтерпретировало бинарное 4-байтное представление, без вычислений базы и смещения.

Да помню я эти FP_SEG, FP_OFF, MK_FP. Но см. выше.

V>>> неизоморфность файлов регистров, хорошо подходящая для краткого кода 8-битных вычислений, но проявила себя отвратительно для 16-битных вычислительно-нагруженных сценариев -

N>>И снова — что именно и с чем сравниваем?
V>C мейнстримом: PDP-11, MC68k.
V>Для IBM PC любой из них подошёл бы несравненно лучше.

M68k ещё как-то согласен. PDP-11 — нет и нет.

N>>Базовые вычислительные операции в 8086 (не 8080) можно было делать между любыми целочисленными регистрами, или ты забыл?

V>Да какие "любые"? ))
V>По-факту, в свободном доступе у нас только 4 регистра: A, B, C, D (префиксы-суфиксы E-X опускаю)

Я не понимаю, почему ты пропускаешь SI и DI. Это для целочисленных операций полноценные регистры.

V>ОК, готов смириться со специальными индексными, базовым, стековым, но когда многие команды автоматом задевают упомянутые 4 — это уже беспредел.


И сколько таких многих?
Умножение (не на константу), деление, расширение знака, сдвиги (не на константу). В основном наборе — это всё.
Что ещё? BCD? Нужно раз в десятилетие. IN, OUT? Это не основной набор.

V>По каждой такой команде необходимо помнить, какие регистры она неявно трогает (в каких регистрах надо подготовить данные и откуда потом забирать).

V>В других асмах неявно дёргается разве что аккумулятор/флаги, остальное указывается явно — код быстро пишется и легко читается .

Это уже особенности стиля, да. Я так и не запомнил, где cwd, где cwde (для AT&T — cltq и clto). Лучше бы их писали в стиле <sexti куда, откуда> и <esxto куда, откуда>, даже если куда и откуда фиксированы.

V>В общем, ASM 8086 — это всегда было отдельной вселенной.

V>Недостаточно быть "просто крутым ассемблерщиком", надо быть спецом именно по этой архитектуре и... полностью бесполезным для других.
V>И обратное тоже где-то верно.

Нет, общие принципы сохраняются.

V>Один этот фактор уже указывает на чудовищную ошибку проектирования — для того же уровня программ для 8086 требуется в РАЗЫ больше затрат труда/внимательности программиста.


V>Но!

V>Инженеры Intel не дебилы, конечно, просто им именно так и поставили задачу — дать максимальную совместимость с имеющимся кодом для 8080!
V>И что самое смешное — эта совместимость по-факту оказалась ни разу не востребованной.
V>Но от лишнего наложенного тогда ограничения корёжит всю IT отрасль до сих пор...

V>В общем, я что студентом недоумевал/возмущался, что эта кретиническая архитектура постепенно завоёвывает рынок, что сейчас уже машу рукой, но мнение не поменялось, конечно.


Я их кретинизм вижу совсем в другом и это не 086, это минимум 286 и дальше.
DAT без лёгкого выключения. Безумные шлюзы прерываний. Сегментация внутри виртуального пространства вместо индексации таких пространств (как сделала та же IBM). И т.д. Но уже возможность использовать любой регистр как адресный в 32-битном режиме исправила заметные проблемы.

V>Сейчас разрабатывать оптимизирующие компиляторы под эту архитектуру стало намного легче, конечно, ведь ADM64 узаконил доп. файл векторных регистров — теперь оптимизирующие компиляторы "почему-то" охотно используют именно их даже не в векторных операциях, бгг...


Ну вообще-то SSE предназначен был и для замены x87...

V>Но дело-то не в компиляторах, ес-но, а в людях, их разрабатывающих.

V>Людям банально проще мыслить в ортогональной архитектуре, это непреодолимый человеческий фактор.
V>Вот когда ИИ сам научится разрабатывать оптимизирующие компиляторы, то ему, конечно, будет пофик на кучу тонкостей по каждому регистру, которые (тонкости) всегда необходимо держать в уме. А сегодня имеем что имеем. ))

Сейчас пишут всякие универсальные распределители. И чем бы тут ИИ помог?

N>>Деление — и так чудовищно дорогая операция всегда. (И снова пары регистров в PDP-11. Ну да, три вместо одной, но часто тебе делить приходится на разных парах одновременно?)

V>При вычислении любой формулы — всегда, считай.
V>Просто сравни с 68к.
V>Представь этот же код для 8086 — появятся лишние команды тусования данных по регистрам или в стек и обратно.

Представил. Всё равно мало таких операций.

N>>Плавучка? Ты с чем тогда в PDP-11 сравниваешь? FIS стековый, а FPP дорогой и редкий. Даже ранний IEEE754 в стековом 80x87 лучше плавучки PDP-11. Не зря в VAX позже добавили IEEE плавучку.


V>На PDP-11 и VAX отработали несколько моделей внешних ускорителей с плавучкой — система команд никак не влияла на представление плавучки.

V>И именно DEC явился тем полигоном, на которых эти форматы были испробованы/отработаны и закреплены в международных стандартах.

IEEE был отработан на DEC? Дай ссылку.

V>Сейчас ведь уже легко ответить на вопрос, что лучше — "отлитая из бетона" плавучка в IBM 360/370, или "оставленная на выяснение по ходу пьесы" модель PDP-11/VAX?


Что там могли оставить на выяснение, если для конкретной команды формат был фиксирован? Ты не расширишь это без добавления нового слоя команд.

V>Принятый в IBM 360/370 формат и соотв. правила оперирования им уступали более поздним разработкам, но!

V>Система команд IBM 360/370 никак не опиралась на формат плавучки, т.е. этот формат мог быть доработан позже, а программы пересобраны из исходников.

См. выше.
И что значит "никак не опиралась" при наличии, например, ненормализующих команд?

N>>Я бы понял, если бы ты похвалил режимы адресации в PDP-11, возможность подстановки произвольной константы естественным образом, но не это...


V>Не надо спекуляций, плиз. ))

V>Слово "ортогональность" включает в себя и это всё тоже.

То-то на современных RISC ортогональность по регистрам — почти полная, а вот подставить в любую команду константу или чтение памяти — дзуськи.

V>>> усложняло компиляторы, замедляло конечный бинарник множественными пересылками м/у специализированными регистрами,

N>>Не было там много пересылок, если заранее адекватно распределить регистры.
V>Да не распределишь ты никак ни ручками, ни компилятором.
V>Откомпиллируй любой сниппет под 8086 — сплошные mov м/у регистрами.
V>Сравни с 68k.

И снова — боюсь, вопрос в их количестве.
Ну или покажи где это испытать можно. Какой аналог godbolt умеет 8086 и M68k?

V>>> зачастую аж через пары push/pop и т.д. и т.п.

N>>Это зачем?
V>А это уже регистров не хватает, их ведь всего 4 якобы общего назначения, а по факту они же безальтернативно дёргаются в целом ряде операций.

6. AX, BX, CX, DX, SI, DI. См. выше.

V>И эти пары push/pop никакое переименование регистров в Pentium-Pro не оптимизирует.


Разве?

V>>>Плохо то, что они не взяли для персоналки архитектуру DEC PDP-11, наверно не договорились или еще что-то эдакое не очень умное (тот самый оскал идиотизма кап.мира, бгг...)

N>>Да потому, что последнему ежу и в самой DEC было понятно, что это тупиковая ветка.

V>Ес-но!

V>Но персоналки на 32-битных процах стоили бы неприлично дорого тогда.
V>Разумеется, любая 16-тибитная архитектура была бы временной.

V>Просто у IBM была своя 32-битная, и они вовсю разрабатывали персоналки на ней уже тогда, но и PDP-11 уже породил 32-битный VAX.


V>Сдаётся мне, что дело было только в этом — IBM сделала ставку на невзрачную Intel, бгг...

V>А та их потом натянула по самые ягодицы... Да и весь мир тоже.

Тут таки интересно, почему не сделали для неё однокристальный 360.
С доработкой пары аспектов могла бы чудесно взлететь.

N>>Вот и имели PDP-11, которая уже ничего не тянула

V>Вообще-то, работала быстрее первых IBM PC/XT.

По скорости — только потому, что 8086 был спроектирован ужасно и даже NOP занимал 4 такта, а уж что-то сложнее в 10-20 вылезало с ходу. Зато увидев успех, решили исправить узкое место — 286 уже был сильно быстрее.

А вот по адресации памяти PDP-11 побить это не могла. DAT в режиме поклейки обоев через замочную скважину — не то, что долго работает. Даже кривоватый 20 бит тут уже лучше.

N>>а вслед взамен VAX, которая была для персоналки слишком дорогая — и ни одного переходного состояния.

V>Повторюсь, 16 бит выглядели осознанным компромиссом уже тогда, поэтому ведущие игроки планировали будущую жизнь 32 бит.

Вот 8086 был чудесным компромиссом с этой точки зрения.

N>>S/360 — что там ценить? Весь кошмар раннего легаси с JCL? В сад. Всё, что имело смысл переносить — перенесли.

N>>PDP-11 — аналогично, назови-тко что-то важное, что действительно потеряли...

V>Конечно, пришлось портировать, потратить кучу трудоёмкости.

V>UNIX System III — это целиком и только PDP-11 и VAX.
V>На нём же была разработана ставшая мировым стандартом UNIX System V.

Я что-то сомневаюсь, что подходы осей S/370 (без виртуализации) было бы сложно перенести на VAX.
Проблема не в них, а во всех этих извращениях типа JCL и ОТМД.

V>Сначала через ошибку IBM произошла аккумуляция денег у Intel, та разорила другие архитектуры.

V>Эта же IBM выкормила c 0-ля Microsoft для этой новой архитектуры, где было шаром покати — никакого ПО.
V>Эти чудики сожрали миллиарды денег человечества, обнулив предыдущие труды.
V>В итоге мы всё-равно перешли на серверах опять к UNIX (только уже выращенном изначально на x86-й архитектуре, ес-но!)

Сейчас тебе куча народу тут расскажет, где они видели те сервера на UNIx

V>Во встраиваемой технике каждый третий проц был MIPS (хотя изначально RISC-процессор, но наследник философии VAX и 68к),


В чём это он их наследник? У него всё иное.
Я бы понял, если бы ты ARM вспомнил — у него хотя бы NZVC и автоинкремент/декремент регистров. Но MIPS — смешно. Это же чистый RISC.

V>The Personal/370 was available as early as November 1989


На 10 лет позже чем нужно. Я ж говорю — надо было S/360 загнать на одну микруху.

V>>>рождали до четверти меньший бинарник

N>>14 общих регистров вместо 6.
V>Де-факто 8 полноценных общего плана регистров вместо 4-х у 8086, и нет ограничений на специализацию.
V>И лишние push-pop зачастую не нужны, т.к. доступные 6 адресных регистров тоже вполне себе юзабельны для временного хранения данных и большинства вычислений.

Вот именно что если добавить A0-A6 для заметной части операций — и получается 15 (я писал 14).
Но чтобы их полноценно грузить — тоже будет пачка move
И прямо над памятью могли работать почти все те же, что A*.
Много регистров — это много регистров.
The God is real, unless declared integer.
Re[5]: История компьютеров в СССР
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 18.09.23 16:36
Оценка:
Здравствуйте, vdimas, Вы писали:

V>>>Как мини-ЭВМ DEC.

V>>>В микропроцессорном и одноплатном виде впервые эта архитектура была выполнена в СССР.
_>>Да ладно а LSI-11 что такое?

V>Проц состоит из нескольких микросхем (защитники этой разработки говорят, что 2 микросхемы, на самом деле 3, без которой эти 2 не работают).


Ну я бы приравнял это к однокристальному варианту по сути. Их ведь не 100, и разделение явно не по принципу "микруха на 2 бита данных".

V>Т.е. вот тебе минус кап.модели — некий один случайный выскочка, не имеющий достаточной компетенции в построении мейнфреймовых процов, сосредоточил на себе чуть ли не всю мировую процессорную выручку, загубив этим кучу направлений, которые стали нужны уже через десяток лет.




V>А этот выскочка никаких вменяемых решений через десяток лет так и не дал.

V>Он их дал аж в конце нулевых, а до этого в мировой инфраструктуре как безвременье какое-то...

V>Область супервычислений, область мейнфреймов умерла не по той причине, что человечество не умеет разрабатывать суперкомпьютеры...

V>Человечество умеет, конечно. Как минимум умело раньше. ))

V>По другой причине — потому что эту область тупо оставили без ср-в к существованию в течении 20+ лет.


Что ты называешь супервычислениями?

V>Современные суперкомпьютеры в своей архитектуре — курам на смех, живот порвать от хохота — попытка заставить работать одновременно кучу процов из мира персоналок, используя для их внутренней связи сетевые технологии, разработанные для внешнего IO.

V>Идиотизм? — конечно, причём, даже не планетарного, а галактического масштаба! ))

Какая альтернатива?

V>Что там Intel мямлит про свои серверные процы?

V>Они такие же серверные, как я птеродактиль. ))
V>В лучшем случае тянут на персональные рабочие станции.

А кто реально серверный сейчас?
SystemZ?
The God is real, unless declared integer.
Re[6]: История компьютеров в СССР
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 18.09.23 16:38
Оценка:
Здравствуйте, vdimas, Вы писали:

V>>>EC 1033, являясь по архитектуре аналогом IBM 370/145,

N>>1033 — это 360, а не 370.
N>>С чем ты её путаешь? 1035?
V>Ага, путаю: https://pastvu.com/p/1310241
V>Стояла ЕС-1035.

Ну это похоже на правду.

V>>>По сравнению даже с i386-м примерно в 20-100 раз быстрее обсчитывал математику с плавающей точкой (в зависимости от типа задач).

V>>>Устаревшими эти машины сделал i486-й,
N>>i486 был, считаем, до 3 раз быстрее i386. А ты говоришь — "в 20-100 раз быстрее". Не сходится.
V>Первые версии i486 были до 5-ти раз быстрее первых версий i386-х.

Всё равно не 20. В чём причина устарелости? Дешевле стали?
The God is real, unless declared integer.
Re[5]: История компьютеров в СССР
От: pagid_ Россия  
Дата: 18.09.23 17:01
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Критики часто не понимают, что разработка не была скопирована, а была совершена с 0-ля по готовой спецификации команд и самой общей архитектуры.

Ну да, схемотехника не копировалась, и тем более нет точного соответствия по моделям.

V>Одно время удалось, 155-я серия была разработана изначально для реализации ЕС ЭВМ, но породила всю линейку 155 => 531/555 => 1531/1533 и т.д.

155 серия это 133 серия в DIP-корпусах, более широкая конечно по номенклатуре, а 133-ю начали разрабатывать для 5Э26 — ПВО-шной ЭВМ.
Re[6]: История компьютеров в СССР
От: vdimas Россия  
Дата: 18.09.23 18:57
Оценка: +1
Здравствуйте, netch80, Вы писали:

N>Даже для x86 сделать полноценный OoO стоило настолько дорого, что Intel это осилил только тогда, когда на него свалился дождь золота за ASCI Red.


Дык, я ж и говорю, что все деньги подгребли под себя гаврики без соотв.компетенции:

The first machine to use out-of-order execution was the CDC 6600 (1964)
...
About two years later, the IBM System/360 Model 91 (1966) introduced register renaming with Tomasulo's algorithm,[6] which dissolves false dependencies (WAW and WAR), making full out-of-order execution possible.



N>Это при том, что x86 по сравнению с PDP-11 это полу-RISC в том смысле, что не более одного аргумента в памяти. А вот 68k намеренно накачивали по максимуму CISC-фичами — всеми этими 100500 преавтодекрементными адресациями.


Это легко реализуется и в RISC, бо логика простейшая, что и показал ARM.

Плюс оно же прекрасно обыгрывается не только через OoO, но и через спекулятивное исполнение с отбрасыванием проигравших веток вычислений, как в Эльбрусе.


N>Да, это было сильно позже — последний из 68k общего назначения вышел в 1994. Но мины под будущее были заложены ещё при начальном проектировании.


Да там "мина" была только в том, что Apple проиграла конкуренцию IBM/PC, из-за чего Motorola не имела достаточных денег на дальнейшее развитие среди топа процов.
88k был сырым-провальным.


V>>У нас в ВУЗ-е была машинка с 2 МБ оперативки, а 4 было стандартом во второй половине 70-х.

N>4MB во второй половине 70-х? Не смеши. 256KB, 512KB — верю. 4MB — нет.

У них было.
У нас 2 метра на машинке конца 70-х.


N>К этому уровню модели верхнего уровня у нас дошли лет на 10 позже, как раз ко всеобщему развалу.


Ерунду какую-то говоришь. ))


N>>>(I/D разделение в старших моделях не в счёт, 8086 хотя бы давал сегментные префиксы.)

V>>Что давало ограничение сверху 1 МБ.
N>128KB если один процесс. Ты странно считаешь, мягко говоря.

Ты опять ерунду говоришь, мягко говоря.
Сегментная адресация добавляет 4 разряда к 16-ти.
Я мог адресовать из свой программы ровно 1 метр памяти (если он там был). ))


V>>Это ты уже подзабыл за давностью лет. ))

V>>Если у тебя размер массива был более 64к байт, то начинались пляски с бубном при его итерации и сравнении указателей.
N>И использовать такой массив можно было только в huge модели с huge указателями, а не far.

Не, huge модель тормозила безбожно, и поэтому была практически невостребованной, бо там перевод формата адреса на каждый чих.

Нам хватало 64к элементов массива (и даже намного меньше), но это намного больше 64к байт памяти (хранятся структуры по-значению).
Ссылаться напрямую на элементы (элементы выстроены в двунаправленный граф) — это аж 4 байта, перерасход памяти!
Дешевле было ссылаться по индексу.

Далее.
Итерировать такой массив быстрее всего было ручками, пробегаясь по сегментам и смещениям в двух вложенных циклах.
Я это и имел ввиду — геммор. ))


V>>Проблема была даже в представлении таблицы переходов грамматики — вместо указателей приходилось использовать индексы, чтобы ужаться в 2-байтное представление, из которого каждый божий раз надо было ручками рожать FAR-указатель.

V>>Почему ручками?

Потому что непосредственное манипулирование сегментным регистром и смещением намного эффективнее, чем рождаемый компилятором код из абстрактного исходника.
Собсно, навыки "битовыжимания" шлифовались когда-то из-за угрёбищности x86-й архитектуры. ))

Плюс, компиляторы тех лет давали периодические баги в huge-адресации, мы сотоварищи нашли минимум 3 тогда, избегали определённых конструкций.


V>>Для IBM PC любой из них подошёл бы несравненно лучше.

N>M68k ещё как-то согласен. PDP-11 — нет и нет.

И как же ДВК-3М шла в базе с 248 кб? ))


N>>>Базовые вычислительные операции в 8086 (не 8080) можно было делать между любыми целочисленными регистрами, или ты забыл?

V>>Да какие "любые"? ))
V>>По-факту, в свободном доступе у нас только 4 регистра: A, B, C, D (префиксы-суфиксы E-X опускаю)
N>Я не понимаю, почему ты пропускаешь SI и DI. Это для целочисленных операций полноценные регистры.

Потому что по ним обычно лежит предвычисленное смещение в памяти — вычисления же молотят содержимое памяти...


V>>ОК, готов смириться со специальными индексными, базовым, стековым, но когда многие команды автоматом задевают упомянутые 4 — это уже беспредел.

N>И сколько таких многих?

Это без которых невозможно программировать в любом случае.


V>>По каждой такой команде необходимо помнить, какие регистры она неявно трогает (в каких регистрах надо подготовить данные и откуда потом забирать).

V>>В других асмах неявно дёргается разве что аккумулятор/флаги, остальное указывается явно — код быстро пишется и легко читается .
N>Это уже особенности стиля, да. Я так и не запомнил, где cwd, где cwde (для AT&T — cltq и clto). Лучше бы их писали в стиле <sexti куда, откуда> и <esxto куда, откуда>, даже если куда и откуда фиксированы.

+1


V>>В общем, ASM 8086 — это всегда было отдельной вселенной.

V>>Недостаточно быть "просто крутым ассемблерщиком", надо быть спецом именно по этой архитектуре и... полностью бесполезным для других.
V>>И обратное тоже где-то верно.
N>Нет, общие принципы сохраняются.

Настолько общие, что на практике требуется несколько дней при очередном подходе к 8086-архитектуре, пока опять в памяти всё не уляжется.
Для других архитектур "освежить навыки" — единицы часов или меньше.

Тут м/у языками высокого уровня когда переключаешься — и то порой некоторое время надо на перенастройку...

А там реально, каждый божий раз после некоторого перерыва раз как в новой области себя пробуешь.
Если уж начистоту, то это где-то даже унизительно.



V>>В общем, я что студентом недоумевал/возмущался, что эта кретиническая архитектура постепенно завоёвывает рынок, что сейчас уже машу рукой, но мнение не поменялось, конечно.

N>Я их кретинизм вижу совсем в другом и это не 086, это минимум 286 и дальше.

Ес-но, я говорю о развитии этого всего в 32 бита в i386-м.
Понятно же, что 16 бит были компромиссом сугубо для персоналок, когда в мейнстриме уже лет 20 было 32 бита в мейнфреймах и уже на тот момент в персональных рабочих станциях.

Как компромисс мы бы еще пережили эти вшивые 16 бит, бо им всё-равно уже маячил конец в середине 80-х...
Но они, собаки, сделали аппаратный режим виртуального 8086-го в i386-м, сделав гладкую возможность исполнять накопленное ранее бестолковейшее 16-битное ПО!
Не забудем, не простим! ))

ПО должно переноситься исключительно на уровне исходников, а не бинарников... а то развели бардак, панимашь...
Приучили к плохому...

Вон, в UNIX всё по-уму сделали еще за 10 лет до, POSIX уже закрепился независимо ни от каких операционок, а им подавай бинарную совместимость.

Идиотизм? — очередной он самый.


N>DAT без лёгкого выключения. Безумные шлюзы прерываний. Сегментация внутри виртуального пространства вместо индексации таких пространств (как сделала та же IBM). И т.д. Но уже возможность использовать любой регистр как адресный в 32-битном режиме исправила заметные проблемы.


Но кодировка инструкций доставляла — инструкции по 5-7 байт...
К лопате присобачили кофеварку, рядом садовые ножницы и вот так вырос этот франкенштейн...
Смотреть на это доставляет профессиональную боль...

Понятно же, что начни они разработку с 0-ля, без стремления к унификации с 8086, они бы сделали по-уму...
Но, но...

И эти AMD64 забили последний гвоздь в эту крышку гроба...
Теперь всё, 64 бита уж точно надолго хватит, это не "64к достаточно любой программе".

Т.е., даже в Intel прекрасно осознавали, что они натворили... хотели было исправиться...
А уже фигвам, уже созданные ими же обстоятельства были непреодолимей благородных желаний, бгг...


V>>Сейчас разрабатывать оптимизирующие компиляторы под эту архитектуру стало намного легче, конечно, ведь ADM64 узаконил доп. файл векторных регистров — теперь оптимизирующие компиляторы "почему-то" охотно используют именно их даже не в векторных операциях, бгг...

N>Ну вообще-то SSE предназначен был и для замены x87...

Стандарты SSE опицональны для реализаций x86-совместимых архитектур, AMD тут помог обязаловкой этого файла регистров хотя бы в x64-архитектуре.

ИМХО, им стоило бы сделать маленький шажок — вообще избавиться от унаследованных регистров общего назначения и тупо оставить пару файлов регистров общего назначения, поверх которых теперь есть векторные инструкции.

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

А разработанная с 0-ля кодировка инструкций для x64 режима могла бы оботись без того Франкенштейна, который получился из изначально простой лопаты.

Сдаётся мне, что они струхнули сугубо в деле компиляторостроения, боялись, что ниасилят, бо так-то достаточно было подкрутить компилятор gcc x86 в сторону окучивания x64, поменяв совсем немного — только принцип оперирования сегментными регистрами.


N>Сейчас пишут всякие универсальные распределители. И чем бы тут ИИ помог?


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


V>>Представь этот же код для 8086 — появятся лишние команды тусования данных по регистрам или в стек и обратно.

N>Представил. Всё равно мало таких операций.

Плохо представил. ))


V>>На PDP-11 и VAX отработали несколько моделей внешних ускорителей с плавучкой — система команд никак не влияла на представление плавучки.

V>>И именно DEC явился тем полигоном, на которых эти форматы были испробованы/отработаны и закреплены в международных стандартах.
N>IEEE был отработан на DEC? Дай ссылку.

IEEE был зафиксирован вовсе не в DEC, просто для одной и той же архитектуры DEC шли различные варианты блока вычислений с плавающей точкой с различным представлениями и правилами оперирования. Некоторые из вариантов поддерживали IEEE-784 задолго до появления этого стандарта. ))


V>>Сейчас ведь уже легко ответить на вопрос, что лучше — "отлитая из бетона" плавучка в IBM 360/370, или "оставленная на выяснение по ходу пьесы" модель PDP-11/VAX?

N>Что там могли оставить на выяснение, если для конкретной команды формат был фиксирован?

Само представление числа с плавающей точкой и правила работы с ним не были фиксированы.
Это были просто инструкции, которые генерировали определённые наборы сигналов в управляющей схеме, к которой подключался незавимиый модуль вычислений с плавающей точкой.

Это почему DEC-компьютеры можно было модернизировать в том числе повышая им производительность в плавучке, а в случае IBM 360/370 модернизация касалась только размера оперативки и периферии.


V>>Принятый в IBM 360/370 формат и соотв. правила оперирования им уступали более поздним разработкам, но!

V>>Система команд IBM 360/370 никак не опиралась на формат плавучки, т.е. этот формат мог быть доработан позже, а программы пересобраны из исходников.
N>См. выше.

На что смотреть?
Формат плавучки для IBM 360 найти легко. ))


N>И что значит "никак не опиралась" при наличии, например, ненормализующих команд?


Так а что эти команды меняют в бинарнике?
Для модульной архитектуры команда означала выдачу определённого кода на внешний сопроцессор, а для "литой" архитектуры IBM 360 — "что-то происходит с регистром".

Даже приведение к целому и обратно — этим занимается сопроцессор.

Команды — разложить на порядок и мантису или собрать обратно — аналогично.
Тут уже программист должен помнить, сколько максимально бит и там, и там у конкретного сопроцессора, чтобы не потерять данные. ))

Т.е., система команд не зависит от внутреннего представления чисел с плавающей точкой.
В 8086/8087 тоже такой прямой зависимости нет, хотя форматы жестко специфицированы.

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


N>То-то на современных RISC ортогональность по регистрам — почти полная, а вот подставить в любую команду константу или чтение памяти — дзуськи.


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

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


V>>>> усложняло компиляторы, замедляло конечный бинарник множественными пересылками м/у специализированными регистрами,

N>>>Не было там много пересылок, если заранее адекватно распределить регистры.
V>>Да не распределишь ты никак ни ручками, ни компилятором.
V>>Откомпиллируй любой сниппет под 8086 — сплошные mov м/у регистрами.
V>>Сравни с 68k.
N>И снова — боюсь, вопрос в их количестве.

Ес-но, вопрос в относительном количестве межрегистровых mov и парных push/pop.


N>Ну или покажи где это испытать можно. Какой аналог godbolt умеет 8086 и M68k?


Зачем такие сложности? ))
Бери обычный godbolt, посмотри бинарник для MIPS, ARM, Power, сравни с x86 (неважно — MSVC, clang, IC или gcc).
#include <iostream>

int main() {
    int a;
    std::cin >> a;

    int b;
    std::cin >> b;

    int c;
    std::cin >> c;

    std::cout << ((a/b)^c*a/b);
}


Для перечисленных первых архитектур код будет практически идентичным (с точностью до мнемоник и правил синтаксиса адресации регистров и памяти), а для x86-го будет куча mov и парных push/pop. ))


V>>>> зачастую аж через пары push/pop и т.д. и т.п.

N>>>Это зачем?
V>>А это уже регистров не хватает, их ведь всего 4 якобы общего назначения, а по факту они же безальтернативно дёргаются в целом ряде операций.
N>6. AX, BX, CX, DX, SI, DI. См. выше.

См. на реальный выхлоп компиляторов.


V>>И эти пары push/pop никакое переименование регистров в Pentium-Pro не оптимизирует.

N>Разве?

Конечно.
К стековой памяти может быть внешнее обращение из другого потока, о котором текущий поток может и не знать.

Процессор же не в курсе, что эти парные push/pop породил несчастный компилятор? Это ж, может, так и задумано гениальным программером!
Значит, будет честно исполнять, насилуя оперативку (когерентный кеш, отмечая его невалидность). ))


V>>Сдаётся мне, что дело было только в этом — IBM сделала ставку на невзрачную Intel, бгг...

V>>А та их потом натянула по самые ягодицы... Да и весь мир тоже.

N>Тут таки интересно, почему не сделали для неё однокристальный 360.


Сделали, но позже.
Почему 360? Скорее, 370 и эта однокристалка так и называлась.

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


N>С доработкой пары аспектов могла бы чудесно взлететь.


Опоздали! ))
Они явно не ожидали от Intel и MS такой прыти.
Эта сладкая парочка уже зохавала мир и грабила корованы.

Уже не взлетело...


N>По скорости — только потому, что 8086 был спроектирован ужасно и даже NOP занимал 4 такта, а уж что-то сложнее в 10-20 вылезало с ходу. Зато увидев успех, решили исправить узкое место — 286 уже был сильно быстрее.


Ну, дык, я ж и говорю — СССР был вполне себе на уровне.
Т.е. на уровне ведущих мировых производителей.

Проиграл только одному игроку — Intel, ну так ему все проиграли, и на хвалённом капиталистическом Западе все проиграли тоже, бгг...

Может, не в социализме-капитализме было дело?
А в глобализации-империализме? ))

Ведь капитализм не гарантирует империализма без силого давления на другие страны.
Это надо было обеспечить распространение своей продукции без заградительных пошлин, чтобы собрать такой мировой урожай, который собирала Intel.


N>А вот по адресации памяти PDP-11 побить это не могла. DAT в режиме поклейки обоев через замочную скважину — не то, что долго работает. Даже кривоватый 20 бит тут уже лучше.


И то, и то было лишь этапом роста персоналок, поэтому смотрели сквозь пальцы.
Ведь персональные рабочие станции уже существовали и были вполне себе популярны у серьёзных дядек. ))
У MC 68к ведь 32 бита адрес!
В СССР тоже были рабочие станции на основе этого проца.

ИМХО, там было вшивое временное окно буквально в ~5 лет, которое надо было "чем-то заткнуть!", чтобы постепенно дешевеющие 32-адресные (или тру 32-битные процы) попали в персоналки своей ценой.

Но уж заткнули так заткнули...
До сих пор выткнуть сложно. ))


N>>>а вслед взамен VAX, которая была для персоналки слишком дорогая — и ни одного переходного состояния.

V>>Повторюсь, 16 бит выглядели осознанным компромиссом уже тогда, поэтому ведущие игроки планировали будущую жизнь 32 бит.
N>Вот 8086 был чудесным компромиссом с этой точки зрения.

Не так, чтобы чудесным, но да, выглядел компромиссом.
68к был бы лучше...

При том, что IBM позже "осознала косяк" и разработала архитектуру Power в содействии с Motorola, и в системе команд можно уловить много от 68k (хотя это был RISC проц, в отличие от CISC 68k).
Но поезд всё уходил и уходил, набирая обороты... ))

Да, одно время им удавалось немного бодаться...
Но теперь они бодались уже не только и не столько с Intel, сколько с Wintel. ))

По этой причине, гораздо более интересная линейка POWER-процов (серии RS/6000 и выше для серверов, PowerPC для персоналок) глотала за конкурентами пыль.
А DEC Alpha вообще был лебединой песней одного из основоположников современного IT — компании DEC.

А со стороны история Wintel напоминает абсурд из разряда — вы так много продаёте калош, а сшейте нам космический скафандр! ))


V>>В итоге мы всё-равно перешли на серверах опять к UNIX (только уже выращенном изначально на x86-й архитектуре, ес-но!)

N>Сейчас тебе куча народу тут расскажет, где они видели те сервера на UNIx

Linux — всё-равно разновидность Unix.
Изначально это только ядро, весь софт брался готовый.

GNU — операционная система типа Unix



V>>Во встраиваемой технике каждый третий проц был MIPS (хотя изначально RISC-процессор, но наследник философии VAX и 68к),

N>В чём это он их наследник? У него всё иное.

У него иное только в технологии — это RISC проц.
Просто это уже не тот RISC, которые изпервых самых, как и IBM POWER, там уже нифига не сокращённый набор команд, там просто остутствует микрокод из мира CISC.

Так микрокод и в нынешних x64 процах отсутствует (за исключением особых надобностей в утилитных режимах проца) — в "обычной" работе происходит динамическая перекодировка на подобие RISC.


N>Я бы понял, если бы ты ARM вспомнил — у него хотя бы NZVC и автоинкремент/декремент регистров. Но MIPS — смешно. Это же чистый RISC.


ARM тоже чистый RISC, причём, заметно худший изначально, бо более простой.
Но Айфоны же! ))

Вот MIPS постепенно и сдох, бо ARM получила такой буст денег, что хватило обогнать и перегнать, как грится, превратив изначально убогий RISC в более-менее вменяемый.
У них же система команд тогось, более не ARM, это уже давно совершенно новая система команд, которая со старой имеет из общего лишь часть названия. ))


V>>The Personal/370 was available as early as November 1989

N>На 10 лет позже чем нужно. Я ж говорю — надо было S/360 загнать на одну микруху.

На 8 лет.
И позже оно стало от того, что IBM стала недополучать денег от мейнфреймов из-за популярности IBM/PC и потери монополии.
Им потребовалось срочно модернизировать мейнфреймы, отсюда и появился POWER (на которых до сих пор сидит Гугл в своих датацентрах, ктстае, и не жалуется).


N>Вот именно что если добавить A0-A6 для заметной части операций — и получается 15 (я писал 14).


Не, только первые 6.
Там два регистра стека — юзерский и суперпользователя.


N>Много регистров — это много регистров.


Так-то у x86-го в сумме дофига регистров, но код всё-равно корявый из под компиляторов выходит. ))
Отредактировано 18.09.2023 19:08 vdimas . Предыдущая версия . Еще …
Отредактировано 18.09.2023 18:58 vdimas . Предыдущая версия .
Re[6]: История компьютеров в СССР
От: vdimas Россия  
Дата: 18.09.23 19:24
Оценка:
Здравствуйте, netch80, Вы писали:

V>>По другой причине — потому что эту область тупо оставили без ср-в к существованию в течении 20+ лет.

N>Что ты называешь супервычислениями?

Это когда можно было сделать некоторые расчёты на 2-3 порядка быстрее, чем на привычном "местном" мейнфрейме.
Причём, даже программу желательно не менять.

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


V>>Современные суперкомпьютеры в своей архитектуре — курам на смех, живот порвать от хохота — попытка заставить работать одновременно кучу процов из мира персоналок, используя для их внутренней связи сетевые технологии, разработанные для внешнего IO.

V>>Идиотизм? — конечно, причём, даже не планетарного, а галактического масштаба! ))

N>Какая альтернатива?


Изобрести машину времени и надоумить IBM в 1980-м сотрудничать с DEC с его VAX.
Ведь IBM стала же сотрудничать со своим смертельным когда-то конкурентом — Моторолой?

Ну или сразу с Мотороллой, тогда POWERx и PowerPC появились бы на пяток лет раньше...
И эта архитектура объективно лучше x86.

Ну и для супервычислений всё есть:
https://en-m-wikipedia-org.translate.goog/wiki/IBM_ViVA?_x_tr_sl=en&amp;_x_tr_tl=ru&amp;_x_tr_hl=ru&amp;_x_tr_pto=wapp

Нет только массовости и обусловленной ею конкурентной цены.


N>А кто реально серверный сейчас?


А никто.
IBM показывает сегодня ~10% от своей прежней мощи, как лидера технологий когда-то. ))

А сейчас облака вымывают деньги.
Но облака тоже строятся на максимально идиотской архитектуре — без слёз не взглянешь.
Степень убогости зашкаливает, как грится...

И ведь не объявишь всех инженеров идиотами, верно?
Вот дай им сейчас задачу разработать железо сугубо для облаков — оно будет разработано правильно.
И память будет специальная, и шины, и масштабируемые узлы алу+регистров...

Но идиотская нынешняя реализация на процах от персоналок всё-равно выйдет дешевле, потому что производителями процов переиспользуются накопленные в течении 30+ лет технологии.

Я ХЗ как вернуть нормальные серверные вычисления.
Выглядит, что никак.
Бо в облаках востребованы в основном x86_x64-виртуалки, по подробно описанным в обсуждении причинам, и это уже замкнутый круг! ))
Отредактировано 18.09.2023 19:25 vdimas . Предыдущая версия .
Re[7]: История компьютеров в СССР
От: vdimas Россия  
Дата: 18.09.23 19:29
Оценка:
Здравствуйте, netch80, Вы писали:

V>>Первые версии i486 были до 5-ти раз быстрее первых версий i386-х.

N>Всё равно не 20. В чём причина устарелости? Дешевле стали?

Сказал же — 486-е пошли с сопроцессором и это, действительно, дешевле при прочих равных, чем отдельный процессор+сопроцессор.

Скажем так, не видел вживую ни одного 386-го с сопроцессором среди тех машин, на которых довелось потыкаться.
(к нам везли б/у, и не самое дорогое)
Отредактировано 18.09.2023 19:42 vdimas . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.