User Tag List

Страница 27 из 157 ПерваяПервая ... 232425262728293031 ... ПоследняяПоследняя
Показано с 261 по 270 из 1564

Тема: Программирование на УКНЦ как?

  1. #261

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Немножко потестил скорость работы процессоров на УКНЦ - ужаснулся, какой тормоз периферийный процессор. Команды типа MOV Rx,Rx он выполняет за 16 тактов, вместо 8, как если бы время памяти было 1Т. Сначала показалось странным, но потом разобрался. Во-первых, как это я раньше не заметил, шина данных ОЗУ ПП - 8-битная! И все 16-битные транзакции выполняются в 2 раза медленнее. Во-вторых, доступ к ОЗУ возможен только во время временного слота 'Ц.П.', который наступает раз в 4 такта. Т.е. 2 такта на слот 'Ц.Э.' (цикл экрана), и 2 такта на 'Ц.П.' (цикл процессора). В общем, имеем около 390тыс. операций типа регистр/регистр на ПП, что более, чем в два раза медленнее, чем на том же Спектруме, не смотря на то, что тактовая частота ПП 6.25МГц.
    Собственно я про это несколько раз писал, про отличие времени исполнения в ОЗУ ЦП, ОЗУ ПП и ПЗУ. Самая быстрая - это ПЗУ. А вот контроллер ОЗУ делит доступ к памяти между видеоадаптером и процессором. При этом у ЦП частота 8 Мгц, а у контроллера ОЗУ 6,25 Мгц, небольшая рассинхронизация. Таким образом выходит, что доступ к ОЗУ ЦП минимум за 320 нс (3T для ЦП), максимум - 960 нс (8T для ЦП). В ПП ситуация похуже - минимум 960 нс (6T), максимум - 1280 нс (8T), хотя более гладкая. Так что как-то не получается, что программа в ПП работает в 2 раза медленнее, учитывая еще предвыборку. Еще кстати частота сетевого таймера в УКНЦ не 50 Гц, а 50,08 Гц, между импульсами не 20000 мкс, а 19968 мкс, различие мизерное, но мало ли что.

    Теперь несколько слов про тайминги, которые появились в эмуляторе УКНЦ. Сами тайминги взяты из архива эмулятора PDP-11 на Forth. Там в каталоге pdpemu есть файл 1806VM2.TIM, а сами смещения в этой таблице расписаны в файле pdpbeg.f, конкретные времена по командам - файл pdpinstr.f. В этом архиве есть файлик readme.txt с контактной информацией, но я с автором не связывался. Кстати в этом эмуляторе было кое-что по особенностям исполнения команд, которое подтвердилось на реальных тестах, но которое не отражено в техническом описании на процессор 1801ВМ2.
    Отличия состоят в разности исполнения словных и байтовых команд MOV, MOVB, CLR, CLRB, MFPS. Словные команды MOV и CLR для dst исполняют только цикл записи, а вот байтовые команды MOVB, CLRB, MFPS для dst в памяти производят цикл чтение-пауза-вывод. Это практически подтвердилось на реальной УКНЦ.
    Вложения Вложения
    • Тип файла: rar ffpdp.rar (81.3 Кб, Просмотров: 1216)

  2. #262

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    байтовые команды MOVB, CLRB, MFPS
    Байтовый MFPS это как?
    Или в том смысле что он в принципе такой и так работает?
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  3. #263

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Байтовый MFPS это как?
    Или в томи смысле что он в принципе такой и так работает?
    Ну на самом деле он только байтовый и есть. Ведь запись dst он делает как байт, а регистр также расширяет знаковым разрядом.

    ---------- Post added at 00:08 ---------- Previous post was at 00:07 ----------

    Расширят также как MOVB.

  4. #264

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Ну на самом деле он только байтовый и есть. Ведь запись dst он делает как байт, а регистр также расширяет знаковым разрядом.

    ---------- Post added at 00:08 ---------- Previous post was at 00:07 ----------

    Расширят также как MOVB.
    Процессор по правилам должен при записи в регистр побайтово расширить значение до слова. Не уверен есть ли исключения. Касается именно MOVB, но не всяких BICB, BISB, CLRB.

    На УКНЦ кстати помню сталкивался с приколом где-то в прошивке - с параллельным портом чтоли. Там хитро сделано, что нечетные адреса тоже нужно пословно адресовать
    Последний раз редактировалось form; 30.11.2011 в 00:14.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  5. #265

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Процессор по правилам должен при записи в регистр побайтово расширить значение до слова. Не уверен есть ли исключения. Касается именно MOVB, но не всяких BICB, BISB, CLRB.
    Байтовые команды с регистром работают только с младшим байтом, старший не трогают. Исключением являются MOVB и MFPS, которые расширяют старший байт знаковым разрядом.
    Цитата Сообщение от form Посмотреть сообщение
    На УКНЦ кстати помню сталкивался с приколом где-то в прошивке - с параллельным портом чтоли. Там хитро сделано, что нечетные адреса тоже нужно пословно адресовать
    Ну да, для параллельного порта используется 8-разрядная микросхема 580ВВ55, у которой только две адресных линии. Разработчики почему то подключили к ним не AD2 и AD1, а AD1 и AD0. Подключение идет через 1801ВП1-120, который содержит дешифратор адреса для параллельного порта. Линии данных подключены только к младшему байту. Самому процессору 1801ВМ2 по барабану, какой адрес, четный или нечетный, что сказали, то и выставил на шину. Поэтому в данном случае и надо производить словное обращение даже по нечетным адресам. Если записывается байт по нечетному адресу, то он будет в старшем байте, а в младшем будут нули. Также и чтение байта по нечетному адресу, процессор прочтет слово, а возьмет только старший байт.

  6. #266

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Байтовые команды с регистром работают только с младшим байтом, старший не трогают. Исключением являются MOVB и MFPS, которые расширяют старший байт знаковым разрядом.
    Точнее любые MF* кроме MOV. Не забываем, что ВМ2 - не единственный процессор на свете

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Ну да, для параллельного порта используется 8-разрядная микросхема 580ВВ55, у которой только две адресных линии. Разработчики почему то подключили к ним не AD2 и AD1, а AD1 и AD0.
    Воспользовались тем, что ВМ2 не трапается на odd address
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  7. #267

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Точнее любые MF* кроме MOV. Не забываем, что ВМ2 - не единственный процессор на свете
    Ну я вел речь исключительно про 1801ВМ2, а ВМ3 и другие с диспетчером памяти и не упоминал...
    Цитата Сообщение от form Посмотреть сообщение
    Воспользовались тем, что ВМ2 не трапается на odd address
    Также как и LSI-11.

  8. #268

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Ну я вел речь исключительно про 1801ВМ2, а ВМ3 и другие с диспетчером памяти и не упоминал...

    Также как и LSI-11.
    11/03, 11/23...

    Есть MF команда не касающаяся MMU
    Хотя косвенно, ее вроде не бывает на процах без него.
    Я просто упоминал там, что расширение знака - правило, а не исключение.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  9. #269

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Есть MF команда не касающаяся MMU
    Хотя косвенно, ее вроде не бывает на процах без него.
    Это какая MF? Знаю только MFPD и MFPI, но они словные. Кстати на первых релизах 1801ВМ3 был глюк. Так как у этого процессора нет раздела на зоны инструкций и данных, то по идее эти команды должны исполняться одинаково, но так как команда MFPD в своем коде содержит установленный старший бит, то она исполнялась как байтовая. Приходилось патчить программы и заменять MFPD на MFPI.
    Вспомнил еще про MFPT, но там вроде не такие большие значения были, все таки тип процессора.
    Цитата Сообщение от form Посмотреть сообщение
    Я просто упоминал там, что расширение знака - правило, а не исключение.
    Вообще-то расширение знака - это исключение.

  10. #270

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Вспомнил еще про MFPT, но там вроде не такие большие значения были, все таки тип процессора.
    Ну это я просто прикололся вообще про MF команды

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Вообще-то расширение знака - это исключение.
    Какое же это исключение если почти все (или вообще все) процессоры себя именно так ведут?
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

Страница 27 из 157 ПерваяПервая ... 232425262728293031 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Программирование на Эмуляторе. Возможно ли это?
    от Toxic в разделе Программирование
    Ответов: 10
    Последнее: 20.01.2008, 19:20
  2. Программирование Altera и JTAG
    от Mikka_A в разделе Несортированное железо
    Ответов: 7
    Последнее: 18.01.2008, 09:07
  3. Программирование и софтмейк на NES
    от Splinter в разделе Nintendo
    Ответов: 7
    Последнее: 30.06.2006, 04:31

Ваши права

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