RUЭВМ
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
Сентябрь 2020
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
282930    

Календарь Календарь

Последние темы
» Тема для вопросов, консультаций и т. д...
автор Atari1974 Вчера в 16:12

» ZX Microdrive
автор barsik Вчера в 02:44

» Флейм только по теме "Радио-86РК".
автор barsik Пн Сен 28 2020, 09:24

» Трансформатор электронный Taschibra 230/12В 60Вт для галогенных ламп. Перестал работать.
автор Viktor2312 Ср Сен 23 2020, 15:05

» Купил с али БП 12в 100w для питания LED лент подсветки. Проблема
автор Viktor2312 Вс Сен 20 2020, 18:07

» Жалобы/пожелания по работе форума
автор Viktor2312 Вс Сен 20 2020, 11:54

» Стабилизированный преобразователь напряжения.
автор Viktor2312 Пн Сен 14 2020, 23:12

» Простые доработки ZX-48К: RAM-монитор в ПЗУ и экран на E000
автор barsik Сб Сен 12 2020, 23:47

» Применение КР580 ВИ53 для генерации музыки
автор Viktor2312 Сб Сен 12 2020, 20:09

» STM32. Статьи, заметки, очерки, разное...
автор Viktor2312 Чт Сен 03 2020, 12:09

» STM32G0. Документация (Datasheet, разное).
автор Viktor2312 Чт Сен 03 2020, 11:52

» Новинки. Книги. Часть 1.
автор Viktor2312 Ср Сен 02 2020, 14:21

» STM32F4. Статьи, заметки, очерки, разное...
автор Viktor2312 Вт Сен 01 2020, 14:44

» Ленинград-0,-1,-2,-3. Статьи, заметки, очерки, разное...
автор barsik Вс Авг 30 2020, 08:32

» Ленинград-0
автор barsik Вс Авг 30 2020, 08:01

» STM32F4. Изучение.
автор Viktor2312 Пт Авг 28 2020, 00:07

» Орион-128: Полезные доработки ПЭВМ
автор barsik Чт Авг 27 2020, 11:21

» STM32H7. Статьи, заметки, очерки, разное...
автор Viktor2312 Вт Авг 25 2020, 10:43

» Радио-86РК: По страницам журнала "Радио" и не только...
автор barsik Вт Авг 25 2020, 01:28

» STM32L0. Документация (Datasheet, разное).
автор Viktor2312 Вс Авг 23 2020, 10:10

» STM32L0. Отладочные платы.
автор Viktor2312 Сб Авг 22 2020, 20:22

» STM32L0. Программное обеспечение, разное...
автор Viktor2312 Сб Авг 22 2020, 17:24

» STM32L0. Статьи, заметки, очерки, разное...
автор Viktor2312 Чт Авг 20 2020, 19:37

» STM32H7. Документация (Datasheet, разное).
автор Admin Чт Авг 20 2020, 13:33

» STM32F7. Документация (Datasheet, разное).
автор Admin Чт Авг 20 2020, 13:32

Самые активные пользователи за месяц
Viktor2312
"Радио-86РК". Статьи, заметки, очерки, разное... Vote_l10"Радио-86РК". Статьи, заметки, очерки, разное... Voting10"Радио-86РК". Статьи, заметки, очерки, разное... Vote_r10 
barsik
"Радио-86РК". Статьи, заметки, очерки, разное... Vote_l10"Радио-86РК". Статьи, заметки, очерки, разное... Voting10"Радио-86РК". Статьи, заметки, очерки, разное... Vote_r10 
Atari1974
"Радио-86РК". Статьи, заметки, очерки, разное... Vote_l10"Радио-86РК". Статьи, заметки, очерки, разное... Voting10"Радио-86РК". Статьи, заметки, очерки, разное... Vote_r10 

Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск


"Радио-86РК". Статьи, заметки, очерки, разное...

Перейти вниз

"Радио-86РК". Статьи, заметки, очерки, разное... Empty "Радио-86РК". Статьи, заметки, очерки, разное...

Сообщение  Viktor2312 в Пт Сен 23 2016, 13:27

1
*


Последний раз редактировалось: Viktor2312 (Вт Фев 19 2019, 18:44), всего редактировалось 1 раз(а)
Viktor2312
Viktor2312
Гуру+

Сообщения : 12512
Дата регистрации : 2012-08-10
Возраст : 41
Откуда : Пятигорск

Вернуться к началу Перейти вниз

"Радио-86РК". Статьи, заметки, очерки, разное... Empty Re: "Радио-86РК". Статьи, заметки, очерки, разное...

Сообщение  Viktor2312 в Сб Янв 21 2017, 15:44

2
резерв.
Viktor2312
Viktor2312
Гуру+

Сообщения : 12512
Дата регистрации : 2012-08-10
Возраст : 41
Откуда : Пятигорск

Вернуться к началу Перейти вниз

"Радио-86РК". Статьи, заметки, очерки, разное... Empty IN/OUT в системах на 8080 без системного контроллера

Сообщение  barsik в Сб Май 04 2019, 20:20

3
Почитывая на досуге вражеские книги и журналы на тему антикварных микропроцессоров (благо проблем с знанием вражеских языков нет), узнал недавно, как следовало с пользой использовать наличие в КР580 команд IN/OUT. Оказывается, чтобы использовать команды IN/OUT совершенно необязательно ставить системный контроллер СК ВК28 (или делать его аналог вокруг 589ИР12 на мелкой логике).

IN/OUT выгодны тем, что они 2-х байтовые, тогда как команды работы с ОЗУ (если не считать косвенную адресацию) - трёх-байтовые. Когда идёт битва за каждый байт, что типично для кода прошиваемого в ПЗУ, то возможность применить IN/OUT становится ценной. Например, лишь из-за нелегального использования команд IN/OUT в РК-ДОС её автор Е.Седов выиграл в объёме кода ~полсотни байт (что вызвало впоследствии много горя при процессоре Z80).

Т.к I/O-портов всего 256, то в РК86 достаточно выделить в области памяти одну страницу в 256 байт. В РК найти свободные сплошные 256 адресов не проблема. Чтобы поиметь 256 портов в памяти, но с которыми можно работать командами IN/OUT, хитрые враги обычно делают так.

Они при работе команд IN/OUT хитро выдают на старшую половину шины адреса (msb) старший адрес страницы выделенной для портов. Например, если мы решили отдать портам участок A000...A0FF, то надо выдавать при OUT на адреса A15...A8 число $A0.

Процессоры 8085 и Z80 сразу дают /IORD и /IOWR, которые можно объединить на двух диодах и резисторе, получив сигнал /IO о том, что идёт команда IN/OUT. А вот при КР580 требуется получать его из "слова состояния", для чего надо по фронту SYNC защёлкивать в 155 ТМ2 биты D4 и D6, а инверсные выходы этих триггеров также объединить двумя диодами. Полученный с помощью 2-х диодов сигнал /IO, когда он равен 0, свидетельствует, что идёт работа с портами.

Если по этому сигналу /IO выдавать на шину данных адрес страницы портов в памяти (в данном примере это $A0), то с портами отображёнными в память можно работать командами IN/OUT, как при наличии системного контроллера. Выгоднее всего старший (msb) байт адреса страницы портов выдавать с помощью двух 555 КП11, т.к при этом одновременно адреса A15...A8 процессора буферизуются. Но можно использовать отключаемый 8-ми разрядный буфер АП6 и резисторы привязки (что даёт страницу портов FF00).

Эти КП11-тые при не OUT-командах пропускают через себя адреса A15...A8 от процессора, а при OUT командах выдают в линии A15...A8 msb-байт адреса страницы портов. Если изменять число набранное на входе КП11, то страницу портов можно "гонять" по всему адресному пространству, что, кстати, и делается в «Корвете» (позволяя создать конфигурацию наиболее удобную для конкретной задачи, например, там одна конфигурация портов для МГ-бейсика и совсем другая для CP/M).

Причём, интересно, что мы получаем порты, которые читаются и по обращению в память и по IN/OUT, что даёт нам ещё больше выигрыша. Во-первых, скорость. LD A,(HL) вдвое быстрее, чем IN A,(port). Во-вторых, мы можем проверять один флаг по биту D7 всего одной командой. Например, INC (HL) при HL указывающем в порт выдаст во флаге Signum значение бита D7 порта, что экономит нам команду OR A. При этом возможность работать с портами двухбайтовыми IN/OUT, и экономить тем самым объём кода в некритичных к скорости местам, сохраняется.

Не знаю дошла ли эта идея до узколобых, что читают этот форум (малоизвестный среди энтузиастов антикварных компьютеров), потому подскажу лишь, что если бы разработчики «РК86» читали в своё время вражеские книги, то они могли бы израсходовать на порты не 32 тысячи адресов, а всего 256, получив при этом выигрыш в объёме кода за счёт двухбайтовости команд IN/OUT, причём не увеличивая число корпусов (даже уменьшив его на один корпус).

PS. Подсказка для технически малограмотных. msb на вражьем языке означает "most significant byte of word or address".
barsik
barsik
Мастер++

Сообщения : 701
Дата регистрации : 2016-11-10
Откуда : С-Петербург

Вернуться к началу Перейти вниз

"Радио-86РК". Статьи, заметки, очерки, разное... Empty .

Сообщение  barsik в Сб Авг 03 2019, 07:26

4
Ставить микросхемы памяти вторым этажом догадались не только авторы РК86. Чуть раньше до этого додумались японцы из фирмы Hitachi, когда в начале 80-тых разрабатывали свои клоны моторолловских микроконтроллеров 6801 и 6805. Наряду с микроконтроллерами в которых программа хранится в ПЗУ с УФ-очисткой и масочных (программируемых при изготовлении на заводе) они изобрели двухэтажные микроконтроллеры совместимые с теми по цоколёвке.

Вторым этажом ставится обычное УФ-ПЗУ типа 2764...27256. И если в традиционных микроконтроллерах за 35 лет встроенное в кристалл УФ-ПЗУ сдохло, то двухэтажные микроконтроллеры пригодны для использования и 35 лет спустя. В них можно любое число раз изменять прошивку (а если используемое перепрограммируемое УФ-ПЗУ сдохнет, не проблема заменить его на новое).

"Радио-86РК". Статьи, заметки, очерки, разное... Hitachi-HD68P01V07.1564788518

"Радио-86РК". Статьи, заметки, очерки, разное... Hitachi-HD68P05V07.1564787796
barsik
barsik
Мастер++

Сообщения : 701
Дата регистрации : 2016-11-10
Откуда : С-Петербург

Вернуться к началу Перейти вниз

"Радио-86РК". Статьи, заметки, очерки, разное... Empty Re: "Радио-86РК". Статьи, заметки, очерки, разное...

Сообщение  Спонсируемый контент

5

Спонсируемый контент


Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения