PDP-11

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

Moderator: Shaos

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

Post by Lavr »

petrenko wrote:К Q-bus в общем то можно и 8255 "прикошачить", хоть и придётся немного изощриться.
Не объяснишь подробнее на простом схемотехническом уровне?
Или дай толковую ссылочку, а то у меня никакой информации нет.
iLavr
petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

Post by petrenko »

Увы, ссылкой не богат, ибо "прикошачивание" 8255 обсуждалось устно и "вскользь" с одним форумчанином с полигона железных призраков прошлого - там, полагаю, и можно узнать подробно - среди завсегдатаев есть трое серьёзных специалистов по компьтерам PDP-шной архитектуры.
А я являюсь всего-навсего повторятелем старинных схем ( ну разве что с небольшой творческой доработкой ), но, увы, не разработчиком, и, соответственно, сам с ними советуюсь, ежели чего не знаю.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Lavr wrote:Я больше PDP-8, правда, интересуюсь... но принципы работы с переферией
не совсем ясны.
Читал вот как "Hello, world!" для PDP-8:

Code: Select all

   *10                   / Set current assembly origin to address 10,
   STPTR,    STRNG-1     / An auto-increment register (one of eight at 10-17)
 
   *200                  / Set current assembly origin to program text area
   HELLO,  CLA CLL       / Clear AC and Link again (needed when we loop back from tls)
           TAD I Z STPTR / Get next character, indirect via PRE-auto-increment address from the zero page
           SNA           / Skip if non-zero (not end of string)
           HLT           / Else halt on zero (end of string)
           TLS           / Output the character in the AC to the teleprinter
           TSF           / Skip if teleprinter ready for character
           JMP .-1       / Else jump back and try again
           JMP HELLO     / Jump back for the next character
 
   STRNG,  310           / H
           345           / e
           354           / l
           354           / l
           357           / o
           254           /,
           240           / (space)
           367           / w
           357           / o
           362           / r
           354           / l
           344           / d
           241           / !
           0             / End of string
   $HELLO                /DEFAULT TERMINATOR
Очень как-то странно... сначала кидаем символ:
TLS / Output the character in the AC to the teleprinter

А потом ждём, готов ли телетайп... :o
TSF / Skip if teleprinter ready for character
JMP .-1 / Else jump back and try again


Может у меня неверные ассоциации с принтерами... но я сначала бы узнал о готовности
и лишь потом послал бы символ...

Интересно бы глянуть где-либо пример самой простой периферии для PDP-8...
Может быть вот эта похоже немного?

iLavr
User avatar
Shaos
Admin
Posts: 24088
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

а чего про PDP-8 в форуме "PDP-11" ?
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:а чего про PDP-8 в форуме "PDP-11" ?
Lavr wrote:Я больше PDP-8, правда, интересуюсь... но принципы работы с переферией
не совсем ясны.
А вобще-то они снизу-вверх совместимы, ну или так утверждают.
А по существу есть что сказать, раз уж у нас разговор о перифирии возник здесь?
iLavr
User avatar
Shaos
Admin
Posts: 24088
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

я думаю разные периферии у них

пдп-11 всё таки на более интеллектуаьных блоках построен

а блоки пдп-8 это типа 74-я серия на транзисторах/диодах ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:пдп-11 всё таки на более интеллектуаьных блоках построен
а блоки пдп-8 это типа 74-я серия на транзисторах/диодах ;)
Америку не открыл... :wink:

Только получается, что любая периферия у них - это не просто пара регистров,
а нечто более сложное и схемотехнически и в программном обращении.

К сожалению, не могу найти образца схемотехники простого и понятного устройства I/O.
iLavr
aav8
Maniac
Posts: 287
Joined: 05 Nov 2008 19:47
Location: 81.28.208.238

Post by aav8 »

Lavr wrote:
Shaos wrote:пдп-11 всё таки на более интеллектуаьных блоках построен
а блоки пдп-8 это типа 74-я серия на транзисторах/диодах ;)
Америку не открыл... :wink:

Только получается, что любая периферия у них - это не просто пара регистров,
а нечто более сложное и схемотехнически и в программном обращении.

К сожалению, не могу найти образца схемотехники простого и понятного устройства I/O.
Практически в любом журнале МПСС были схемы для Э60
petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

Post by petrenko »

Если бы ещё практически у каждого были эти журналы...
У меня, увы, нет, а очень хотелось бы "в бумаге" все..
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

aav8 wrote:Практически в любом журнале МПСС были схемы для Э60
В то время я другими компьютерами увлекался...
Если можно - хотя бы название похожей статьи?
А дальше я сам разберусь...


PS. Э60 - это "Электроника-60" ?
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Я попытался этот вопрос погуглить по–быстрому со словом "Электроника-60"
и на Хоботе наткнулся на такую вот цитату:
Alba_S wrote:Дело в том у архитектуры PDP есть несколько очень приятных моментов, которые однако приводят к почти полной невозможности сэмулировать ее софтово на современных процах.
1. Чудовищная реактивность на прерываниях. Прерывание обрабатывается с переключением контекста по моему за 4 такта если не меньше, причем все аппаратно. Поэтому весь софт там написан так что машинка вся работает на прерываниях, т.е. 10 тактов чего то делает прерывание, еще 5-6 тактов поделала, прерывание ...
2. Отсутствие отдельных команд воода вывода и отдельных портов. Сия проблема тоже еще какая гиморная, ибо можно использовать ВСЮ систему команд при вооде выводе и ничего не ждать даже.

Ну там еще много приколов есть, но эти самые труднообходимые.
Я уже во времена Пень-2 мегагерц в 500 пробовал эмулятор сделать, он не успевает столько прерываний обработать сколько PDP мегагерц на 6. Умирает все нафиг и в перезагрузку.
Что-то мне прямо-таки не поверилось, что старушку PDP (aka "Электроника-60")
невозможно заменить современными средствами.
Такая проблема действительно есть, или это страшилка надуманная?
iLavr
bigral
Senior
Posts: 152
Joined: 31 Mar 2012 16:50
Location: 93.73.80.128

Post by bigral »

Lavr wrote: Если можно - хотя бы название похожей статьи?
А дальше я сам разберусь...
Ну вот тут лежит пример самопального IDE контроллера (*без DMA)

http://www.telegraphics.com.au/pdp11/dsu/
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

Real Time System сложно чем-то интеловским заменить.

мне случайно перепал HD6473258P10, который из этого семейства. очень самобытная штуковина.
bigral
Senior
Posts: 152
Joined: 31 Mar 2012 16:50
Location: 93.73.80.128

Post by bigral »

Lavr wrote:Такая проблема действительно есть, или это страшилка надуманная?
Я тоже это видел, на iXBT вообще куча веток с реальными людьми кто возился с нашей pdp-11 техникой. Суть с заменой в том что это в теории возможно но на практике не просто.

Вот к примеру тот калькулятор что в спектруме 128 в пзу зашит ОЧЕНЬ удобная вещь и заменить его современной прогой например для android это целая ПРОБЛЕМА!
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

bigral wrote:Ну вот тут лежит пример самопального IDE контроллера (*без DMA)
http://www.telegraphics.com.au/pdp11/dsu/
Скачал... посмотрел - схемы здоровущщие! :(
Я понимаю, конечно, что АТА - это набор регистров, которые этот адаптер маппирует
на нужую шину...
Но чисто в учебных целях - если я хочу прикинуть, как зацепить отдельный регистр
или пусть тот же i8255 (4регистра) и просто "поморгать светодиодами" - неужто нет
более простого решения?

Я вот тут накопал схемы как в PDP-систему впирают современную память, так
там всё ОЧЕНЬ просто.
Впрочем, на мой взгляд, так и должно быть.

А вот дальше там есть схема с i8255, но вся привязка через GAL. :(
Такая сложность вызвана способом обащения PDP к УВВ?
То есть, если у УВВ нет "флага" надо его аппаратно сымитировать?
Если у устройства нет "сброса" - тоже прикошачить иитацию аппаратно?

Я для этого и привел схему выше - там используется станартная БИС UART - а вот все
"флаги и сбросы", по-моему, просто искусственно имитируются RS-триггерами...

Image

PS. Кстати, на схемах АТА есть микрухи 559 - что это за серия? У меня прилично плат
с такими микросхемами... отродясь не знал, что с ними делать...
iLavr