User Tag List

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 23

Тема: Передача параметров хитрой железке

  1. #11

    Регистрация
    13.03.2005
    Адрес
    Пермь
    Сообщений
    294
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сугубо по тактам память работает быстрее, чем порты.
    Даже без DMA можно просто ловить обращения к определённым адресам памяти. Тогда можно совместить два способа:
    LD DE,#xxxx - для передачи констант
    LD (#zzzz),HL - для передачи переменных

    Для программистов наиболее удобно программируемое устройство. Чтобы был свой процессор, ему даётся программа и дальше он самостоятельно работает по этой программе и не мешается.

  2. #12
    ZEK
    Гость

    По умолчанию

    Цитата Сообщение от fk0
    Для тугодумов: В СПЕКТРУМЕ ИМЕЮТ ЗНАЧЕНИЕ МЛАДШИЕ 8 РАЗРЯДОВ.
    Сам подумал что сказал?

    Цитата Сообщение от fk0
    LD HL, paramters_address
    LD BC, #xxyy ; xx -- ваш регистр, yy -- порт.
    OTIR

    Медленно?
    Да я уже вроде пришол к этому выводу

  3. #13
    ZEK
    Гость

    По умолчанию

    Цитата Сообщение от captain cobalt
    Сугубо по тактам память работает быстрее, чем порты.
    Даже без DMA можно просто ловить обращения к определённым адресам памяти. Тогда можно совместить два способа:
    Правильно я понимаю
    Даем железка адрес буффера (BASE) в 8 байт (для командного пакета)
    Потом пишем туда параметры, а скажем при записи команды в BASE+0 железяка воспринимает это как признак того что можеш начинать исполнение. То есть можно модифицировать один байт и записать (перезаписать) код команды и железяка начала ее исполнять

  4. #14

    Регистрация
    13.03.2005
    Адрес
    Пермь
    Сообщений
    294
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Это, можно сказать, DMA.

    А без DMA это
    LD (#zzzz),HL

    Железяка дешифрует #zzzz понимает что к ней обращаются, и ловит 2 байта. Такую команду можно использовать в цикле с разными значениями HL.

  5. #15

    Регистрация
    28.03.2005
    Адрес
    Krasnodar, Russia
    Сообщений
    585
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от fk0
    Ересь. Возьмите ОДИН 8-битный порт. Останется ещё 8 бит (старшая половина адреса) для адресации 256 регистров вашей железяки.
    во-во и я о том же

    Цитата Сообщение от fk0
    LD HL, paramters_address
    LD BC, #xxyy ; xx -- ваш регистр, yy -- порт.
    OTIR

    Медленно?
    OTI
    OTI
    OTI
    OTI
    OTI
    OTI
    OTI
    ...

    так суръезно быстрее
    16т/байт, при том что даже память-память маскимально быстро копируется стеком за 10.5т/байт.

  6. #16
    ZEK
    Гость

    По умолчанию

    Ну не знаю что бы послать 16битный параметр надо 2 команды OUTI - получается 32 такта

    В тоже время если порты замапить на карту памяти для передачи 16 битного параметра достаточно 16 таков ld (xxxx),HL к тому же становятся доступны такие пределсти как inc(HL) 11тактов; ld (hl),r8 7T; к тому же не надо делать порты доступные на чтение что выливается в упрощение железяки.

    Плюс появляется такая прелесь как возможность посылать команды в обработчике прерываний, при том что основной поток тоже может слать команды.
    Необходимо лиш сохранить область параметров в каком нить буфере.

  7. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #17

    Регистрация
    15.01.2005
    Адрес
    Kievska Rus
    Сообщений
    1,149
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ronin
    OTI
    OTI
    OTI
    OTI
    outi =)
    а для модифицирующихся параметров разбавить outi обычными out

  9. #18

    Регистрация
    28.03.2005
    Адрес
    Krasnodar, Russia
    Сообщений
    585
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от The Exploited
    outi =)
    гыгы

    Цитата Сообщение от heroy
    тоже время если порты замапить на карту памяти
    ну вот верной дорогой идем токмо мапить на память имеет смысл если тебе большие массивы слать нужно. когда речь идет о 16 байтах это не так важно. да и мапить на память через шину можно не куда попало. а всего лишь в одно место на один единственный сигнал без арбитража. т.е. это весьма ценный ресурс шины с которым нужно обращаться аккуратно (в отличии от портов). хотя если мапить параллельно с обычной памятью (т.е. только на запись в девайс) - можно и куда угодно
    Последний раз редактировалось Ronin; 14.07.2006 в 10:04.

  10. #19
    ZEK
    Гость

    По умолчанию

    Цитата Сообщение от Ronin
    хотя если мапить параллельно с обычной памятью (т.е. только на запись в девайс) - можно и куда угодно
    Именно!!! К тому же это не зависит от архетектуры шины. Этим финтом к тому же решается проблема с портами на чтение. И появляется некоторые команды подавать в обработчике прерывания (достаточно сохранить изменяемые параметры)
    Последний раз редактировалось ZEK; 14.07.2006 в 10:39.

  11. #20

    Регистрация
    18.02.2005
    Адрес
    St. Petersburg
    Сообщений
    415
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от heroy
    Цитата:
    Сообщение от fk0
    Для тугодумов: В СПЕКТРУМЕ ИМЕЮТ ЗНАЧЕНИЕ МЛАДШИЕ 8 РАЗРЯДОВ.

    Сам подумал что сказал?
    "Ларченко и Родионов" на соответствующей странице. Спорить будешь?

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

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

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

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

Ваши права

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