yacc: Все сообщения за 4 Января 2024 года

 
ПнВтСрЧтПтСбВс
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

yacc

старожил
★★★
3-62>> Простое перемещение - требует лишь "адресации байта". Хотя можно и "терять в хвостах" - это не так и много памяти. Особенно сегодня.
П.З.> Дело не в потерях памяти, а в затратах логики - в лишних командах.

И в том и в другом.
Татарин тут любит приводить пример на С с указателями, но как бы С на БЭСМ-6 вместе с Юниксом ... никто и не портировал - задолбались бы.
Причем по меркам 70-х Юникс считался... ОС для домохозяек! ( там все было просто на фоне мейнфреймов ).

А что же было со строками в 70-х ?
А вот что:
Для примера мы возьмем CDC 6000 - там тоже адресация словами, правда по 60 бит.

Фортран:
Строки можно было ввести через DATA и константы Холлерита
Программа "Привет мир" выглядела бы так:

 PROGRAM HELLO1 C INTEGER IHWSTR(3) DATA IHWSTR/4HHELL,4HO WO,3HRLD/ C WRITE (6,100) IHWSTR STOP 100 FORMAT (3A4) END 


Т.е. по факту строка - это целочисленный массив и трахайтесь руками даже для сравнения

Паскаль от 1972 года:
для поддержки упаковки в слово имел тип ALFA который не что иное как мини-строка упакованная в слово.
Например для CDC 6000 это фактически такое
 array [1..10] of char // 6 бит символ, 10 символов в слове 


Но! При этом для типа ALFA были определены операции присваивания и сравнения
Т.е.
 var str1, str2 : alfa; str1 := 'ABC' ; str2 := 'BAC' ; if str2 > str1 // TRUE 


А вот чтобы преобразовать это в array of char требовалось использовать соответствующие операторы - pack и unpack. Или добавлять модификатор PACKED для CHAR.
Наглядно что из себя представлял код pack - в аттаче.
Можно посмотреть и тут The CDC 6000 Pascal Compiler
И там можно увидеть, если глянуть в стандартную библиотеку, что оптимизированного кода на ассемблере CDC 6000 для pack ... и не было. Он был на паскале! Да с кучей IF.

Татарин, конечно, может привести ссылку для кода strlen на ассемблере, который использует не байты, а слова. Вот только на для Паскаля такого не было. И этот ассемблерный код вовсе не для БЭСМ-6, а для х86 c нормальными байтами как у 360 и регистрами.

А что же в СССР ?
А там символ - 7 бит - надо же русские буквы использовать. Т.е. из 48 бит БЭСМ используются 42 ибо только 6 символов влезает. Сообразно и длина имени переменной - 6 символов ( символы с 7 и далее - игнорируются ), в CDC 6000 для Паскаля - 10 символов.
Паскаль по факту единственный компилятор, который сделали для БЭСМ-6 для бизнес-расчетов: фортран это через грубый DATA, Кобол на БЭСМ-6 не портировали.

А что же у нас в ЕС ЭВМ ?
Открываем "Балуев А. Н. Элементы программирования в системе ЕС ЭВМ"
и видим что там даже простые примеры приведены в разделе "Действия с текстами".

Как пишет народ
Although others also contributed, it was the S/360 that shaped the current understanding of bytes and words.
The 6600 was significant because it preceded the S/360 and had an even more "ancient" method of character handling, which was passed down from its predecessors.
Let's face it, the CDC was never designed for business use.
 


Ровно также никто не собирался делать "грязную" работу с текстами на БЭСМ-6.

Удобная работа со строками - это не к ней.
PascalPack.jpg (скачать) [1470x873, 143 кБ]
 
 
 109.0.0.0109.0.0.0

yacc

старожил
★★★
Татарин> В СССР в 1969-м со строками был РЕФАЛ. :) Причём, не просто РЕФАЛ, а чуть позже ещё и РЕФАЛ доведённый до железного воплощения. :)
А кто-то в буржуйском мире считал бухгалтерию на ЛИСПе ? :lol2:

Татарин> Вот как в паре 8086 и 8087: ЦПУ 8086 вообще не умел работать с реальными числами, и это никого не волновало
Правильно!
Никому, кроме ученых, плавающая точка и не нужна.
Бизнесу - точно :lol2:

Татарин> Но представим себе, что в 60-е с принятием БЭСМ как стандарта к ней прикрутили текстовый (со)процессор.
Вообще-то в 60-е никому в голову такое бы не пришло.
Для числодробилки это абсолютно лишнее.
А для бизнеса другие архитектуры удобнее.

Татарин> Кто знает, что мы могли бы получить?
Фигню полную ( я про прикручивание текстового сопроцессора )! :lol2:
Оно еще понятно в бизнес-машину вставить сопроцессор для плавающей точки, но суперкомпьютер даунгрейдить до бизнес-машины ? Да в эпоху когда развивались параллельные вычисления ???

Это блин как паровую машину ставить на истребитель Ла-5, типа чтобы и на дровах мог :lol2:
 109.0.0.0109.0.0.0

yacc

старожил
★★★
Татарин> Вопрос знакомый. Самое в нём полезное, что для того, чтобы его задать, совершенно не нужно думать, что и доказано СлавойКПСС. :)

Самое главное у тебя - это вовремя вставить СлаваКПСС чтобы любую свою чушь типа счета для бухгалтерии на РЕФАЛе у нас или на западе на ЛИСПе, которая отсутствовала в реальности, оправдать.
Типа "художника может каждый обидеть. Мы на Рефале зарплаты считать будем, так вижу!" :D
 109.0.0.0109.0.0.0

yacc

старожил
★★★
Татарин> Тут тот самый случай, когда аргументация высокого уровня примитивизируется и теряет смысл
Не я постоянно СлаваКПСС пихаю везде.

Татарин> Нет, на самом деле была масса способов приладить работу с текстами к БЭСМ-6.
Никому это было нафиг не нужно.
Бухгалтерам нужен по факту Эксель.
РПГ, который начал свою жизнь еще на 1401 и потом в 360 - вот что им надо.
А не высокие материи.

Татарин>Многие из них давали лучшие результаты, чем у ИБМ, и даже отсутствие специальной работы с символами вообще дало бы по итогам лучшие результаты
Факт в том, что БЭСМ - Счетная машина - на это и была заточена.

Татарин> Но показать существующую альтернативную реальность, ессно, невозможно.
А ее и не было бы с БЭСМ.
Только тебе она в голову приходит.

Никому больше ни тут, ни у отцов-основателей, в голову не приходило делать из БЭСМ-6 универсальную ЭВМ.

А ... ну да - СлаваКПСС же виноват! :D
 109.0.0.0109.0.0.0

yacc

старожил
★★★
Татарин> Если бы ты знал немного больше об истории техники в СССР или процессорных архитектурах, я мог бы спросить "почему?".
Это как раз тот, кто со старыми архитектурами не знаком, пихает их рандомно куда не попадя.
БЭСМ и CDC - в бухгалтерию.
Ты чего куришь? :p
А все потому что MIPSы глаза затмевают...

Татарин> Пример с Альфами я приводил (а это были очень успешные машины даже в х86 мире, погибшие только вместе с DEC и убитые уже Compaq).
Не надо приводить в пример то, что ты сам не щупал.
Не было там никаких суперспособностей.

Татарин> Но вот возьмём другую не-х86 архитектуру наших дней, компутеры "Эппл", которые долгое время жили на архитектуре PowerPC
... и внезапно там увидим байты... ага с системы 360, а не 48-битные слова как БЭСМ или 60 битные как у CDC.
Внезапно и там байты! А не 6 символов по 7 бит в 48 битном слове с пустыми местами.
И да - аж инструкции по работе с байтами!
Но СССР с БЭСМ и 48 битным словом мог всех порвать! Только СлаваКПСС помешала :D

Татарин> И всё это прекрасно же бежало. Почему не могло бежать на БЭСМ?
См. выше
И читай эскизный проект БЭСМ-10 - нет там никаких байтов и байтовой адресации.
Зато черным по белому написана цель достижения максимальных скоростей в научно-технических задачах.

yacc>> Бухгалтерам нужен по факту Эксель.
Татарин> Сомнительное утверждение, но...
Татарин> В 60-х? :D ТОЧНО нет. :) И ещё очень долго нет. :)
И в 60!
Тупая задача массового счета по вводным данным и простым формулам.
Часть задач вообще табуляторы тогда делали.

yacc>> Факт в том, что БЭСМ - Счетная машина - на это и была заточена.
Татарин> Ты повторяешь это бессмысленное утверждение, по факту не имея за ним совершенно ничего.
Это следует из ее использования и эскизного проекта БЭСМ-10 где черным по белому указано назначение.

Татарин> Но даже если принять его за истину (ну, допустим, я обдолбаюсь до того уровня, когда голова работает как у коммуниста), то никаких проблем к минимальной доработке этой машины не было.
Это у ТЕБЯ их нет - ты же это реализовывать не собираешься.
А вот скажем у Урала реализацию всего-навсего символьной ( а-ля байтовой ) адресации ОЗУ отложили чтобы вписаться в план сдачи ЭВМ. Потому что это схемы. Как МОЗУ так и процессора.
Попробовать, протестировать так и так, подумать поправить и опять попробовать. Пока не найдено работающее решение.
Это тебе, зумеру - тяп-ляп и готово! А в реале КБ занимается кроме проектирования новых машин еще и поддержкой старых и фиксами, контактирует с заводами-изготовителями, делает заказные решения для военных. И людей перманентно нехватает.
Ну приведут тебе молодых специалистов ( "джунов" ) так их год только в курс дела вводить надо.

И это, казалось бы, простая задача - всего лишь адресация.
Про перефигачивание конвейера БЭСМ-6 я молчу.

Очевидно что Лебедев и Бурцев, в отличии от тебя, были реалистами. И даже не стали париться с байтами, если понятно было что рано или поздно на горизонте появится Крей-1 и задаст новые стандарты производительности. И Сеймуру Крею тоже было пофиг на байтовую адресацию и работу со строками.

yacc>> Никому больше ни тут, ни у отцов-основателей, в голову не приходило делать из БЭСМ-6 универсальную ЭВМ.
Татарин> Ну, это ты так думаешь. :) По факту же - СВС, ну и как дальний потомок - "Эльбрус". Которые, как финал этой истории, и остались единственной архитектурой универсальных процессоров, унаследованных в какой-то степени от СССР.
Эльбрус выжил благодаря Бабаяну.
И да - даже сейчас для бухгалтеров он избыточен.
И да - это не совсем универсальная архитектура - просто другой не осталось.

Татарин> Собссно, сам факт того, что коммунисты в этом топике сторонники вечной убогости
У тебя даже не научная фантастика, когда ты предлагаешь альтернативный вариант, а натуральная фентези в стиле поттерианы :D

Еще раз - выбирай другую ЭВМ СССР для базовой.
 109.0.0.0109.0.0.0
Это сообщение редактировалось 04.01.2024 в 20:44

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru