yacc> Фиксированная точка это представление целого числа как составного - либо в двоичной, либо в двоично-десятичной системе. Не нужно это для адресной арифметики от слова "совсем".
Что в частном случае при нулевой дробной части даёт нам целочисленную арифметику.
Порядок в операциях сплавающей точкой определяет сдвиг точки по разрядам, в случае же отсуствия нормализации, если порядок неизменен (часть порядка задана в верхних битах), мы имеем в мантиссе фиксированную точку. В случае если порядок принят за 0 и неизменен, это представление с фиксированной точкой становится целочисленным.
С любой, хоть с самой формальной точки, хоть с практической точки зрения это так.
С терминологией теперь всё ясно?
yacc> “Эльбрус-1” с производительностью ~15 млн. оп./с был сдан государственной комиссии в 1980 году.
В нашей реальности, где финансирование этой ветки и работы над ней велись по остаточному принципу. Например, коллектив из нескольких разработчиков (ср. с тысячами, работавших на программой "ЕС") не имел своей периферии ввода-вывода (даже АЦПУ) и имел возможность что-то испытывать, подключая свой процессор вместо БЭСМ-6, для чего выделялись некоторые ночные и самые утренние часы.
Непридуманная история создания Эльбрус 1-К-2 и его математического обеспечения. Статья из раздела Материалы Международной конференции Sorucom-2017 виртуального компьютерного музея. Основан в 1997 году. более 2000 статей.
// www.computer-museum.ru
Можно себе представить, как было со всем остальным.
И нет, там никаких не 32 бита, там 48.
Это в Эльбрусе-Б (обратно совместимом) потом будет 64 разряда данных и 27-битный адрес. 32 бит не было нигде.
yacc> Универсальный конвейер гораздо сложнее чем у транзисторной БЭСМ-6 где его упростили ценой представления чисел.
Ты печатаешь слова, вообще не смотря на их значения, лишь бы напечатать что-то.

Это шизофазия а-ля ЧатГПТ по теме, в которой он "плавает".
Суперскаляр и конвеер зависят только от одного - от возможности вычислить зависимости между командами и сформировать раздельные очереди исполнения. Это вообще НИКАК не зависит от типа данных.
У 80х86/80х87 с конвееризацией были существенные проблемы из-за способа организации как самого сопроцессора (это стековая архитектура - 8 регистров организованы как стек), так и сопряжения с ним CPU: ты должен положить данные на стек и отказаться от шины, и вот тогда он возьмёт и будет что-то делать. Ессно, что суперскаляру тут полная задница, пришлось очень сильно извращаться.
В БЭСМ же конвеер уже работает и устроен. Дополнительный тип данных и команды требуют лишь дополнительных ИУ.
yacc> Поэтому интел парился чтобы и совместимость оставить и конвейер подключить.

Интел парился потому, что это Интел. Больше никаких причин нет, если ты посмотришь на системы, где плавающая точка была "врождённой" (RISC'и особенно), ты увидишь, что суперскаляр для них максимально прост. И, собссно, нет никаких причин, чтобы было иначе.
yacc> Это только у тебя - тяп ляп, г-но вопрос - и за год и конвейер для всего.
yacc> У меня даже суровые сомнения вызывает что у тебя вообще есть опыт сдачи софта от модели до продакшена и внедрение фич в легаси.
Не только у меня, а вообще у всех

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

) возникают проблемы.
О, не сомневайся.

25 лет в разработке.
Татарин>> Не прикину. С чего бы она не нужна? - докажи.
yacc> Потому что НЕ НУЖНА.
Оба-на! Какой мощный аргументище!

Ну да.
Татарин>> Какой, нафиг, SQL?
yacc> Прикинь, SQL возник как расширение того, что уже давно использовал пользователь.
Прикинь, вот вообще нет

Обычно это так, да, но вот с SEQUEL (который потом станет SQL) это вот просто СОВЕРШЕННО мимо. Он был разработан с нуля и как концепт предложен (ну как "предложен"? - паре коллег) в начале 70-х. Потом было 10 лет разработки, развития и пробития идеи внутри IBM. И...
After testing SQL at customer test sites to determine the usefulness and practicality of the system, IBM began developing commercial products based on their System R prototype, including System/38, SQL/DS, and IBM Db2, which were commercially available in
1979, 1981, and 1983, respectively.[16]
Потребовалось ещё 5-10 лет, чтобы удобство такого обращения к реляционным базам оценили и SQL стал бы оформяться как индустриальный стандарт.
Ну, то есть, как бы "декодинг из DECIMAL и MONEY"© "несколько" откладывается от рассматриваемого времени.
Татарин>> Да, блин, мы даже обсуждаем-то конец 60-х, само слово database только-только появилось
yacc> Только вот ленты уже вовсю были для бухгалтерских данных, в отчетах которых чисел с мантиссой и порядком и не было за ненадобностью.
Только вот ленте совершенно пофигу, каков формат хранимых данных. Никакого "кодинга/декодинга"©.

Собссно, единственное место, где оно есть - преобразование текста в число и наоборот. Но там сложности одинаковые что для целых чисел, что для фиксированной точки, что для плавающей. Процедуры разные, а их сложность и потребность в вычислениях примерно одна и та же.
Татарин>> Где хак? И что ты называешь "хаком"? КОНКРЕТНО? И подробно, лучше бы. Я вот уже нихрена в твоих фантазиях не понимаю.
yacc> Хак на хаке - тут отключаем нормализацию, тут не отключаем. Сами программисты на БЭСМ говорили что можно было ошибиться.
Ну так-то тогда все процессоры состоят из хаков целиком и полностью.

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

Ты опять смотришь из наших времён, где на шине обмена с памятью гигагерцы.

Вот у нас - да, память и есть отсновной тормоз. А тот же "Эльбрус-КБ" при всём его быстродействии мог обращаться к памяти в каждом, ЕМНИП, втором цикле. И память-то от микросхем процессора не зависит, технологии памяти были одинаковы.
И были бы одинаковы и для "Эльбруса-1/К/Б/КБ", и для гипотетической машины на ТТЛ. То есть, если память не ограничивала ЭСЛ-машину (ну или ограничивала до нам известной скорости), то вот с фига ли бы ей ограничивать (ещё больше!) более медленный ТТЛ-процессор?

Мы будем специально замедлять память? Даже не пропорционально ТТЛ, а вот напряжёмся, и замедлим ещё больше?
Логика у тебя где?
Татарин>> Логично же: что сделали, то и прикрутили. Сделали бы изначально терминалы для БЭСМ - так их бы прикручивали к ЕС... впрочем, нафига вообще ЕС-то?
yacc> А их в планах изначально и не было - для БЭСМ.
Ну и ЕС вообще изначально в планах не было. Понадобились терминалы - ну, прикрутили.
Татарин>> Ты носишься со "сменой микрокоманд", как будто это простая и лёгкая, прямо на лету вещь. Мне кажется, ты не представляешь себе процедуру.
yacc> Это гораздо проще чем переразводить железо.
И
гораздо сложнее, чем просто использовать старую программу. У тебя ж даже с запуском будут проблемы: как ты пустишь ОС ИБМ, если команды несовместимы?
Ну или, если настаиваешь, найди полную процедуру запуска программы "Минска" для ЕС-1020. Всякое желание поминать такую "совместимость" пропадёт. Хотя, кто тебя знает...

Может, скажешь, что это легко, приятно и вообще - так и надо.
yacc> Давай мне расскажи сколько мегаФЛОПСОВ - т.е. операций с плавающей точкой - было у 386 и как это мешало бизнес-приложениям
Много. Но у него и целочисленная производительность была в сравнении с ЕС бешеная.
Татарин>> Да, ТТЛ, а не парафазные усилители. Но сама база настолько лучше, что какого-то паде
yacc> Только Сеймуру Крею даже в голову не пришло делать процессоры на ТТЛ
Ему не пришло, DEC и IBM - пришло. И были у американцев и CDC на ЭСЛ, и PDP на ТТЛ, и IBM на ТТЛ. Несовместимые. А у нас были бы машины на ЭСЛ и ТТЛ совместимые. И что в этом было бы плохого?
yacc> yacc>> Факт что у бухгалтеров БЭСМ НЕ БЫЛО. Хотя по-твоему они бы могли и купить.
Татарин>> Нет, не было у конкретных товарищей, которые руководствовались какими-то совершенно иными критериями.
yacc> Не было НИ У КОГО - никто не заказывал для бухгалтерских целей БЭСМ.
Потому что и не могли - раз, и в нашей реальности поехала программа ЕС - два. То есть "выбить" БЭСМ - это была привилегия, и уж точно, что в условиях, когда на всю страну единицы-десятки (сначала) и сотни (под занавес) БЭСМ-6 ВСЕГО, для булгалтера это было б просто жирновато.
В нашей реальности эту ветку практически не развивали, и цена у транзисторных БЭСМ была космической.
Мы же говорим о альтернативе, когда в БЭСМ вколачивались все деньги, просранные на ЕС. В этой реальности мы имеем к тому же 1969-му году ТТЛ-версию БЭСМ, чуть позже, как созреют ЭСЛ-микросхемы - и ЭСЛ. А далее - развитие БЭСМ в виде того же "Эльбруса-КБ" и далее.
Татарин>> Потому что, например, в курчатнике бухгалтерия точно всю жизнь считалась на БЭСМ.
yacc> А курчатник купил БЭСМ для бухгалтерии ?
Сомневаюсь. Кто б бухгалтерам дал МИЛЛИОН (с фигом), чисто бухгалтерию института считать?

Это ж примерно порядка миллиарда рублей на нынешние.
"- Может ли слон сожрать вагон бананов? - Может-то может, да кто ж ему даст?"©
Это просто к тому, что такое применение БЭСМ - вот вообще было без проблем и сплошное счастье.
Татарин>> В чём КОНКРЕТНО косяки?
yacc> В кодинге/декодинге.
yacc> Если машина запоминает в слове несколько символов - превед кодинг/декодинг
yacc> Если прогаммер решил целое использовать для фиксированной точки ( а такое можно ) - превед кодинг/декодинг
?! Ты, кажется, просто не понимаешь элементарной арифметики. :\ Эта "фиксированная точка" она - чисто виртуальна, ты просто складываешь два целых числа, просто помня, что младшие сколько-то разрядов у тебя после точки и значат дробную часть.
Ну вот в десятичной арифметике ты ведь можешь сложить 12345 и 54321? А если тебе скажут, что это были не рубли, а копейки, и два младшие знака нужно отделить запятой - что это изменит в сложении? Какой ещё тут "кодинг"? Это просто договорённость о том, где при выводе поставить точку/запятую, больше ничего. Собссно, с двоичкой всё ровно то же самое. Разве что с тем (совершенно несущественным и мелким) нюансом, что если ты работаешь изначально с десятичкой, то тебе нужно правильно взять размер и "расположить" (виртуально, у себя в голове) запятую внутри слова.
Ты можешь вообще не париться насчёт двоичных разрядов и сразу считать в требуемых десятичных долях (как в моём примере с центами), почти всегда так и делается реально - это много проще. И да, это тоже фиксированная точка (ты определяешь, сколько десятичных разрядов будет при вводе-выводе отсечено запятой).
На внутреннее представление числа, на арифметику, на все операции внутри это
не влияет никак.
Это просто такая договоренность.
yacc> Ну попробуй вместо DECIMAL ( 14, 2 ) использовать INT16 - и простая программа у тебя мгновенно превратится в гемор.
?!

Блин, да то ты вообще говоришь-то? Какое ещё DECIMAL (14,2), как ты 16 десятичных разрядов в int16 вообще утолкаешь?

Ну ты хоть чуть думай, что говоришь.
А на практике я именно так и делаю, есть у меня часть, работающая с деньгами и требующая реального быстродействия (вплоть до того, что рассматривали CUDA/OpenCL для выноса этой части). Просто берёшь сотые доли и целочисленно считаешь в них.
yacc> Так вот сначала ты этот копипаст должен СДЕЛАТЬ.
Ну, да. Ну так чем это отличается от нашей реальности, где тоже копипастили периферию, но ПЛЮС ещё и копипастили сами машины?
То есть, почему эта двойная работа, по-твоему, проще, чем просто копипастить периферию?
yacc> Научиться производить ферриты, наносить на диски, отладить механику, сделать станки под эту механику, соединить в производственном цикле и так по всему мясокомбинату.
И?
Ты постоянно слетаешь с мысли. Даже со своей.
yacc> yacc>> А вот хрен тебе!
yacc> yacc>> Когда RCA сделала клон 360 то поначалу IBM напряглась - это был весомый и очень богатый конкурент.
yacc> yacc>> А в результате выиграла, потому что RCA был опытен в электронике, но неопытен в периферии.
Татарин>> Что-то очень сложно для меня. :\
yacc> Для тебя сложно понять что периферия - это ОЧЕНЬ важно для пользователя.
?! Ты вообще, кажется, совершенно на своей волне, в режиме радиопередачи.

Периферия - важно, но почему её нельзя было копипастить для БЭСМ?
В чём отличие кроме аппаратуры сопряжения?
Ферриты в НЖМД вот точно никак не отличаются. Или ферриты, если работают с ИБМ, приобретают мистические свойства и удобство копирования?
Татарин>> И что? Как это связано с необходимостью рушить свои школы
yacc> Я тебя уже спрашивал и еще раз спрашиваю - что объединяло большинство эксплуатирующихся ЭВМ в СССР в 1967 году ?
Наличие транзисторов? Лампочки? Существенные размеры?
Признаков схожести много. Я не буду играть в угадайку, если что сказать - говори.