User Tag List

Показано с 1 по 10 из 324

Тема: PDP-11 и всё всё всё :)

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

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

    Регистрация
    16.07.2021
    Адрес
    г. Черкесск
    Сообщений
    124
    Спасибо Благодарностей отдано 
    56
    Спасибо Благодарностей получено 
    14
    Поблагодарили
    11 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А если ввести 0 12?

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

    Должно быть прерывание с FEC=4

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

  3. #2

    Регистрация
    16.07.2021
    Адрес
    г. Черкесск
    Сообщений
    124
    Спасибо Благодарностей отдано 
    56
    Спасибо Благодарностей получено 
    14
    Поблагодарили
    11 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Запуск на FPGA 12,144
    Код:
    .ru ftest
    Enter first value  (int dec): 12
    Enter second value (int dec): 144
    
     *** Float operations ***
     *** ADD        156     007400
     *** SUB        132     007400
     *** MUL        1728    007400
     *** DIV        12      007400
     *** NEG        65524   007410
     *** ABS        12      007400
    
     *** Double operations ***
     *** ADD        156     007600
     *** SUB        132     007600
     *** MUL        1728    007600
    
     !!! Interrupt has been captured !!!
    FEC=000205      FEA=002520
    
     *** DIV        0       107604
     *** NEG        65524   107610
     *** ABS        12      107600
    - - - Добавлено - - -

    Цитата Сообщение от vva Посмотреть сообщение
    FEC=000205
    Такое значение FEC не имеет смысла (с точки зрения доки). Значение всегда четное в диапазоне 2 - 16

  4. #3

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

    По умолчанию

    Цитата Сообщение от vva Посмотреть сообщение
    Такое значение FEC не имеет смысла
    В доках искать лень. Посмотрел в PDP-11X (ака PDP-2011) - да, заносятся только четные значения.

  5. #4

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vva Посмотреть сообщение
    Такое значение FEC не имеет смысла (с точки зрения доки). Значение всегда четное в диапазоне 2 - 16
    По документации на KDF11-BA он вообще 4-х разрядный, от 2 до 14.

  6. #5

    Регистрация
    16.07.2021
    Адрес
    г. Черкесск
    Сообщений
    124
    Спасибо Благодарностей отдано 
    56
    Спасибо Благодарностей получено 
    14
    Поблагодарили
    11 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    По документации на KDF11-BA он вообще 4-х разрядный, от 2 до 14.
    По доке на FP11-E 2 -16
    на KDF11-AA: 2 - 12

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

    Цитата Сообщение от Hunta Посмотреть сообщение
    несинхронность обмена CPU и FPU
    По моему в варианте команды деления аккум-аккум все происходит внутри FPU (и прерывание генерится FPU).
    Вариант команды деления память-аккум работает без ошибки.

  7. #6

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

    По умолчанию

    Цитата Сообщение от vva Посмотреть сообщение
    По моему в варианте команды деления аккум-аккум все происходит внутри FPU
    Там идёт взаимодействие между CPU и FPP при передаче аргументов - приёме результов, если они на стороне CPU и есть некоторая зависимость от команда, когда в качестве одно или обоих из них выступает регистр. То есть на некоторых командых FPU понадобится или взять содержимое регистра CPU или сохранить туда что-то. И вот тут может быть как ошибка в микрокоде, так и не синхронность взаимодействия. Мне кажется, что в случае ошибки в микрокоде - оно бы вылезло на тестах, но.. именно, что кажется. А в принципе - листинги тестов скорее всего доступны - можно глянуть, есть ли в них тестирование DIVx на регистрах

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

    Цитата Сообщение от vva Посмотреть сообщение
    Вариант команды деления память-аккум работает без ошибки.
    Потому что здесь всё всегда однозначно - память, а не регистр, и она будет браться через проц

  8. #7

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Там идёт взаимодействие между CPU и FPP при передаче аргументов - приёме результов, если они на стороне CPU и есть некоторая зависимость от команда, когда в качестве одно или обоих из них выступает регистр. То есть на некоторых командых FPU понадобится или взять содержимое регистра CPU или сохранить туда что-то. И вот тут может быть как ошибка в микрокоде, так и не синхронность взаимодействия. Мне кажется, что в случае ошибки в микрокоде - оно бы вылезло на тестах, но.. именно, что кажется. А в принципе - листинги тестов скорее всего доступны - можно глянуть, есть ли в них тестирование DIVx на регистрах
    Такое взаимодействие с CPU возможно, если методы адресации в FSRC или FDST отличаются от нуля. Там действительно идёт обмен с памятью и в качестве регистров используются РОН процессора. Также РОН сохраняются, т.к. например при методе адресации (Rx)+ для double надо делать увеличение регистра на 010. Но когда в команде DIVF/DIVD в качестве FSRC выступает один из акуумуляторов, то взаимодействия с CPU по идее не должно быть.

  9. #8

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Такое взаимодействие с CPU возможно, если методы адресации в FSRC или FDST отличаются от нуля.
    В некоторых командах (с ходу не скажу, но на вскидку - команды конвертирования из int - источником будет регистр CPU или в int - приёмником будет регистр CPU) будут и регистры процессора

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Но когда в команде DIVF/DIVD в качестве FSRC выступает один из акуумуляторов, то взаимодействия с CPU по идее не должно быть.
    По идее - да. Но детали взаимодействия - надо смотреть исходники. Может, ошибка не микрокоде выполнения инстркция - а в части взаимодействия с процом. И ещё - меня сильно смущает, что тесты проходят - но тут надо листинги смотреть
    Цитата Сообщение от Alex_K Посмотреть сообщение
    т.к. например при методе адресации (Rx)+ для double надо делать увеличение регистра на 010.
    Не всегда. Если метод 27 (то есть #чтото), то PC увеличится по прежнему на два.
    Ну и при -(Rx) будет уменьшение - на 4, на 8 или на 2 для PC

  10. #9

    Регистрация
    16.07.2021
    Адрес
    г. Черкесск
    Сообщений
    124
    Спасибо Благодарностей отдано 
    56
    Спасибо Благодарностей получено 
    14
    Поблагодарили
    11 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Например:
    Код:
    .ru ftest
    Enter first value  (int dec): 0
    Enter second value (int dec): 144
    
     *** Float operations ***
     *** ADD        144     007400
     *** SUB        144     007400
     *** MUL        0       007404
    
     !!! Interrupt has been captured !!!
    FEC=000004      FEA=002520
    
     *** DIV        144     107400
     *** NEG        0       107404
     *** ABS        0       107404
    
     *** Double operations ***
     *** ADD        144     007600
     *** SUB        144     007600
     *** MUL        0       007604
    
     !!! Interrupt has been captured !!!
    FEC=000004      FEA=002520
    
     *** DIV        144     107600
     *** NEG        0       107604
     *** ABS   0       107604

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

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

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

Похожие темы

  1. Цифровая археология: 1801 и все-все-все
    от Vslav в разделе ДВК, УКНЦ
    Ответов: 2726
    Последнее: 03.11.2025, 17:07
  2. Вспомнить всё
    от Patison в разделе Люди
    Ответов: 195
    Последнее: 27.04.2024, 16:09

Ваши права

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