PDP-8

Digital Equipment Corporation PDP-8 & PDP-11 (а также совместимые с последним советские ЭВМ на 1801ВМ1/2/3)

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

PDP-8 Peripherals

Post by Lavr »

Идея была - попробовать прикрутить к PDP-8 ППА i8255 и обращаться к нему её "родными"
командами IOT
Lavr wrote:...сама команда-то (IOT) довольно проста:

Image

Доступны 64 устройства и 8 вариантов действий.

Есть стандартные устройства (клавиатура, принтер, ленточный или дисковый накопитель и т.д.).
А есть устройства, которые прицепляет пользователь - вот там - анархия...
Но прикрутить i8255 к PDP-8 особого аппаратного, да и программного труда не составит,
хотя, в отличие от привычных нам систем на i8080, Z80, 6502, аппаратный "гиморроец" -
зело прибавится. :wink: И дело тут вот в чем...

Привычные нам системы могут записать в порт и считать порт при обращении к нему,
а вот с PDP-8 - всё совсем не так.
Со своими устройствами ввода/вывода она в принципе может делать следующие действия:

Code: Select all

1. Пропустить следующую инструкцию, основываясь на некотором аппаратном статусе.
2. Очистить регистр-аккумулятор (AC)
3. Занести содержимое регистра устройства в регистр-аккумулятор (AC) посредством 
   операции логическое ИЛИ.
4. "Микропрограммировать" комбинации (1), (2), и (3). Комбинация (2) и (3) вместе
    особенно полезна, чтобы прочитать регистр устройства.
5. Записать содержимое регистра-аккумулятора (AC) в регистр устройства.
6. Сгенерировать прерывание, базирующееся на аппаратном статусе - обычно тот же статус,
   как и в (1). Функция прерывания использует операцию (1) опроса статуса каждого
   устройства последовательно, чтобы определить какое устройство вызывало прерывание.
7. Прямой доступ к памяти - ПДП (DMA).
Но что делать с каждым неизвестным ей устройством PDP-8 не знает, поэтому делает
такой хитрый трюк: выставляет код операции на шину и сопровождает его сигналом
"I/O PAUSE L", который и означает, что идет обращение процессора к УВВ.

По этому сигналу каждое устройство своим селектором собственного адреса должно
"осознать", что обращаются к нему, и поскольку PDP-8 не знает что с устройством
делать, устройство должно тут-же на лету дешифровать код операции в битах 9-11 и
"сообщить" процессору PDP-8 по специальной шине C0-C2, какое действие из приведенных
в списке выше нужно совершить. Процессор его и совершит в следующем такте.

Поэтому систему команд ввода/вывода PDP-8 называют "расширяемой", поскольку, дешифруя
биты 9-11, внешнее устройство может делать само что угодно, но от процессора может
потребовать только действие из списка выше.
Если ни одно из действий не выбрано, то это эквивалентно операции NOP.

Что касается подключения i8255 - то понятно, что её придется обвесить в самом простом
варианте Режима_0 дополнительной логикой, которая будет предписывать процессору PDP-8
хотя бы 2 его стандартные "услуги":
- Очистить регистр-аккумулятор (AC) и занести в него содержимое регистра устройства
посредством операции логическое ИЛИ.

- Записать содержимое регистра-аккумулятора (AC) в регистр устройства.

И это всё сопроводить селектором номера группы регистров i8255.

При этом довольно трудно будет работать со сменой режимов i8255, поскольку дешифрация
команды и сообщение её смысла процессору PDP-8 выполняется внешней жесткой логикой.

Так что для "гибкости" работы с "гибким" устройством ППА i8255 проще приделать внешний
контроллер, который во всём этом будет разбираться... :wink:

Ну а что касается схемотехники - вот простой пример схемы из PDP-8 Small Computer Handbook:

Image
Увеличить

Это устройство "умеет" вот что:

Image

Я рассмотрел только "программный ввод/вывод" в системе с PDP-8. Есть вариант - работы
по прерываниям, кому он интересен - со вкусом курите PDP-8 Small Computer Handbook -
там всё написано понятно, но предупреждаю: привыкшим к i8080, Z80, 6502 всё это весьма
и весьма непривычно, но не более того.

Сам я озадачился данным вопросом, чтобы попробовать прикрутить i8255 к EDUC-8. Но она -
хоть и упрощенный "огрызок" PDP-8, такого механизма не имеет - только слабые потуги на
некоторые аналогии при работе с флагами устройств ввода/вывода. :(

А вообще говоря, механизм этот у PDP-8 довольно оригинальный! :kruto:
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Lavr wrote:Но - "спешыал танксы" уважаемому David Gesswein, что он сэкономил
мне время и ткнул носом, что конкрено читать в той куче мануалов.
Как разберусь - отпишусь ему с респектом, хотя он ему вряд ли нужен...
Как говаривал президент Рональд Рейган - "доувериай but проувериай"... :lol:
Поскольку я с PDP-8 совсем даже не "на ты", я тоже решил себя проверить...

On Fri, Sep 27, 2013, Lavr wrote:
> To: David Gesswein
>
> Thanks for your links, David!
>
> Reading the PDP-8 Small Computer Handbook has been very useful to me!
> If I understand well, the connection of i8255 to the PDP-8 would require
> the introduction of additional logic, which will prescribe through the C0-C2
> lines the CPU performance of its two operations at least:
>
> - Clear the AC & OR a device register into the AC.
> - Write AC to a device register.
>
> And because i8255 PIA is a flexible device, this will be quite
> uncomfortable design.
> Is that correct?
>

Yes that would be the normal way to do it. I'm not sure I would call it quite
uncomfortable design but yes the chip isn't a great match to the PDP-8 IOT
scheme.


Так что, всё, что я изложил выше, по меньшей мере никого в заблуждение
и ошибку ввести не должно...
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Lavr wrote:Вот её ( PDP-8 ) блок-схема, согласно PDP-8_Brochure_Mar65.

Image

У вас нет ощущения, что здесь реально чего-то не хватает? :o
Нет - с этой PDP-8 что-то странное! На её блок-схемах - нет АЛУ! :o

Image


А вот на блок-схеме Intersil 6120 АЛУ есть! Но всё остальное - достаточно условное... :-?

Image
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Lavr wrote:Нет - с этой PDP-8 что-то странное! На её блок-схемах - нет АЛУ! :o
А вот по отечественной книге А.В.Куценко, Б.А.Полосьянц, Ю.В.Ступин "Мини-ЭВМ в экспериментальной физике"
у PDP-8 АЛУ имеется! :o



iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Так, ну откуда А.В.Куценко, Б.А.Полосьянц, Ю.В.Ступин взяли свои картинки - я нашел: 8)

http://bitsavers.trailing-edge.com/pdf/dec/pdp8/ - здесь.

А вот одна чисто практическая страница меня с толку сбивает... :(

http://www.vandermark.ch/pdp8/index.php ... .Processor
Processor
The processor as such in a PDP8-E is the minimal configuration as shown (called KK8E). The modules have to be installed in the sequence given: first the console and timing generator, last the busloads. To the right of each picture we have also included a link to the schematics.
Что-то я не пойму, где же процессор без АЛУ?

Есть у нас кто-нибуть, специалист по PDP-8?
iLavr
petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

Post by petrenko »

IMHO примерно такое же число, что и специалистов по т3-29 .. :-?
( ну и плюс ~ минус 0.5 землекопа :roll: )
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

petrenko wrote:IMHO примерно такое же число, что и специалистов по т3-29...
Мне кажется, если есть принципиальная электрическая схема, то большинство
из нас в качестве специалистов справится.

Тут же вопрос выглядит так - как бы эту принципиальную схему хотя бы увидеть.
Поскольку с «Саратов-2» и «Электроника-100И» у меня
дела по доставанию схем как-то не пошли,
я решил обратиться к оригинальной документации PDP-8.

Ну и поскольку там всё разделено на платы, я взял в помошь вот этот адрес:
http://www.vandermark.ch/pdp8/index.php?n=Hardware.Processor -
какой минимальный набор плат нужен для сборки минимальной рабочей конструкции PDP-8.

Получается так, что:
KC8EA console - это морда с лампочками и клавишами;
M8330 timing generator - ясно, что задающий генератор;
M8300 Major-Registers - понятно, что блок регистров;
M8310 Major register сontrol - схема управления регистрами;
и
M8320 Bus Loads - похоже, что плата шинных нагрузок;
(должна быть всегда последней в корзине).

А вот АЛУ я снова в этом наборе не наблюдаю...

С другой стороны - вот фотография сборки:

Image

И вот список этих плат в последовательности монтажа в корзине:

Image

Вот и сбивает с толку вопрос - присутствующие в списке и в корзине две платы: Extended arithmetic element -
это и есть АЛУ или это какая-то расширенная арифметика... но где тогда АЛУ?
Last edited by Lavr on 26 Apr 2014 10:20, edited 1 time in total.
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Так, если верить блок-схеме выше, то скромное АЛУ PDP-8 находится на вот этой плате:

M8300 Major-Registers - блок регистров;

Image

Но вот по схеме от этого блока - KK8-E - я что-то АЛУ не нахожу... правда качество схемы оставляет
желать лучшего... :(

А вот Extended arithmetic element - это действительно не АЛУ, а мат.сопроцессор проще говоря.
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Lavr wrote: я взял в помошь вот этот адрес:
http://www.vandermark.ch/pdp8/index.php ... .Processor -
какой минимальный набор плат нужен для сборки минимальной рабочей конструкции PDP-8.

Получается так, что:
KC8EA console - это морда с лампочками и клавишами;
M8330 timing generator - ясно, что задающий генератор;
M8300 Major-Registers - понятно, что блок регистров;
M8310 Major register сontrol - схема управления регистрами;
и
M8320 Bus Loads - похоже, что плата шинных нагрузок;
(должна быть всегда последней в корзине).
Скачал я весь набор документов на эти платы. Начал разбираться с M8300 Major-Registers.
Эх и тяжело там вся схемотехника отрисована, что АЛУ так пока и не нашел... :o

Даже непонятно, как люди выполняют PDP-8 в FPGA, опираясь на эти схемы... :-? Ну или они
так говорят, что опираются на эти схемы...
iLavr
bigral
Senior
Posts: 152
Joined: 31 Mar 2012 16:50
Location: 93.73.80.128

Post by bigral »

вот неплохой обзор https://www.youtube.com/watch?v=NBF7wesc3VA
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Оригинальная ферритовая память у PDP-8, как пишут, выглядела вот так:


Увеличить

Жаль, ничего нет рядом, чтобы оценить размер в масштабе... :(

А вот тут она - покрупнее...

iLavr
Александр А.
Senior
Posts: 165
Joined: 25 Jan 2015 11:38
Location: 109.225.59.224

Post by Александр А. »

Нечто подобное наблюдается на фотографиях PDP-8/S, напоминает недокуб памяти. Колечки должны быть такими, что хорошо надеваются на ножки того же диода 1N4148.
Просто Александр.
User avatar
MM
Banned
Posts: 102
Joined: 02 Feb 2014 08:29
Location: Павловский Посад

Post by MM »

Как в советском мультике :
Сидит , значит, волк под столом на банкете, и заявляет :
- счас спою !

В прошлом году из цехов повыкинули десяток Э-100, они совмесно с "Измирами" работали примерно с 1985 г.
Туда же и БК0010 направились - я из помойки достал несколько "стриженок", думаю восстановить...
Комплексы соцстран Икомат-200 в цельном составе уехали на полигон ТБО - я типа пытался несколько плат посмотреть - они не преставляют вообше никакой ценности... Даже на сувениры на профильном форуме никто не купил...
ImageImageImage
Александр А.
Senior
Posts: 165
Joined: 25 Jan 2015 11:38
Location: 109.225.59.224

Post by Александр А. »

В прошлом году из цехов повыкинули десяток Э-100, они совмесно с "Измирами"
Конкретно какие Э-100 выкинули ?
Просто Александр.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

С Александром А. в личной переписке мы как-то обсуждали сравнительные габариты
стоек PDP-8 и "Саратов-2".
На мой взгляд (но я не сравнивал по документам) размеры должны быть идентичны, плюс -
"Саратов-2" чуть больше из-за разных метрических систем.
Поэтому западные блоки, по идее, в "Саратов-2" должны влезать.

Попалась мне довольно приличная фотография стойки PDP-8:

Image

Хорошо видны внутренности. Ферритовые кубы тоже внизу, как мне кажется на взгляд.
Поскольку компоновку памяти "Саратов-2" мы видели, то заметно, что исполнение машин
не идентично.

Фотография еще интересна тем, что она из кадра весьма хорошего древнего фильма: "Три дня Кондора".
Когда я смотрел этот фильм в первый раз, я еще не знал ничего про PDP-8 и воспринимал эти кадры
как "киношный антураж ЭВМ".
Когда пересматривал фильм второй раз - PDP-8 и мне сразу в глаза бросилась, но такой четкий
кадр нашел не я.

Рекомендую весьма интересную ссылку, где наряду с известными есть и довольно неожиданные
факты: Эволюция процессоров.


PS. Специально загуглил из интересу: большинство, как и я, помнят из фильма эти кадры:

Image

Image

А вот откуда взят кадр со стойкой, я, честно говоря, не помню.
iLavr