Важная информация

User Tag List

Страница 6 из 19 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя
Показано с 51 по 60 из 187

Тема: Нужна помощь с запуском 1806ВМ2

  1. #51

    Регистрация
    14.11.2017
    Адрес
    г. Санкт-Петербург
    Сообщений
    131
    Спасибо Благодарностей отдано 
    59
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    8 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sandro Посмотреть сообщение
    Ну там же написано в документации!
    Да вроде всё по-руссски написано, а для понятного мало) (для аналоговика)

    Цитата Сообщение от Sandro Посмотреть сообщение
    Я совершенно неслучайно указал адрес ПЗУ 160000. Стартовое ПЗУ обычно ставят либо туда, либо ещё выше, например, 170000.
    У меня адресное пространство распределено так:
    ПЗУ: 000000 - 037776
    ОЗУ: 040000 - 047776

    Всё неправильно, да?

    И нет ли здесь у кого-нибудь документа Система команд ОСТ 11 305.909-82 ?
    Дайте ссылочку, пожалуйста

  2. #52

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

    По умолчанию

    Цитата Сообщение от radist108 Посмотреть сообщение
    У меня адресное пространство распределено так:
    ПЗУ: 000000 - 037776
    ОЗУ: 040000 - 047776
    В принципе можно и так. Тогда безадресный регистр лучше настроить на адрес 0400. Т.е. по адресам 0-0376 будут вектора USER-режима, а по адресам 0400-0676 вектора HALT-режима. Но в этом случае вектора USER-режима будут жёстко прописаны в ПЗУ, их не настроишь на конкретный адрес, но может это и не надо. Если процессор будет использоваться в качестве микроконтроллера, то и делить адресное пространство на HALT и USER необязательно, при адресном чтении/записи сигнал SEL можно игнорировать.

    Этот пользователь поблагодарил Alex_K за это полезное сообщение:

    radist108(14.03.2022)

  3. #53

    Регистрация
    14.11.2017
    Адрес
    г. Санкт-Петербург
    Сообщений
    131
    Спасибо Благодарностей отдано 
    59
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    8 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    В принципе можно и так. Тогда безадресный регистр лучше настроить на адрес 0400. Т.е. по адресам 0-0376 будут вектора USER-режима, а по адресам 0400-0676 вектора HALT-режима.
    А откуда эти значения адресов? В документации, как я понял, для USER-режима 7 векторов в адресах 000000-000250, а для HALT-режима 5 векторов в адресах xxx000-xxx274

  4. #54

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

    По умолчанию

    Цитата Сообщение от radist108 Посмотреть сообщение
    А откуда эти значения адресов? В документации, как я понял, для USER-режима 7 векторов в адресах 000000-000250, а для HALT-режима 5 векторов в адресах xxx000-xxx274
    Вектора USER-режима расположены строго с начала памяти, с адреса 0. Этот диапазон я указал, т.к. кроме внутренних прерываний, бывают ещё внешние векторные, само устройство передаёт адрес вектора. Обычно вектора расположены в диапазоне 0-0376, вот я его и привёл. Вектора HALT-режима лучше не пересекать с векторами USER-режима, адреса векторов HALT-режима настраиваются с диапазоном 0400.

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

    Цитата Сообщение от radist108 Посмотреть сообщение
    И нет ли здесь у кого-нибудь документа Система команд ОСТ 11 305.909-82 ?
    Дайте ссылочку, пожалуйста
    Лучше почитать описание системы команд 1801ВМ2- https://archive.pdp-11.org.ru/BIBLIO...01VM2SPECS.rar. Это ТО на 1801ВМ2 и там подробно описана система команд. А 1806ВМ2 это немного улучшенная версия 1801ВМ2, поправлены ошибки.

    Этот пользователь поблагодарил Alex_K за это полезное сообщение:

    radist108(14.03.2022)

  5. #55

    Регистрация
    14.11.2017
    Адрес
    г. Санкт-Петербург
    Сообщений
    131
    Спасибо Благодарностей отдано 
    59
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    8 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Тогда безадресный регистр лучше настроить на адрес 0400
    Так ведь по команде SEL считывается только старший байт безадресного внешнего регистра. Младшую половину 000400 процессор не увидит. Или я что-то неправильно понял?

  6. #56

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

    По умолчанию

    Цитата Сообщение от radist108 Посмотреть сообщение
    Так ведь по команде SEL считывается только старший байт безадресного внешнего регистра. Младшую половину 000400 процессор не увидит. Или я что-то неправильно понял?
    Процессор считывает его целиком, а для формирования адреса векторов HALT-режима использует только старший байт. А 0400 (число восьмеричное), это установленная единица в 8-м разряде, а это уже старший байт. Соответственно:
    0400, 0402 - вектор начального пуска;
    0404, 0406 - зависание в режиме HALT;
    0570, 0572 - сигнал/команда HALT;
    0574, 0576 - двойное зависание;
    0674, 0676 - зависание при приёме А.В.П.

  7. #57

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sandro Посмотреть сообщение
    Я совершенно неслучайно указал адрес ПЗУ 160000. Стартовое ПЗУ обычно ставят либо туда, либо ещё выше, например, 170000.
    Вообще-то у 1201.02 стартовое ПЗУ Halt-Mode стоит по адресу 140000, а с адреса с 160000 местами открывается фрагменты ОЗУ, которое вне Halt-Mode недоступно. Там пультовая программа держит свои рабочие поля, а также туда пересылается фрагмент программы, реализующий FIS.

    Цитата Сообщение от radist108 Посмотреть сообщение
    У меня адресное пространство распределено так:
    ПЗУ: 000000 - 037776
    ОЗУ: 040000 - 047776
    Во-первых, их надо поменять местами. И. во-вторых, такое имеет смысл использовать, если проц будет использоваться только в юзермоде. При этом для Halt=Mode, проще всего, прицепить двухсловное (минимум) ПЗУ Halt-Mode, которое первым словом будет содержать 040000 - адрес ПЗУ, вторым - 000340 - PSW для процессора. Первыми командами из юзермодовой ПЗУхи, если надо, прописать вектора и пр, потом, если надо, разрешить прерывания и только после этого писать собственно программу. И забыть, что существует вывод HALT (не помню, как его зовут у ВМ2) и команда HALT - и то, и другое банально завесят этот процессор в таком окружении.

    Цитата Сообщение от radist108 Посмотреть сообщение
    И нет ли здесь у кого-нибудь документа Система команд ОСТ 11 305.909-82 ?
    Опять же, рекомендую мой любимый документ 3.858.392 ТО - там подробный учебник по системе команд.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

    Этот пользователь поблагодарил AFZ за это полезное сообщение:

    radist108(14.03.2022)

  8. #58

    Регистрация
    14.11.2017
    Адрес
    г. Санкт-Петербург
    Сообщений
    131
    Спасибо Благодарностей отдано 
    59
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    8 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Теперь я хочу зафиксировать понимание и всё проговорить (с учетом уже имеющегося адресного пространства для ПЗУ и ОЗУ):

    Для адресного пространства:
    ПЗУ: 000000 - 037776
    ОЗУ: 040000 - 047776

    Шаг 0) Прошиваю в ПЗУ нужные мне USER-вектора с адресами меньше 000400 (000004, 000010 и т.д.), а также прошиваю HALT-вектора с адресами больше 000400 (000400, 000402 и тд.) согласно таблице 6 ТО.

    Шаг 1) Включение. Процессор в режиме HALT "считывает" восемь старших бит с внешнего безадресного регистра SEL. Этот регистр выставлен заранее джамперами на плате в значение 000400.

    Шаг 2) К старшему байту (биты 15..8) считанного регистра SEL процессор добавляет младший байт (биты 7..0), состоящий из нулей. В данном случае получается адрес 000400. Из ячейки ПЗУ с этим адресом берётся адрес начала программы XXXXXX и заносится в счетчик команд PC.

    Шаг 3) Процессор переходит к адресу в ПЗУ 000400+2=000402, где заранее прописано требуемое PSW (000340 согласно ТО)

    Шаг 4) Процессор переходит на адрес XXXXXX, записанный в PC в шаге 2, и программа начинает работу

    Поправляйте меня пожалуйста)

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

    Цитата Сообщение от AFZ Посмотреть сообщение
    Во-первых, их надо поменять местами. И. во-вторых, такое имеет смысл использовать, если проц будет использоваться только в юзермоде.
    Да если б я понимал,как на практике использовать этот HALT-мод) Он, наверное, не в микро-эвм используется а в больших ПК
    Цитата Сообщение от AFZ Посмотреть сообщение
    Во-первых, их надо поменять местами.
    Такое пространство было скопировано мной из заводской одноплатной ЭВМ (задом наперёд, сначала ПЗУ, потом ОЗУ)
    Последний раз редактировалось radist108; 15.03.2022 в 00:05.

  9. #59

    Регистрация
    20.01.2010
    Адрес
    г. Зеленоград
    Сообщений
    600
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    123 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от radist108 Посмотреть сообщение
    Теперь я хочу зафиксировать понимание и всё проговорить (с учетом уже имеющегося адресного пространства для ПЗУ и ОЗУ):

    Для адресного пространства:
    ПЗУ: 000000 - 037776
    ОЗУ: 040000 - 047776
    Наоборот. На PDP-11 в начале должно быть ОЗУ, уже несколько раз сказано.

    Цитата Сообщение от radist108 Посмотреть сообщение
    Да если б я понимал,как на практике использовать этот HALT-мод) Он, наверное, не в микро-эвм используется а в больших ПК
    Нет, ты не можешь его не использовать, поскольку процессор выходит в него при начальном запуске и любых аварийных ситуациях.

    Исходно он придуман для эмуляции пульта/отладчика PDP-11, так как реализация аппаратного пульта в однокристальном процессоре -- идея весьма странная. Потом нашлись и другие применения.

    Цитата Сообщение от radist108 Посмотреть сообщение
    Такое пространство было скопировано мной из заводской одноплатной ЭВМ (задом наперёд, сначала ПЗУ, потом ОЗУ)
    И что? На чем она была? На 8080 или Z80, так? У них другие соглашения об использовании адресного прстранства.

  10. #60

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

    По умолчанию

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

    Цитата Сообщение от Sandro Посмотреть сообщение
    так как реализация аппаратного пульта в однокристальном процессоре
    И тем не менее, как миниму в одном (однокристальном) процессоре от DEC (и нашей его копии) это есть. Ну а если считатать и неоднокристальные микропроцессоры, то я с ходу вспомню ещё два их (и наши копии)

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

    Хотя знакомство с процессором я бы всё таки начал с традиционного подхода. Стандартный софт - он как то больше к нему тяготеет. Да и попроще он будет в реализации - для программного барахла

Страница 6 из 19 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Нужна помощь
    от sevol в разделе Для начинающих
    Ответов: 2
    Последнее: 03.08.2010, 08:26
  2. Нужна помощь!!!!
    от Biozoom в разделе Барахолка (архив)
    Ответов: 30
    Последнее: 28.06.2010, 13:00
  3. Нужна помощь
    от VNN_KCS в разделе Программирование
    Ответов: 78
    Последнее: 26.06.2010, 21:38
  4. Нужна помощь!!!!!
    от Alegator в разделе Несортированное железо
    Ответов: 2
    Последнее: 30.05.2010, 15:44
  5. Нужна помощь
    от Sonic в разделе Несортированное железо
    Ответов: 0
    Последнее: 06.02.2007, 12:12

Ваши права

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