User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 180

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

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

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

    По умолчанию

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

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

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

    По умолчанию

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

    Кстати, для избавления 32-разрядного кода от зла абсолютной адресации перемещаемых данных - в числе команд нового процессора может весьма пригодиться команда: ADDR Label,Rx, реализующая командную последовательность: MOV PC, Rx | ADD (PC)+,Rx, но без изменения флагов в PSW.
    Последний раз редактировалось Patron; 15.09.2017 в 12:48.

  4. #3

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

    По умолчанию

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

  5. #4

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

    По умолчанию

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

    Такой уровень МЕГА-СОВМЕСТИМОСТИ 32-разрядного и 16-разрядного кода в одной программе - в принципе невозможно получить аппаратно.

    Так в чём проблема-то? Почему полная совместимость с PDP-11 как в 16-разрядном, так и в 32-разрядном режимах не удовлетворяет?

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

    Нужно отчётливо понимать, что любое количество 16-разрядных и 32-разрядных процессов могут выполняться ОДНОВРЕМЕННО. В каждом 16-разрядном процессе пользователь получает голую виртуальную PDP-11 с характеристиками, зависящими от конфигурации 16-разрядного сопроцессора. При отсутствии в конфигурации сопроцессора - создание 16-разрядных процессов невозможно.

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

    В принципе - можно предусмотреть создание виртуальных 16-разрядных процессов операционками, содержащими 16-разрядные виртуальные машины. Учитывая, что быстродействие 32-разрядного процессора в 20-100 ( и более ) раз превышает быстродействие реальных процессоров PDP-11 - возможно, есть смысл вообще не заморачиваться аппаратной поддержкой 16-разрядных процессов и с самого начала отдать работу с 16-разрядными процессами виртуальным машинам 32-разрядных операционок.


    Тогда можно в некоторых случаях даже не перекомпоновывать старый 16-разрядный код в 32-разрядный, а просто вместо вызова 16-разрядной подпрограммы делать вызов интерпретатора 16-разрядной виртуальной машины с адресом вызываемого 16-разрядного кода в качестве аргумента.
    Последний раз редактировалось Patron; 15.09.2017 в 14:17.

  6. #5

    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    373
    Поблагодарили
    310 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Нужно отчётливо понимать, что любое количество 16-разрядных и 32-разрядных процессов могут выполняться ОДНОВРЕМЕННО. В каждом 16-разрядном процессе пользователь получает голую виртуальную PDP-11 с характеристиками, зависящими от конфигурации 16-разрядного сопроцессора. При отсутствии в конфигурации сопроцессора - создание 16-разрядных процессов невозможно.
    а несколько ядер (два) 16 и 32 неравноправных естественно,а управляемых и отлаженную,
    микропрограмму управления этим хозяйтсвом + буфер некий для данных. ) (извиняюсь что встрял).
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  7. #6

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

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    а несколько ядер (два) 16 и 32 неравноправных естественно
    Не уверен, что кому-то кроме военных может понадобиться аппаратная поддержка 16-разрядных процессов. В принципе, поддержки 16-разрядных процессов ( и 16-разрядных подпрограмм в 32-разрядных программах ) обычным программным эмулятором PDP-11 в ядре 32-разрядной операционки - за глаза хватит для любых "бытовых" применений.
    Последний раз редактировалось Patron; 15.09.2017 в 14:25.

  8. #7

    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    373
    Поблагодарили
    310 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    обычным программным эмулятором PDP-11 в ядре
    вот вам верю )))
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  9. #8

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    А как ещё запускать родные программы 16-разрядных операционок?
    http://zx-pk.ru/threads/28074-32-raz...l=1#post928106 (например)

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

  10. #9

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

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    основная проблема не в командах, а в совместности доступа по байтам и по словам
    Но в том и преимущество компоновщика, что он совершенно точно знает, где в линкуемых библиотеках 32-разрядный код, а где 16-разрядный. Поэтому, прилинковывая 16-разрядную подпрограмму к 32-разрядному коду - компоновщик может или перекомпилировать 16-разрядный код в ПРАВИЛЬНЫЙ 32-разрядный код, или оформить вызов 16-разрядной подпрограммы через системный вызов интерпретатора 16-разрядного кода. В обоих случаях несовместимость полностью исключена.

  11. #10

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,504
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

Страница 1 из 2 12 ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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