nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 03:55



Reply to topic  [ 2 posts ] 
Ultra-fast output port 65C02 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Поскольку я тут несколько дней занимался программированием на ассемблере под процессором 6502,
я у себя на диске различную справочную информацию по 6502 и всему с ним связанному просматривал...

И нашел я одну статеечку весьма интересную, которую раскопал где-то очень давно, но толком не было возможности
её толком прочитать и разобраться.
Но в этот раз я её не только прочитал, но и сделал перевод.

Суть в следующем: микропроцессор 6502 не имеет отдельных инструкций для работы с устройствами
ввода-вывода. Он работает с ними как с ячейками памяти. И из-за этого порой трудно получить крупные линейные
адресные пространства, даже если переключать банки памяти.

Да и любимый наш К580ВМ80 без серьёзной аппаратной поддержки команды IN и OUT выполняет тоже в пространство
памяти.

Процессоры 1801ВМ1,2 также отдельного пространства УВВ не имеют...

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

Для микропроцессора 65C02 такие команды исполняются как быстрый NOP, и на программу и состояние памяти
они не влияют.
Но если отследить эти команды по характерным для группы команд битам, можно защелкнуть код операции и
использовать такое устройство как порт вывода.

Схема весьма проста:
Attachment:
Ultra-fast_65c02_output_port.gif
Ultra-fast_65c02_output_port.gif [ 4.69 KiB | Viewed 2638 times ]

И на мой взгляд такое решение просто идеально для коммутации банков памяти, потому как в карте памяти
это устройство не занимает ни одной ячейки!

Автор пишет, что и очень быстрый SPI можно так реализовать, и еще ряд решений...

Все подробности - в статье ниже:
Attachment:
Ultra-fast output port 65C02.zip [29.23 KiB]
Downloaded 233 times

_________________
iLavr


28 Feb 2022 06:41
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Процессоры 1801ВМ1,2 также отдельного пространства УВВ не имеют...

Мне, честно говоря, в связи с этими процессорами озвученная выше идея показалась интересной.
Процессоры мощнее нашего любимого К580ВМ80, а памяти маловато им - всего-то 32 кСлов.
И часть отъедают УВВ... :neutral:

А если команду обращения к УВВ предварять вот таким фиктивным префиксом, то можно вынести
УВВ из пространства памяти.
Т.е. фиктивный префикс переключает стробы чтения и записи из памяти к УВВ на одну следующую команду.
Да, это выглядит медленнее... но УВВ и так медленные сами по себе...

_________________
iLavr


28 Feb 2022 13:39
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 2 posts ] 

Who is online

Users browsing this forum: No registered users and 8 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.