|
Формирование карты адресного пространства К580ВМ80, Каким образом происходит формирование карты адресного пространства? |
|
|
|
Dec 22 2010, 11:09
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 17-04-09
Пользователь №: 47 866

|
Есть процессор К580ВМ80. К нему подключены ППА К580ВВ55, а так же ОЗУ и ПЗУ. Адресация памяти и ППА происходит при помощи разрядов А11-А15(при помощи дешифратора), адресация портов ППА происходит при помощи разрядов А0, А1. Каким образом составить карту адресного пространства МПС? Смотрел в некоторых докладах/курсовых/метод. указаниях, там встречаются фразы "легко определить", "несложно вычислить" и так далее, но сам процесс формирования карты адресного пространства не описывается.
|
|
|
|
|
Dec 22 2010, 11:18
|

Любитель Кошек
    
Группа: Свой
Сообщений: 1 593
Регистрация: 8-06-06
Пользователь №: 17 873

|
Цитата(gry2500 @ Dec 22 2010, 17:09)  Есть процессор К580ВМ80. К нему подключены ППА К580ВВ55, а так же ОЗУ и ПЗУ. Адресация памяти и ППА происходит при помощи разрядов А11-А15(при помощи дешифратора), адресация портов ППА происходит при помощи разрядов А0, А1. Каким образом составить карту адресного пространства МПС? Смотрел в некоторых докладах/курсовых/метод. указаниях, там встречаются фразы "легко определить", "несложно вычислить" и так далее, но сам процесс формирования карты адресного пространства не описывается. Вы знаете толк в извращениях. (Если я Вас правильно понял). Карту "памяти" делят в старших адресах, для того чтобы к конкретному девайсу можно было обращаться "линейно" , начиная с младшего адреса ( Если не правильно понял - простите  ).
--------------------
По современному этикету, в левой руке держат вилку, в правой - мышку.
|
|
|
|
|
Dec 22 2010, 11:29
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 17-04-09
Пользователь №: 47 866

|
Цитата(tyro @ Dec 22 2010, 17:18)  Вы знаете толк в извращениях. (Если я Вас правильно понял). Карту "памяти" делят в старших адресах, для того чтобы к конкретному девайсу можно было обращаться "линейно" , начиная с младшего адреса ( Если не правильно понял - простите  ). Вот например схема подключения памяти, взята из реферата по микропроцессорному комплекту К580 и там под рисунком написано "Каждая из микросхем образует страницу памяти объемом 2 Кбайта, выбор нужного слова из которой производится с помощью адресных сигналов А0-А10. Выбор нужной страницы осуществляет дешифратор К555ИД7 по состоянию старших разрядов адресной шины A11-A15. В данном примере ячейки ПЗУ и ОЗУ занимают в адресном пространстве МП соответственно области 0000H-07FFH и 0800H-0FFFH" - каким образом определяются эти два диапазона. У меня такая же схема, только к дешифратору еще подключен ППА, и соответственно количество адресных сигналов, идущих на микросхемы памяти я сократил до 9, чтобы было через какие сигналы обращаться еще и конкретным портам ППА.
______.bmp ( 575.19 килобайт )
Кол-во скачиваний: 60
|
|
|
|
|
Dec 22 2010, 12:35
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 26-03-10
Пользователь №: 56 229

|
Цитата(gry2500 @ Dec 22 2010, 17:29)  Вот например схема подключения памяти, взята из реферата по микропроцессорному комплекту К580 и там под рисунком написано "Каждая из микросхем образует страницу памяти объемом 2 Кбайта, выбор нужного слова из которой производится с помощью адресных сигналов А0-А10. Выбор нужной страницы осуществляет дешифратор К555ИД7 по состоянию старших разрядов адресной шины A11-A15. В данном примере ячейки ПЗУ и ОЗУ занимают в адресном пространстве МП соответственно области 0000H-07FFH и 0800H-0FFFH" - каким образом определяются эти два диапазона. У меня такая же схема, только к дешифратору еще подключен ППА, и соответственно количество адресных сигналов, идущих на микросхемы памяти я сократил до 9, чтобы было через какие сигналы обращаться еще и конкретным портам ППА.
______.bmp ( 575.19 килобайт )
Кол-во скачиваний: 60Не надо ничего сокращать. CS PPA к выходу дешифратора ('2') - ноги A0, A1 тоже к нему. Тогда для PPA диапазон адресов будет 1000H-17FFH.
|
|
|
|
|
Dec 22 2010, 12:53
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 17-04-09
Пользователь №: 47 866

|
Цитата(Fry__ @ Dec 22 2010, 18:35)  Не надо ничего сокращать. CS PPA к выходу дешифратора ('2') - ноги A0, A1 тоже к нему. Тогда для PPA диапазон адресов будет 1000H-17FFH. Спасибо за совет, но тогда встречный вопрос : как вы определили такой диапазон адресов? Первоначальный вопрос был именно в том, каким образом формируется карта. И какие адреса будут у портов ППА? Если объяснение не займет у Вас много времени, можете написать его?
Сообщение отредактировал gry2500 - Dec 22 2010, 12:58
|
|
|
|
|
Dec 22 2010, 13:24
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 26-03-10
Пользователь №: 56 229

|
Цитата(gry2500 @ Dec 22 2010, 18:53)  Спасибо за совет, но тогда встречный вопрос : как вы определили такой диапазон адресов? Первоначальный вопрос был именно в том, каким образом формируется карта. И какие адреса будут у портов ППА? Если объяснение не займет у Вас много времени, можете написать его? Если ответите себе: при каких состояниях A0-A15 будут активны (в нуле) выходы ИД7 - вопросы отпадут сами. Адреса портов (или регистров) для PPA я так понимаю будут 1000H-1003H, 1004H-1007H, и т.д. - т.е. будут повторяться. Студент?
|
|
|
|
|
Dec 22 2010, 13:29
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 17-04-09
Пользователь №: 47 866

|
Цитата(Fry__ @ Dec 22 2010, 19:24)  Студент? Да. Спасибо за ответ. Если будут вопросы - обращусь
|
|
|
|
|
Dec 22 2010, 14:23
|
    
Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731

|
У 8080 предполагаются раздельные адресные пространства для памяти и устройств ввода/вывода, обращение к которым стробируется \MEMR, \MEMW и \IOR, \IOW соответственно. Но если очень хочется, то можно устройства ВВ разместить в пространстве памяти и не забыть об этом при написании программы. Т.е. можете сделать - раздельные дешифраторы для адресации памяти и ВВ; - один дешифратор, и разместить ВВ в пространстве памяти и, соответственно, стробировать их сигналами \MEMR, \MEMW; - один дешифратор, но стробировать ВВ сигналами \IOR, \IOW.
|
|
|
|
|
Dec 22 2010, 14:38
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 17-04-09
Пользователь №: 47 866

|
Цитата(xemul @ Dec 22 2010, 20:23)  - один дешифратор, но стробировать ВВ сигналами \IOR, \IOW. Так и сделал, с системного контроллера на ППА идет сигнал с дешифратора(он один,совместный с памятью) и сигналы IOR/IOW c системного контроллера. Для обращения к памяти используются сигналы MEMW,MEMR. Fry Чего - то у меня не получается разобраться. Вот получается на дешифраторе вход разрешения (E)-А15 должен быть равен 1, чтобы на каком - либо из выходов был активный уровень. А какой из выходов подавать активный уровень, решается в зависимости от сигналов A11-A13, чтобы наример на выходе "0" появился активный уровень, необходимо подать на А11-А13 комбинацию "0 0 0", верно или нет?
Сообщение отредактировал gry2500 - Dec 22 2010, 14:56
|
|
|
|
|
Dec 22 2010, 15:47
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 26-03-10
Пользователь №: 56 229

|
Цитата(gry2500 @ Dec 22 2010, 21:38)  Так и сделал, с системного контроллера на ППА идет сигнал с дешифратора(он один,совместный с памятью) и сигналы IOR/IOW c системного контроллера. Для обращения к памяти используются сигналы MEMW,MEMR.
Fry Чего - то у меня не получается разобраться. Вот получается на дешифраторе вход разрешения (E)-А15 должен быть равен 1, чтобы на каком - либо из выходов был активный уровень. А какой из выходов подавать активный уровень, решается в зависимости от сигналов A11-A13, чтобы наример на выходе "0" появился активный уровень, необходимо подать на А11-А13 комбинацию "0 0 0", верно или нет? На дешифраторе OE (out enable) инвертирован по рисунку (+ лог. "И" на входе). Значит работа его разрешена если A14 и A15 будут 0. Остальное правильно. Вообще я никогда не имел дела с таким старым процем и дешифратором. Поэтому ориентируюсь только по вашему рисунку.
|
|
|
|
|
Dec 23 2010, 02:19
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 17-04-09
Пользователь №: 47 866

|
Допустим про схемы с памятью более - менее понятно, так как в тексте описания прямо написано, что они формируют страницы объемом 2Кб, то бишь 2048 байт. Соответственно 07FFH=2047(10), из этого следует что диапазон адресов первой страницы памяти будет 0000H-07FFH, то бишь составляет 2048 адресов. Но если например на входы дешифратора подать комбинацию (A11-A15="00000"-получить доступ к первой странице памяти) то получается что диапазон возможных адресов для первой страницы памяти будет составлять: (A0-A15 = "0000000000000000"-"1111111111100000") что немного не соответсвует заявленному в тексте под картинкой: "Каждая из микросхем образует страницу памяти объемом 2 Кбайта, выбор нужного слова из которой производится с помощью адресных сигналов А0-А10. Выбор нужной страницы осуществляет дешифратор К555ИД7 по состоянию старших разрядов адресной шины A11-A15. В данном примере ячейки ПЗУ и ОЗУ занимают в адресном пространстве МП соответственно области 0000H-07FFH и 0800H-0FFFH" В ответе Fry'a адресное пространство ППА тоже состоит из 2048 адресов (1000H-17FFH)Итого получаем, раз выходов у дешифратора 8, то можно адресовать 16 Кбайт адресного пространства, а насколько я помню К580ВМ80 может адресовать 64 Кбайта? Или тут по принципу 2^11=2048(т.к. 11-ти разрядная шина адресов у памяти), следовательно 2048 адресов могут быть в памяти? Или я неверно рассуждаю?(в приложении картинка с подсоединением памяти)
Ну и вот соответственно моя схема подключения памяти и ППА к дешифратору адресов(все сигналы рисовать не стал, т.к. в paint'е довольно долго можно вырисовывать детали) Соответственно А0,А1-выбор соответствующего регистра (для порта или РУС) ППА, А11-А15 - для дешифрации адреса, А2-А10 - на адресную шину памяти. Каким образом можно составить карту распределения адресов и какие адреса будут у регистров ППА? Или я вообще неправильно сделал? Или можно сделать как сказал fry, подключить к выходу "2" дешифратора еще и А0, А1 тогда шина адреса у памяти будет 11-ти разрядная.
Сообщение отредактировал gry2500 - Dec 23 2010, 01:52
|
|
|
|
|
Dec 23 2010, 02:22
|
    
Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731

|
Цитата(gry2500 @ Dec 23 2010, 07:36)  Или я неверно рассуждаю? Рассуждайте проще. На картинке изображён частичный (потому что использует только A11-A13 при A14=A15=0) дешифратор, который может адресовать 8 страниц. Адресация внутри страницы выполняется по A00-A10, и ёмкость каждой страницы составляет 2 кБ. (если адресное пространство предполагается ограничить 16 кБ, и A14=A15=0 всегда, то этот дешифратор можно считать полным) Другие комбинации A14, A15 (с необходимыми инверсиями) позволят такими же дешифраторами адресовать остальные 24 х 2 кБ страницы.
|
|
|
|
|
Dec 23 2010, 05:44
|

Гуру
     
Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515

|
Пропускаете A15 через инвертор. И делите им адресное пространство на 2 части. Делать многоступенчатые дешифраторы тоже можно, но это не слишком фэншуй. У дешиффратора намного больше задержка, чем у простого инвертора. (В масштабе времени 8080 и элементной базы того времени). Чтоб разделить ВСЁ адресное пространство на зоны по 2К вам потребуется 4 ИД7. А это значит, что сигналы разрешения работы этих дешифраторов должны определятьтся исключительно A14 и A15 Т.е. пропускаете A14 и A15 через инверторы. Получаете 4 сигнала (14 и 15 + инверсные 14 и 15). Соединяете (14 15) (14 -15) (-14 15) (-14 -15) со входами разрешения дешифраторов. Получаете 32 выхода, каждый из которых определяет соотв. 2К зону.
--------------------
On the road again (Canned Heat)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|