User Tag List

Страница 9 из 18 ПерваяПервая ... 5678910111213 ... ПоследняяПоследняя
Показано с 81 по 90 из 180

Тема: 32-разрядный процессор, полностью совместимый с архитектурой PDP-11.

  1. #81

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Legacy-команды могут следовать вперемешку с другими командами.
    Легаси-команды - это точно такие же 32-разрядные команды, как и все остальные 32-разрядные команды. Абсолютная невозможность полной совместимости 16-разрядного кода с 32-разрядным режимом полностью снимает проблему совместимости. Для 16-разрядного кода - 16-разрядный режим, для 32-разрядного кода - 32-разрядный режим.

  2. #82

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Именно так, поэтому полная совместимость невозможна В ПРИНЦИПЕ.
    В ПРИНЦИПЕ возможна, если подумать. Но стоит ли таким путём её добиваться.

    Цитата Сообщение от b2m Посмотреть сообщение
    Также как и раньше. В том-то и идея, что нет разницы ни для 16-битного, ни для 32-битного кода.
    Поясни. Вот раньше был массив, к примеру, из 5 слов, в 16-битном режиме располагались в памяти друг за другом. А как будут в 32-битном располагаться?
    Прихожу без разрешения, сею смерть и разрушение...

  3. #83

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Вот раньше был массив, к примеру, из 5 слов, в 16-битном режиме располагались в памяти друг за другом. А как будут в 32-битном располагаться?
    Другой пример - вот раньше был массив, к примеру, из 5 байтов, в 16-битном режиме располагались в памяти друг за другом. А как будут в 32-битном располагаться?


    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Как при этом данные адресуются?
    А как адресуются байты при выполнении следующего кода:

    Код:
    	MOVB	(R0)+,(R1)+
    	MOVB	(R0)+,(R1)+
    	MOVB	(R0)+,(R1)+
    	MOVB	(R0)+,(R1)+
    	MOVB	(R0)+,(R1)+
    Процессор читает с шины двойные слова и потом как-то внутри себя выковыривает из прочитанного отдельные байты. Но ведь байты не только читать, но и писать нужно. А как PDP-11 может писать отдельные байты при 16-разрядной шине - так и при 32-разрядной сможет.
    Последний раз редактировалось Patron; 14.09.2017 в 22:20.

  4. #84

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Легаси-команды - это точно такие же 32-разрядные команды, как и все остальные 32-разрядные команды.
    и зачем они тогда нужны как отдельный класс? "упрощение переделки старых кодогенераторов" на вескую причину как-то не тянет, всё равно и новые генрировать
    Прихожу без разрешения, сею смерть и разрушение...

  5. #85

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    В ПРИНЦИПЕ возможна
    Полная совместимость - это когда 16-разрядные и 32-разрядные команды выполняются вперемешку в одном адресном пространстве. Можно ввести 32-разрядную команду: "выполнить следующие Х слов в 16-разрядном режиме", но это не может решить проблему абсолютной адресации, потому что команды из 16-разрядного фрагмента должны иметь доступ к данным за пределами фрагмента.

    - - - Добавлено - - -

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    и зачем они тогда нужны как отдельный класс? "упрощение переделки старых кодогенераторов" на вескую причину как-то не тянет, всё равно и новые генрировать
    Другая причина - помочь всем и каждому понять, почему полная совместимость старого двоичного 16-разрядного кода с 32-разрядным адресным пространством - в принципе невозможна.

  6. #86

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Полная совместимость - это когда 16-разрядные и 32-разрядные команды выполняются вперемешку в одном адресном пространстве. Можно ввести 32-разрядную команду: "выполнить следующие Х слов в 16-разрядном режиме",
    ...и команду для X=1 обозвать префиксом смены разрядности))

    Цитата Сообщение от Patron Посмотреть сообщение
    команды из 16-разрядного фрагмента должны иметь доступ к данным за пределами фрагмента
    это за пределами совместимости (хотя можно запилить сегменты как на пц)))

    - - - Добавлено - - -

    Цитата Сообщение от Patron Посмотреть сообщение
    Другая причина - помочь всем и каждому понять, почему полная совместимость старого двоичного 16-разрядного кода с 32-разрядным адресным пространством - в принципе невозможна.
    еще лучше - "сделаем нелепую архитектуру, чтоб все поняли, насколько она нелепа"
    Прихожу без разрешения, сею смерть и разрушение...

  7. #87

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    это за пределами совместимости (хотя можно запилить сегменты как на пц)
    Существует абсолютная гарантия, что для любой 32-разрядной архитектуры всегда найдётся такой двоичный 16-разрядный код PDP-11, который не будет исполняться в этой 32-разрядной архитектуре так же, как в PDP-11. Эта гарантия делает совершенно бессмысленными любые попытки обеспечить частичную совместимость. Совместимость не бывает частичной - она или есть, или её нет. В случае с двоичным кодом PDP-11 - полная совместимость принципиально невозможна, а частичная - даром не нужна.

    - - - Добавлено - - -

    Но если речь идёт о полной совместимости на уровне исходных текстов - такая совместимость легко достигается директивой компилятора "включить предупреждения совместимости" - тогда компилятор выделит все строки кода, выполнение которых даст несовместимый результат в 16-разрядном и 32-разрядном режиме.

    Например:

    Код:
    CONST = .+2.		; <-- !!! Несовместимо !!!
    1$:	MOV #36., R0
    	.TTYOUT
    	DEC	CONST
    	SOB	R0, 1$
    	HALT

  8. #88

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Существует абсолютная гарантия, что для любой 32-разрядной архитектуры всегда найдётся такой двоичный 16-разрядный код PDP-11, который не будет исполняться в этой 32-разрядной архитектуре так же, как в PDP-11.
    да ладно? вот прям красавец pdp настолько ущербнее уродца x86, где шмогли отвиртуалить 16 бит?

    Цитата Сообщение от Patron Посмотреть сообщение
    Эта гарантия делает совершенно бессмысленными любые попытки обеспечить частичную совместимость.
    то есть "раз 10% кода не заработает - нахрен остальные 90%" - так штоле?

    Цитата Сообщение от Patron Посмотреть сообщение
    Совместимость не бывает частичной - она или есть, или её нет.
    еще как бывает, и очень разная - бинарная на уровне железа или оси, на уровне исходников итд

    Цитата Сообщение от Patron Посмотреть сообщение
    В случае с двоичным кодом PDP-11 - полная совместимость принципиально невозможна, а частичная - даром не нужна.
    два необоснованных утверждения

    Цитата Сообщение от Patron Посмотреть сообщение
    Но если речь идёт о полной совместимости на уровне исходных текстов - такая совместимость легко достигается директивой компилятора "включить предупреждения совместимости" - тогда компилятор выделит все строки кода, выполнение которых даст несовместимый результат в 16-разрядном и 32-разрядном режиме.
    а, ну тогда "если речь идёт о полной бинарной совместимости - такая совместимость легко достигается прерыванием привилегированных операций"

    - - - Добавлено - - -

    Ладно, вот какая мысль извратная пришла в голову. Расширяем все регистры до 32 бит. А размер команды и слова данных при работе с памятью автоматически определяться будет по адресу! В первых 64k - слово 16 бит, при чтении расширять нулём до 32 (вариант - в первых и последних 32k, при чтении расширять знаком). Остальные адреса - слово 32 бита, в том числе для выборки команды (на деле все реальные адреса мб выровнены на 4 байта, если так нужно). Ну, там также можно добавлять команд, регистров в новом формате. Биты для формирования флагов тоже от адреса команды зависеть могут. Перенос прерыванием отлавливать еще можно, корректировать регистры для совместимости. Таким образом, любой старый 16-битный код свободно сможет выполняться любым процессом, а при переходе в старшие адреса (если не блокировать переносы) автоматически становится 32-битным.
    Прихожу без разрешения, сею смерть и разрушение...

  9. #89

    Регистрация
    20.06.2014
    Адрес
    г. Орск, Оренбургская обл.
    Сообщений
    813
    Спасибо Благодарностей отдано 
    33
    Спасибо Благодарностей получено 
    80
    Поблагодарили
    60 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Извиняйте, пожалуйста, что лезу в Ваш калашный ряд...
    По поводу совместимости, быть может Вам будет интересно (и полезно), это как вариант: посмотрите как в 16-битном 65816 реализована совместимость со старым 8-битным 65(C)02. Правда, в русской википедии налажали с переключением в расширенный (нативный) режим, в даташите все основательно расписано.
    Последний раз редактировалось LeoN65816; 15.09.2017 в 07:06.
    Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).

  10. #90

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    290
    Поблагодарили
    216 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    помочь всем и каждому понять, почему полная совместимость старого двоичного 16-разрядного кода с 32-разрядным адресным пространством - в принципе невозможна.
    Да почему невозможна-то? Если сохранить адресацию слов через 2 (неважно, что при этом процессор будет читать не два байта, а четыре), то какие проблемы-то? Или всех смущает, что при побайтовой адресации нам недоступны старшие 16 бит слова? Так их можно будет адресовать нормальными 32-битными командами.

Страница 9 из 18 ПерваяПервая ... 5678910111213 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Собрал комп полностью своими руками
    от scooby-do в разделе Зарубежные компьютеры
    Ответов: 15
    Последнее: 15.03.2025, 00:11
  2. Fuzebox - полностью открытая 8-битная игровая приставка
    от CityAceE в разделе Зарубежные компьютеры
    Ответов: 22
    Последнее: 09.03.2017, 15:35
  3. MSX и EPSON-совместимый принтер
    от ipkin в разделе MSX
    Ответов: 3
    Последнее: 01.12.2011, 19:23
  4. Ответов: 5
    Последнее: 20.06.2011, 03:18
  5. Куплю ZX совместимый компьютер.
    от billgilbert81 в разделе Барахолка (архив)
    Ответов: 19
    Последнее: 05.12.2008, 20:33

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •