Я, конечно, не за консул, но на печатной машинке, которая у нас, эта фигня для ленты приподнимается, когда так руками делаешь рычажком с буквой, независимо от того - есть лента или нет и если есть - правильно ли она заправлена
Consul 260 + Электроника 60 + FS-1501 запуск
Consul 260 + Электроника 60 + FS-1501 запуск
- Technomancer
- Advanced Member
- Сообщения: 937
- Зарегистрирован: 12.06.2016,19:56
- Откуда: Рига
-
Конкурсы
Вклад в сообщество
Consul 260 + Электроника 60 + FS-1501 запуск
Ого, спасибо, значит я свой M8063 и на 16KB смогу запустить.
Consul 260 + Электроника 60 + FS-1501 запуск
Только обращаю внимание, что без танцев с бубном (читай - без генерации системы с беспощадным вырезанием всего) мне удалось это только с третьей версией RT (дистрибутив).
И ещё мне упростило задачу то, что есть дистрибутив с загрузкой с RK11, а у меня на моём PDP внутри FPGA был контроллер RK11.
И моя цель была - проверить сгенерённый PDP-11 на работоспособность в принципе, так что я потом даже не пытался сделать вариант с более поздними версиями. Ну, а 16 кб памяти получилось потому, что в том циклоне, под который я это делал, больше памяти не получалось (точнее, ЕМНИП - примерно до 20 кб можно было сделать, но блоки памяти нужны будут ещё для другого, так что я ограничился 16-ю кб)
-
- Full Member
- Сообщения: 223
- Зарегистрирован: 05.04.2009,19:07
- Откуда: Saint-Petersburg
- Контактная информация:
Consul 260 + Электроника 60 + FS-1501 запуск
Совершенно верно. Перфоленточный бейсик прекрасно грузится в 8 кБ (точнее 4Кслов) ОЗУ и не требует операционной системы, поскольку сам же ею и является. Только вот займёт он все эти 8кБ, и для программ почти не останется места. В машине из видео установлена вся возможная память (32 Кслов за вычетом старших 4К).
177550L — по этой команде М2 и загружает те самые полсотни 6-разрядных чисел сам себе без участия пользователя. Это и есть начальный (аппаратный) загрузчик с перфоленты. Он грузит чуть более длинную перфоленту абсолютного загрузчика, которая, в свою очередь, уже может загружать с перфоленты всё что угодно, например Бейсик.и какой еще загрузчик из перфоленты?
Лента заправлена немножко неправильно.Дальше вопрос номер 2, я вроди как установил ленту для печати но получается что у меня буквы будут лупить бумагу выше ленты
Небось, стоит в нейтральном положении? Надо поставить в любое крайнее.
Всего доброго. Евгений.
- DOS Logic
- Advanced Member
- Сообщения: 5849
- Зарегистрирован: 01.07.2006,13:32
- Откуда: Украина. Ивано-Франковск
- Контактная информация:
-
Вклад в сообщество
Consul 260 + Электроника 60 + FS-1501 запуск
Eats, Спасибо за ответ!
32 Кслов это 64 килобайта?
Сначала грузится он, так как он в начале, а потом он знает что надо грузить эту перфоленту дальше, или ждет пока установлят другую с расширенным загрузчиком?
И этот расширеный загрузчик может грузить все что угодно?
32 Кслов это 64 килобайта?
Не понял, тоесть какой то начальный загрузчик есть на всех перфолентах? в начале?177550L — по этой команде М2 и загружает те самые полсотни 6-разрядных чисел сам себе без участия пользователя. Это и есть начальный (аппаратный) загрузчик с перфоленты. Он грузит чуть более длинную перфоленту абсолютного загрузчика, которая, в свою очередь, уже может загружать с перфоленты всё что угодно, например Бейсик.
Сначала грузится он, так как он в начале, а потом он знает что надо грузить эту перфоленту дальше, или ждет пока установлят другую с расширенным загрузчиком?
И этот расширеный загрузчик может грузить все что угодно?
Хм... А это возможно, у меня один переключатель стоит как-то так что "ни туда ни сюда"Небось, стоит в нейтральном положении? Надо поставить в любое крайнее.
-
- Full Member
- Сообщения: 223
- Зарегистрирован: 05.04.2009,19:07
- Откуда: Saint-Petersburg
- Контактная информация:
Consul 260 + Электроника 60 + FS-1501 запуск
Ну да, только эта машина 16-разрядная, а не байтовая, поэтому и память она считает 16-разрядными словами, а не байтами. В принципе, она может выбрать из ОЗУ один байт, но это будет заметно дольше, чем выбрать сразу два байта по чётному адресу. А байтовые операции с регистрами вообще возможны только для младшего байта. А в 1801ВМ2 есть ещё и ошибка при работе с байтовыми регистровыми операциями! Так что лучше работать со словами и считать память целыми словами, а не половинками-байтами. 64 Кбайта — это 16 линий адреса и 8 линий данных. 32Кслова — это 15 линий адреса и 16 линий данных. Но это одна и та же ёмкость! У Э-60 нулевая линия адреса обычно не используется, поэтому работают только 15 линий. А вот при передаче данных используются все 16 линий. Поэтому у вас на плате М2 установлено 16 одноразрядных микросхем ёмкостью 4Кбит. Все 16 их линий данных составляют одну 16-разрядную шину данных и дают ёмкость этого резидентного банка памяти 4К*16. Про шину адреса и её совмещение с шиной данных пока не будем, оставим на потом.
Давайте не путать терминологию! Начальный (аппаратный) загрузчик находится в ПЗУ (581РУ1), поэтому и называется аппаратным. Он маленький! И возможности у него тоже маленькие! С его помощью грузят не любую перфоленту, а только другой загрузчик, называемый абсолютным. Он больше в размере и в способностях, поскольку может загрузить любую перфоленту, пробитую в абсолютном (от чего и получил своё название) формате. 30 лет назад (когда я активно пользовался перфоленточным бейсиком) чтобы не изнашивать лишний раз перфоленту абсолютного загрузчика, я пробил его в начале бейсика. Но обычно так не делают. Я не знаю, почему...Не понял, тоесть какой то начальный загрузчик есть на всех перфолентах? в начале?
Всего доброго. Евгений.
Consul 260 + Электроника 60 + FS-1501 запуск
Ну вообще то это не всегда так. Зависит от организации памяти, но, насколько мне не изменяет память - на Э-60 она словная.
А вот на периферийном процессоре УК-НЦ память байтовая и там будут тормоза.
Процессор при чтении всегда читает слово (сам выбирая нужный байт), а при записи выставляется старший или младший байт, сигнал Запись Байта и по нулевому биту в адресе устройство (например память) смотрит само, какой байт пишется.
При попытка чтении или записи слова по НЕЧЁТНОМУ адресу стандартный подход - прерывание по нечётному адресу, но есть процессора (например, наши 1801ВМ1 и ВМ2, есть и DEC-овские), которые не отрабатывают такие ситуации.
-
- Full Member
- Сообщения: 223
- Зарегистрирован: 05.04.2009,19:07
- Откуда: Saint-Petersburg
- Контактная информация:
Consul 260 + Электроника 60 + FS-1501 запуск
В рамках этой темы — всегда. В цикле ВВОД всегда происходит выборка полного 16-разрядного слова. И если выполняется команда передачи байта между старшим байтом слова памяти (адресуемым по нечётному адресу) и регистром (у которого, как мы помним, невозможно адресовать старшую, то есть нечётную половину) или младшим байтом слова памяти (адресуемым по чётному адресу), то проц должен сделать SWAB прямо на лету, во время выполнения команды. И он это делает, но из-за этого время выполнения таких команд увеличивается.
Не изменяет, она там действительно словная.насколько мне не изменяет память - на Э-60 она словная.
Не совсем так. При чтении процессор действительно всегда читает слово, от чего и происходят тормоза при необходимости разместить старший байт по младшему адресу или наоборот. А вот при записи у вас масло масляное: нет такого сигнала "старший или младший байт". Есть лишь сигналы "Запись Байта" и тот самый нулевой бит в адресе. Об этом я написал в предыдущем своём сообщении "У Э-60 нулевая линия адреса обычно не используется", поскольку она действительно используется только при байтовых операциях, которые для Э-60 не являются родными. Всё родное у этой машины 16-рязрядное: выборка команд всегда производится полным 16-разрядным словом; даже чтение байтовых данных всегда производится полным 16-разрядным словом, а затем при необходимости на лету выполняется SWAB; дистанция в командах ветвления указана в словах, поэтому для вычисления адреса её надо умножать на 2; я уж молчу об операциях сложения-вычитания, которые только 16-разрядные.Процессор при чтении всегда читает слово (сам выбирая нужный байт), а при записи выставляется старший или младший байт, сигнал Запись Байта и по нулевому биту в адресе устройство (например память) смотрит само, какой байт пишется.
Всего доброго. Евгений.
Consul 260 + Электроника 60 + FS-1501 запуск
Есть такой элемент - мультиплексор и он позволяет направить нужные биты считанного слова в нужное место, так что никакого внутреннего SWAB-а процессор не делает. ЯВНЫЙ SWAB нужен только если надо байт из памяти загнать в старший байт регистра.
Покажите, где я написал про сигналы старший или младший байт? Я написал что (на шину) выставляется старший или младший БАЙТ и СИГНАЛ ЗАПИСИ БАЙТА
Consul 260 + Электроника 60 + FS-1501 запуск
Ошибся. Проверил на ВМ3. При чтении байта тормозит примерно в полтора раза по сравнению с чтением слова. Но - ему плевать, какой байт читать - чётный или нечётный - тормозит одинаково.
Ну что могу сказать - идиотизм. Вот результат PDP-2011 (ака PDP-11/34)
Код: Выделить всё
.RUN SPEED3
Тест быстродействия (кэш, если он есть, выключен)
R1 := M 445 462 оп./сек
R1 := M0 311 491 оп./сек
R1 := M1 311 491 оп./сек
Код: Выделить всё
.RUN HX7:SPEED3
Тест быстродействия (кэш, если он есть, выключен)
R1 := M 8 319 880 оп./сек
R1 := M0 8 319 880 оп./сек
R1 := M1 8 319 880 оп./сек