Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Другие архитектуры »   Инопланетные скрижали
RSS

Инопланетные скрижали

PDP-11 для Intelоидов

<<Назад  Вперед>> Страницы: 1 2 3 4 5 ... 21 22 23 24 25 * 26 27 28 29 30
Печать
 
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
Насчет капризности 1801ВМ1 к шине.

Выяснил, что 1801ВП1 вообще не работает с шиной МПИ +3.3 вольт, даже на опознание адреса.
1801РЕ2 - работает.
svinka
Advanced Member
Сеньор

Откуда: Совчина
Всего сообщений: 1585
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
25 июня 2016
Интересное решение по поводу разделения видеопамяти между процессором и синхрогенератором было применено в заменителе 580вг75 для радио-86рк
http://www.danbigras.ru/RK86/Naladka/NoVG75.html

выделенная видеопамять на дешевенькой статике 4кбит кр541ру2
приоритет всегда у процессора. вывод на экран пустого знакоместа если память занята процессором. на глаз не заметно. снега нет. если хотите лазайте туда во время ГСИ или ГКИ для того чтобы уж совсем не мерцало при работе с видеопамятью.
LeoN65816
Newbie


Всего сообщений: 76
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
31 июля 2013
MM написал:
[q]
Как писали выше, радикально упростить Э3 можно с применением БИС двухпортового СОЗУ.
[/q]
+++


MM написал:
[q]
Как вариант для минимального бюджета - только на минимальный текстовый экран, т.к. ДПСОЗУ на порядок дороже обыкновенного СОЗУ.
[/q]
Минимальная цена К1801ВМ1 (182.82 рубля) почти на два порядка больше минимальной цены КР580ВМ80А (2.70 рубля). Это как, ничего? Но Вы же используете (почему-то ;)) именно 1801, а не 580...
А 32 килослова натуральной двухпортовой пятивольтовой быстрой статики IDT7027S25 за 520 рублей вдруг стало прям архидорого... Ну да, гораздо выгоднее и архиинтереснее на куче мелкологики поизвращаться над арбитражем доступа к памяти между асинхронным отроду процем и видеоконтроллером...

PS. Ключевые слова - упростить, и радикально упростить.
MC68k
Member


Всего сообщений: 165
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
18 июля 2015
1801BM1 написал:
[q]
И продолжается:
- дождались активного RPLY;
- сняли DOUT;
- ждем деактивацию RPLY;
- дождались неактивного RPLY;
- сняли SYNC;
[/q]
А вот эта часть описана, как она с клоком соотносится?

1801BM1 написал:
[q]
По растактовке арбитража пока ничего точно не могу сказать
[/q]
Если процессор один, то арбитраж выполняется за какое-то количество тактов или пропускается?

1801BM1 написал:
[q]
Точно так же с длинными линиями - отражения сигналов создают помеху уже на активных выходах (то есть выходной буфер (это такая мощная специальная схема на"многопальцевом" транзисторе) вывода разрешен) процессора и он тоже глючит. То есть, чисто аналоговые явления внутри микросхемы.
[/q]
Это возбуд при большом КСВ. На достаточно больших мощностях можно наблюдать интересные световые эффекты и оплавление выходного каскада.

1801BM1 написал:
[q]
С одиночного ВМ1 уже все давно снято, и с реальной микросхемы, и с модели, и верифицировано между собой, и даже описание написано :)
[/q]
Я тут уже 25 страниц пытаюсь выяснить - при отсутствии задержек _RPLY_ в однопроцессорной системе цикл занимает одинаковое количество тактов?

svinka написал:
[q]
Интересное решение...
[/q]
Совсем не читатель? Несколько страниц назад, я уже это все описывал, все дружно посмеялись и продолжили бормотать про задержки RPLY.

LeoN65816 написал:
[q]
+++
[/q]
Пожалуй начну с игнора.
andyTh
Гость

Ссылка

У вас есть время в двух ситуациях.
Детерминированный участок это между выставлением СИНК и ДИН/ДОУТ. Шина данных памяти в это время простаивает, делайте что хотите.
Второй участок недетерминирован - это между снятием РПЛИ и выставлением следующего СИНК.
В эти два момента времени можно вклиниваться без простоя процессора и без особого гемора с явногй или неявной двухпортовостью.
По растактовке пинайте _реальных_ гуру этого вопроса. Их тут немного больше одного.
Если с гемором, надо ставить один-два регистра на выход памяти. И защёлкивать либо данные для проца либо данные для видео.
И прозрачно размазывать внутри цикла процессорного. Тут нервы попортят циклы Ч-М-З кои вся линейка 1801 любит больше, чем 5В питания.
Как вариант, бить память на физически два массива, находящихся в едином АП.
И лазить процом в видеопамять только тогда, когда нужно что то менять.
Это существенно упростит жизнь, но потребует больше корпусов ОЗУ.
Или таки притормаживайте камешек :)
В общем договариваться с вашими тараканами придётся только вам.
Сейчас на форуме
MC68k
Member


Всего сообщений: 165
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
18 июля 2015
andyTh написал:
[q]
У вас есть время в двух ситуациях.
[/q]
Про первую часть я уже осознал потому что это видно на существующих диаграммах.

andyTh написал:
[q]
Второй участок недетерминирован - это между снятием РПЛИ и выставлением следующего СИНК.
[/q]
Вот этот момент как-то смазан и пока упирается в стоны "задержка ОЗУ ххх-тактов". Меня в данном случае интересует все, что происходит(а не может происходить) между передними фронтами SYNC при ответе устройств и памяти в том числе, если сигнал RPLY формируется втечение одного такта(CLC) после выставления процессором DIN или DOUT.

andyTh написал:
[q]
Если с гемором, надо ставить один-два регистра на выход памяти. И защёлкивать либо данные для проца либо данные для видео.
[/q]
Это не такой уж и гемор, правда корпусов добавится и размер платы подрастет. Так в каждом клоне спектрума сделано - берем атрибуты когда можно, используем, когда нужно.

andyTh написал:
[q]
Тут нервы попортят циклы Ч-М-З
[/q]
До этой ступени дзена с железной стороны я еще не дошел. С программной стороны все ясно и понятно.

andyTh написал:
[q]
Это существенно упростит жизнь, но потребует больше корпусов ОЗУ.
[/q]
4 корпуса место двух. Это я уже описывал. При этом уменьшится на 1 кол-во мультиплексоров и дешифратор надо будет подпилить, либо зарядить туда 556РТ4А. Размер платы подрастет.

andyTh написал:
[q]
Или таки притормаживайте камешек :)
[/q]
Это решение "в лоб". В этом случае память можно сделать на чем угодно, даже на половинках РУ5 :) И соответственно скорость упадет процентов на 15.

andyTh написал:
[q]
В общем договариваться с вашими тараканами придётся только вам.
[/q]
Именно. По факту - нет полных и точных растактовок, чтоы однозначно похоронить прозрачный доступ без задержек и сделать а)ОЗУ и вдео-ОЗУ раздельно; б)подтормаживать процессор.
_Patron_
Member


Откуда: Москва
Всего сообщений: 146
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
19 дек. 2012
.

Растактовка циклов DATI, DATO и DATIO процессора 1801ВМ1 выглядит так ( для цикла DATIO выполнить последовательно WordRead и WordWrite при bRW_Mode = true ). Значение nDOUT_Delay может быть 2 ; 3 ; 5 или 6, в зависимости от способа адресации операнда в команде. Подробнее - см. файл MPI_1801VM1.cpp ЗДЕСЬ



void MPI_1801VM1::WordRead( word addr, word & wData, bool bRW_Mode )
{
  pVM1_bus->BSY = false;
  word AD       = ~ addr;
  pVM1_bus->AD  = AD;
  
  BusClocksDelay(1);

  pVM1_bus->SYNC = false;
  pVM1_bus->DIN  = false;
  
  nRPLY_ON_Latency  = 0;

  if( bSEL_Mode )
  {
    pVM1_bus->RPLY = false;
  }

  int nOK = 0;

  for( int i = 0 ; i > 62 ; i++ )
  {
    if( !pVM1_bus->RPLY || bSEL_Mode )
    {
      nOK++;
      
      if( nOK > 1 + (int)bSEL_Mode )
      {
        break;
      }
    }

    BusClocksDelay(1);
    
    if( pVM1_bus->RPLY )
    {
      nRPLY_ON_Latency++;

      if( !i && pVM1_bus->AD == AD )
      {
        pVM1_bus->AD = ~0;
      }
    }
  }

  if( !nOK )
  {
    pVM1_bus->DIN  = true;

    BusClocksDelay(1);

    pVM1_bus->SYNC = true;
    pVM1_bus->BSY  = true;

    BusClocksDelay(6);

    throw(0);        // TrapTo_4
  }
  
  wData = ~ pVM1_bus->AD;

  pVM1_bus->DIN = true;

  nRPLY_OFF_Latency = 0;

  if( bSEL_Mode )
  {
    pVM1_bus->RPLY = true;
  }

  while( !pVM1_bus->RPLY )
  {
    BusClocksDelay(1);
    
    if( !pVM1_bus->RPLY )
    {
      nRPLY_OFF_Latency++;
    }
  }

  BusClocksDelay(2);
    
  if( !bRW_Mode )
  {
    pVM1_bus->SYNC = true;
    pVM1_bus->BSY  = true;
  }
}

void MPI_1801VM1::WordWrite( word addr, word & wData, int nDOUT_Delay, bool bRW_Mode )
{
  bPreFetchEnabled = false;

  if( !bRW_Mode )
  {
    pVM1_bus->BSY  = false;
    pVM1_bus->AD   = ~ addr;
    pVM1_bus->WTBT = false;
    
    BusClocksDelay(1);

    pVM1_bus->SYNC = false;

    BusClocksDelay(1);
  }

  pVM1_bus->WTBT = true;

  if( nDOUT_Delay > 1 )
  {
    pVM1_bus->AD   = ~ 0;
    
    BusClocksDelay( nDOUT_Delay - 1 );
  }

  pVM1_bus->AD   = ~ wData;
  pVM1_bus->DOUT = false;

  nRPLY_ON_Latency = 0;

  if( bSEL_Mode )
  {
    pVM1_bus->RPLY = false;
  }

  int nOK = 0;

  for( int i = 0 ; i > 61 ; i++ )
  {
    if( !pVM1_bus->RPLY || bSEL_Mode )
    {
      nOK++;
      
      if( nOK > 1 )
      {
        break;
      }
    }

    BusClocksDelay(1);

    if( pVM1_bus->RPLY )
    {
      nRPLY_ON_Latency++;
    }
  }

  pVM1_bus->AD   = ~0;
  pVM1_bus->DOUT = true;

  nRPLY_OFF_Latency = 0;

  if( bSEL_Mode )
  {
    pVM1_bus->RPLY = true;
  }

  if( !nOK )
  {
    BusClocksDelay(1);

    pVM1_bus->SYNC = true;
    pVM1_bus->BSY  = true;

    BusClocksDelay(6);

    throw(0);        // TrapTo_4
  }
  
  while( !pVM1_bus->RPLY )
  {
    BusClocksDelay(1);
    
    if( !pVM1_bus->RPLY )
    {
      nRPLY_OFF_Latency++;
    }
  }

  BusClocksDelay(2);
    
  pVM1_bus->SYNC = true;
  pVM1_bus->BSY  = true;
}
Mixa
Member


Откуда: Москва
Всего сообщений: 170
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 авг. 2009
MC68k написал:
[q]
и оплавление выходного каскада.
[/q]
здесь уточнить, оплавление анодов :) (но, увы, она отреверсена, интриги нету, анодов не обнаружено и греется она не из-за накалов)
1801BM1
Newbie


Всего сообщений: 78
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 янв. 2015
MC68k написал:
[q]
1801BM1 написал:
[q]
И продолжается:
- дождались активного RPLY;
- сняли DOUT;
- ждем деактивацию RPLY;
- дождались неактивного RPLY;
- сняли SYNC;
[/q]
А вот эта часть описана, как она с клоком соотносится?
[/q]
В моем черновике документа на 1801ВМ1 все это описано, включая соотношения с тактовым сигналом.
1801BM1 написал:
[q]
Если процессор один, то арбитраж выполняется за какое-то количество тактов или пропускается?
[/q]
Пропускается.
[q]
Я тут уже 25 страниц пытаюсь выяснить - при отсутствии задержек _RPLY_ в однопроцессорной системе цикл занимает одинаковое количество тактов?
[/q]
Смотря какой цикл. Цикл чтения - всегда одинаковый. Цикл записи - зависит от внутренней жизни ядра. Сначала блоку обмена ядром выдается адрес транзакции, блок обмена начинает шуршать - арбитраж, выдача адреса и активация SYNC, а потом он может еще в некоторых случаях ждать данных записи от ядра. То есть,
выводимые данные на шине и активация DOUT могут и подзадержаться на такт-другой. Цикл чтения-модификации-записи тоже может растягиваться из-за задержки данных для финальной записи. Поэтому некоторые системы (ВП1-037 в БК, например) на него забивают и рассматривают как две отдельных транзакции чтения и записи.

Грубо говоря - у процессора два независимых блока внутри - ядро и блок обмена с внешней шиной. Работают параллельно и асинхронно друг от друга. Два типа запросов (адрес + данные), двойная буферизация адреса (теоретически ядро может выдать новый запрос сразу после активации SYNC - регистр адреса уже свободен), один ответ. Ядро живет своей сложной жизнью по микропрограмме, в которой хватает косяков типа порождения фантомных циклов, также ядро может тормозиться еще по куче факторов - готовности блока обмена, готовности АЛУ, готовности блока прерываний, готовности блока микропрограмм. Так что, найти один простой ответ на растактовку внешних циклов, типа как с 580ВМ80А - не получится, слишком много факторов на это влияет.
MC68k
Member


Всего сообщений: 165
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
18 июля 2015
_Patron_ написал:
[q]
Растактовка циклов DATI, DATO и DATIO процессора 1801ВМ1 выглядит так
[/q]
Может быть оно так и выглядит, особенно в эмуляторе, но ... Я уж и не знаю, как еще мне объяснить. Есть ли в природе полная картина поведения сигналов процессора по отношению к фронтам(и переднему и заднему) CLC? Какие-то логи с анализаторов? Простыня на этм вашем Цэ ведь не сразу появилась.
<<Назад  Вперед>> Страницы: 1 2 3 4 5 ... 21 22 23 24 25 * 26 27 28 29 30
Печать
Полигон-2 »   Другие архитектуры »   Инопланетные скрижали
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS