yacc: Все сообщения за 20 Января 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

старожил
★★★
Т.Б.> Неправда ваша, на /360 через базу и смещение работали. Там, как я понимаю, вообще абсолютной адресации не было, даром что 32 бита.
Укажи смещение 0 и запиши адрес в базисный ( в качестве которого можно использовать РОН кроме нулевого ) - загрузишь значение по адресу.
 109.0.0.0109.0.0.0

yacc

старожил
★★★
Т.Б.> Тебе тут чуть не десяток вариантов расшивки этого узкого места показали. Да, на тех БЭСМ-6, которые уже были бы построены всё осталось бы по-старому. Но кто мешает добавить регистр для смещения, как самый примитивный и прозрачный для софта вариант?
Окей. Добавил ты его - типа регистр сегмента. И добавил новую команду для него.
И прога уже на БЭСМ-6 не пойдет - нет там такого.
Ровно как прога под 286 где расширенный адрес, не пойдет на 8086. Хотя наоборот возможно - просто будет считаться что нулевая страница.

yacc>> В отличии от /360
Т.Б.> Ты лжешь. Я уже один раз на это указал. Нет никакой flat-адресации у 360. Там, всё что "перебором" - это 12 бит. Остальное - пожалте регистр смещения инкрементировать.
И в чем проблема регистр смещения инкрементировать ?
Да - к слову в БЭСМ-6 тоже есть вариант когда адрес записан в индексном регистре, а не в команде.
 109.0.0.0109.0.0.0

yacc

старожил
★★★
Т.Б.> Блин, такое ощущение что ты с гор спустился вчера. А почему это, упомянув про базу и смещение ты постеснялся про непосредственно адрес в команде писать?
В качестве индексного и базисного регистров могут использоваться произвольные общие регистры, за исключением регистра 0.
 
 109.0.0.0109.0.0.0

yacc

старожил
★★★
Sandro> В MIPS есть есть команды с четким форматом и с четким количеством бит для адреса.
Sandro> Они не расширяются в принципе.
Есть - J-Type - т.е. переход
Считается что размер кода не может быть больше 64 мегабайт
Но в I-type - т.е. для записи/чтения ОЗУ ограничен только индекс относительно базы в другом регистре
 109.0.0.0109.0.0.0

yacc

старожил
★★★
Т.Б.> И чем это так уж принципиально отличается от БЭСМ-6? Тем что не с одним, а с двумя регистрами адрес комбинируется? Ну охренеть прям, в корне всё меняет.
А в /360 нет команды работы с абсолютным адресом в отличии от БЭСМ - только с указанием смещения.
Эта команда - нерасширяемая.
Не было бы ее - можно было бы просто расширить индексные регистры и адресовать больше.
 109.0.0.0109.0.0.0

yacc

старожил
★★★
Т.Б.> Ты странным образом порицаешь идеи с регистром смещения на одной архитектуре, но в этом же ответе защищаешь такое же решение на другой.
А кто тебе сказал что я защищаю 8086 ?
Ну да - в 286 придумали костыль чтобы работали и программы 8086.
Но это все-таки дешевый ПК.
А тут мейнфрейм на 10 лет без возможности добавить память когда она дешевеет.
Т.е. условно в середине 70-х можно было в ЕС брать мегабайт, а вот в БЭСМ-6 это было не впихнуть в силу системы команд - программа бы это не увидела.
 109.0.0.0109.0.0.0

yacc

старожил
★★★
yacc>> Ты лучше приведи пример RISC где есть сложение с операндом из ОЗУ одной командой :D
Sandro> Чем тебе не нравится 6502? В нём это есть, и при этом — никакого микрокода вообще, и очень компактный процессор.
Тут вот какое дело - это очень дешевый 8-битный микропроцессор.
Бесспорный хит 8 битной эпохи.
А тут дорогой мейнфрейм на 10 лет без возможности добавить память...
 109.0.0.0109.0.0.0

yacc

старожил
★★★
yacc>> А в /360 нет команды работы с абсолютным адресом в отличии от БЭСМ - только с указанием смещения.
Т.Б.> Т.е., это у /360 СК убогой выглядит - нет даже формата команд для работы с абсолютным адресом. Я это подозревал.
Это как раз правильно - что нет такой команды адресации памяти.
 109.0.0.0109.0.0.0

yacc

старожил
★★★
Т.Б.> Я, вообще-то, про /360 говорю. Ты защищаешь концепцию работы с адресным пространством в /360. Это там смещение+база+адрес(12 бит).
Я защищаю концепцию "база в регистре" ибо именно она позволяет легко расширять адресное пространство независимо от того - есть в команде смещение или нет.

Т.Б.> Но, при этом, тебя воротит от БЭСМ-6, где 12-15 бит адреса используются непосредственно в команде
Именно - я считаю это атавизмом эпохи первых ЭВМ для команд записи/сохранения.
Который надо было убрать и тогда все было бы легче.
 109.0.0.0109.0.0.0

yacc

старожил
★★★
Татарин> "Как правило, действительный (исполнительный) адрес получается путем прибавления содержимого одного из индексных регистров к коду адреса, записанному в команде."
А может браться и напрямую.
Такие команды я и считаю атавизмом.

Татарин> Механизм страниц с защитой и динамической подменой памяти (кстати, вот ещё один механизм расширения даже 15-бит пространства на большее количество памяти, причём, уже существующий)
Это механизм для многопроцессности - тут все нормально. Скажем 10 процессов работают одновременно, суммарно в ЭВМ 320К, каждому доступно по 32К.
Я же говорю про доступные адреса внутри одного процесса.

Татарин>То есть, СК как таковая не требует изменений, требуется лишь изменение количества значимых битов в слове адреса.
И здесь тебя ждет облом или эпик фейл - команда занимает 24 бита, половину слова.
В слове - две команды.
И никак ты не расширишь поле адреса.

Татарин> Короткая адресация не является атавизмом и в том или ином виде присутствует в большинстве современных архитектур, включая, например, самоновейшую и популярную RISC-V
Я говорю про явный адрес.
Не путай это со смещением относительно базы в индексном регистре или РОН.
Явный адрес - да, есть и в RISC - для команд переходов.
Как я уже упоминал в MIPS на это дается 24 бита, в БЭСМ-6 больше 15 ты не получишь - т.е. размер программы тоже жестко ограничен 32К

СлаваКПСС постановила так сделать? :p
 109.0.0.0109.0.0.0

yacc

старожил
★★★
Татарин> Ты уверен, что правильно понимаешь это слово? Вот у RISC-V такие команды ты можешь считать атавизмом. У БЭСМ-6-то - как? "Всё было впервые и вновь"©
НЕТ в RISC таких команд.
Команда сложить с сумматором ячейку по явному адресу.
Еще раз - по явному адресу - т.е. без всякой базы с индексного регистра - ползла с первых еще ламповых ЭВМ и машкодов - там это удобно.

Татарин> RISC-V тут интересен тем, что это самая новая архитектура, созданная с нуля, чьи разработчики перелопатили очень богатый опыт предшественников.
Поэтому они взяли:
- одно слово, одна команда ( в БЭСМ две команды на одно слово )
- работа с ОЗУ - только чтение/запись и только с косвенной адресацией - т.е. адрес базы в регистре ( в БЭСМ вся арифметика через ОЗУ идет, хоть и через буферы данных и адресов )
- явный адрес - только в командах управления

Татарин> Ну так они определяются размером индексного регистра.
Это если только такая адресация используется.
Но БЭСМ-6 допускала и прямую.
 109.0.0.0109.0.0.0

yacc

старожил
★★★
Татарин> С чего бы? Точно так же можно сделать длинный переход (используя код э34 или э36), переход может осуществляться по базе в одном из индексных регистров+адрес команды.
Давай мы посмотрим сюда

Система команд БЭСМ-6

(По традиции, разряды в регистрах нумеруются справа налево, начиная с 1.) Признак группы команд, в зависимости от принадлежности последней выполненной команды, могла принимать следующие значения: Все команды были 24-разрядные и располагались в словах попарно. Переходы допускались только на границы слов. Всего было две структуры: По традиции, коды операций пишутся в восьмеричной системе, включая разряды 20 - 13 или 20 - 16 и принимая S = 0, т.е. диапазоны кодов операций первой структуры - 000 - 077, а второй - 20 - 37. //  Дальше — www.mailcom.com
 

Я просто выпишу две команды длинную и короткую
Короткая:
Исполнительный адрес (Аисп) = ([ИР] + адрес + S * 070000 + МОД) mod 0100000
Где S это 0 или 1
Длинная:
Аисп = ([ИР] + адрес + МОД) mod 0100000

что тебе говорит последний оператор (mod 0100000)?
Это в восьмеричном коде. В десятичном это 32768

Еще вопросы есть ?
 109.0.0.0109.0.0.0

yacc

старожил
★★★
Татарин> В этом контексте любая команда с коротким адресом, по-твоему, - зло. :) И вот почитай, почему нет.
Команда с коротким адресом это где адрес - это смещение.
Но база берется из регистра.

Татарин> И какая для данного разговора разница?
Ну для начала что арифметика лезет в ОЗУ

Татарин> Ну так вот "расширение"-то и сводится к наличию "сегментных" базовых индексных регистров, относительно которых идёт вся "короткая" адресация. Всё. "Проблема" решена.
Ты почитай второй ответ
 109.0.0.0109.0.0.0

yacc

старожил
★★★
yacc> Но я тебе предложил вполне потенциальный кейс - сделать это в рамках Совнархозов без центрального надзора министерств.
yacc> И я вижу тебе он нифига не нравится

В кейсе без министерств надо было как-то заинтересовать заказчика - чтобы именно твою машину он купил.
В частности взять ценой и качеством.

Рассмотрим цену на примере Минска. Это очень показательный пример как работало пока министерства еще полностью не заработали.

Из книги Карпиловича "Так и было".
Но вернусь к делам тех лет. Пришло время, когда вопрос резкого увеличения выпуска ЭВМ встал во весь рост. Требовалось изготавливать уже сотни машин в год, то есть вести в полном значении этих слов их серийное производство. Изделием, с которого началось решение данной задачи, стала ЭВМ «Минск-32». Однако, хотя документация на машину была подготовлена, само её конструкторско-технологическое решение лежало в русле традиционных представлений. ЭВМ была спроектирована для единичного изготовления (сварные каркасы, отсутствие литых деталей, незначительное число пластмассовых и штампованных составляющих, индивидуальная сборка и т. д.).
Решение о переработке конструкторской документации, по которой уже сделаны опытные образцы и ведётся подготовка к государственным испытаниям продукции, явление крайне редкое, если вообще не уникальное. Подобный шаг требовал немалого мужества.
Были взяты на вооружение принципы, ранее применявшиеся в автомобильной, авиационной, оборонной промышленности. Сформировали несколько групп специалистов, которые разъехались для изучения передового опыта в различные уголки Союза. Я был в составе командированных, которые изучали работу в этом направлении на Загорском, Ижевском и Кунцевском заводах. Другие мои коллеги-заводчане выезжали на предприятия Ленинграда, Пскова, Новгорода, третьи — посетили Прибалтику. Эти поездки дали очень многое. Особое внимание мы уделяли технологии литья, штамповки, производству печатных плат, сборке и, конечно же, методам наладки.
Все увиденное детально обсуждалось на заседаниях техсовета, перенимали лучшее. Так рождались первые планы технического перевооружения, которые и сегодня служат коллективу.
 

Итак, минчане в инициативном порядке ( а не по указу КПСС ) решили увеличить темп выпуска и сами же поехали по местам перенимать опыт.
Для серийного производства машины «Минск-32» необходимо было изготовить 30 крупногабаритных штампов. Нам самим эта задача была не по плечу. К тому же документация постоянно дорабатывалась. Коллеги-инструментальщики с автомобильного и тракторного выручить не смогли — сами были перегружены работой, заказов не принимали. Руководители СКБ Л. Волков и М. Темкин делали всё, чтобы конструкторская документация была максимально технологичной и была готова в срок. Но проблема крупногабаритной оснастки оставалась.
Вышестоящее начальство в решении этого вопроса помочь не могло. Что делать? Вот здесь-то М. Темкин вспомнил, что, будучи в командировке в Москве, беседовал по данной проблеме с товарищем из Днепропетровска, который даже обещал помочь в обмен на внефондовую поставку ЭВМ. И вот Темкин, Грамович и я — в Днепропетровске. Но наш заказ разместить не удалось, на заводах Днепропетровска тоже не хватало инструментальных мощностей. Нам посоветовали посетить «Южмаш» — гигант отечественного машиностроения. На «Южмаше» нас внимательно выслушали, посочувствовали, но... за дело тоже не взялись. Что делать дальше? Возвращаться в Минск несолоно хлебавши?
...Как раз в это время директор «Южмаша» Макаров закончил диспетчерское совещание. А почему бы нам не встретиться с начальником заводского вычислительного центра? Вдруг поможет? Его заместитель В. Хазов по-настоящему заинтересовался нами — ведь мы могли помочь его службе.
На следующий день наш новый знакомый сказал следующее:
— Вашу проблему может решить только директор. Однако производство перегружено. Но и мы в вас кровно заинтересованы. Езжайте домой, а я ещё раз переговорю с Макаровым. Ждите вестей.
Мы в свою очередь пообещали «Южмашу» не только внефондовую ЭВМ «Минск-32», но и её запуск, а также гарантийное обслуживание до конца срока эксплуатации.
И вот резолюция: спроектировать, открыть заказ, изготовить в течение года.
Ура! Но — срок не устраивает. Однако знаем: основная работа делается в низах. Не может быть, чтобы не решили. Не впервой. Главное — зацепились. Возвращаемся в Минск, зная, что сказана лишь первая буква алфавита. А ведь Макаров имел в виду, что документация на крупногабаритные штампы будет отработана, и в ней мы ничего менять не будем. А на самом деле...
Для того, чтобы получить крупногабаритные штампы поскорей, мы занялись максимально точной доводкой техдокументации: известно, как болезненно воспринимают изготовители любые изменения в чертежах.
Так мы решили поставленную задачу. Три железнодорожных платформы с крупногабаритной оснасткой к общей нашей радости благополучно прибыли в Минск. Можно было вздохнуть с облегчением.
 

А вот тут наглядно как решалась "мелкая" переделка - всего-то корпуса для ЭВМ сделать.
но и штампов мало
Но производственная жизнь так устроена, что решение одной задачи обязательно рождает ворох новых проблем. Для эффективного использования штампов нужны были крупнотоннажные прессы. Причём, с максимальным размером «стола» и усилием в 500—800 тонн. Конечно же, эти прессы были остродефицитные, распределялись строго по фондам.
Крепко поработали, чтобы продвинуть решение данной проблемы, заместитель главного инженера Аробянц и начальник бюро мощностей ОГТ Крищанович. Подключились и самые «верха» — начальник 8-го Главного Управления Министерства Николай Васильевич Горшков. Сам опытный производственник, инструментальщик, хорошо понимающий, что откуда берётся, он основательно поддержал нас морально и, главное, материально. Добился финансирования нашего заказа, используя при этом и разного рода «хитрости», нетрадиционные методы. Но игра, как говорится, стоила свеч!
Однако нельзя строить планы только в расчёте на коллег. В течение двух лет мы сумели организовать производство и ремонт крупногабаритной оснастки у себя на заводе. Это была большая победа коллектива. Ибо была создана база для дальнейшей плодотворной работы.
 

Но и это не все
Штампы, прессы. Нужно добавить, что под новую технологию пришлось произвести полную перепланировку каркасно-штамповочного цеха. Причём, опять-таки своими силами — поработали ОГТ и ОКС.
Очень важно в тот период было сформулировать задачу, делать её понятной всем участникам общей большой работы. Например: «Штамповать весь стальной лист, свести до минимума обработку резанием, освоить производство пластмассовых и литых деталей».
Исходили из того, что это экономичней, проще. Однако на первых порах новое всегда требует затрат, хлопот. Где взять гидравлические прессы для реактопластов, а также термопластавтоматы? Поиски вариантов закупки результатов не дали. Значит, нужно проектировать и делать самим, не прекращая, разумеется, поиска возможных изготовителей или продавцов. Группа специалистов во главе с талантливым инженером Золманисом спроектировала (и довольно удачно) тридцатитонный гидравлический пресс, а ремонтно-механический цех под началом Р.А. Малаховского и Г.С. Пупышева сумели изготовить это непростое оборудование. Причём, солидную партию — 30 штук!
Так что вопрос закупки отпал сам собой. Наши самоделки блестяще выдержали испытания и основательно послужили производству.
 

Т.е. еще и завод сам делал.


Дальше »»»
 109.0.0.0109.0.0.0

yacc

старожил
★★★
Татарин> Была бы внешняя шина адреса 34 бита было б мод 234, а не 215.
И этого мало.
Если просто взять 15 бит да формулу Аисп = ([ИР] + адрес + МОД) то максимум ты получишь 98 304 слов адресации.
Нет у тебя смещения по сегментам - скажем МОД это сегмент1, [ИР] сегмент2 и уж потом адрес добавляется
Т.е. НЕТ у тебя 15 + 15 + 15 бит или 45 бит на адрес или 32 ГБайт - тебе процессор нафиг переделывать надо.

И переделывать ША - это дофига чего переделывать.
 109.0.0.0109.0.0.0

yacc

старожил
★★★
yacc>> Некоторым тут кажется, что перейдя на микросхемы автоматом все получается.
yacc>> На самом деле - не так все просто. История Минска тому подтверждение.
Татарин> Кстати, этот рассказ как раз показателен для понимания, сколько проблем снимает увеличение степени интеграции
Ты рано разогнался :D
Я еще сначала допишу
 109.0.0.0109.0.0.0

yacc

старожил
★★★
Татарин> У меня изначально в архитектуре оригинальной БЭСМ-6 заложено, что смещение складывается со словом базового индекса.
Татарин> А индекс - 48 бит, соотвественно, у меня изначально есть 48-битная адресация.
Только такой БЭСМ никогда не было - это так, влажные фантазии :D
 109.0.0.0109.0.0.0

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