Здравствуйте, pagid, Вы писали:
LVV>>Дело не в объеме памяти, а архитектуре системы команд. LVV>>В pdp все было единообразно, аргументы могли располагаться где угодно. Методы адресации — единообразные. P>Это очень красиво, я тоже был и до сих пор в восторге, но оно не помогло использовать более 64К памяти.
Это не имеет никакого отношения к архитектуре системы команд.
VAX и M68k имели по сути такую же архитектуру — вершина CISC, любой аргумент почти любого типа. Но у них уже было 32-битное пространство без сложностей по рассматриванию огромного мира в крошечное окошко.
P> Там страницы переключаюся с отображением на 64К, а в в x86 сегментная организация, что оказалось куда как гибче и работоспособнее и без напрягов переехало на 32-разрядеую архитектуру.
Не переезжало оно без напрягов: в 32 битах его тупо не используют — безумных нет, а в 64 и нельзя использовать напрямую.
Вот если бы они сделали в стиле IBM, что в 32 и 64 битах сегментные регистры выбирают корневой страничный каталог — их бы использовали и по делу.
LVV>>Система команд небольшая, но за счет развитости и единообразия видов адресации возможности очень большие. LVV>>Одной командой можно было очистить ВСЮ память. LVV>>Я долго после pdp плевался на систему команд интела, где на каждый чих — отдельное специальное решение. P>Угу. Только интеловская плавно расширилась на 32 разряда и на 64, а для той такой возможности не было.
Ничего такого "плавного" в x86 не было. Парсинг команд в 32 и 64 заметно другой и разный между ними самими. Дополнительные регистры добавлены костылями, как и 64-битные данные большинства команд. Методы адресации заметно перестроились.
Видимость сходства, да, но внутри совсем другое.
Лучше бы, сохраняя общую архитектуру, полностью перекроили построение системы команд с нуля.
Но AMD были нищие и не могли это себе позволить.