User Tag List

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 36

Тема: Адресация 16K

  1. #21

    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,791
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Что касательно отсутствующей схемы дешифрации 2к RAM, то полагаю не стоит рассчитывать на то, что её делали малограмотные любители с жаждой сэкономить копейки. Учитывая, что все (кроме кривого BDI) дисковые системы на западе строились по одинаковому принципу, можно рассмотреть например дешифрацию в дисковой системе OpusDiscovery. Там тоже используется 2к RAM и дешифрация там полная, т.е. RAM занимает пространство 8-10к. Это нормальное грамотное инженерное решение и если дешифратор Multiface-1 разрабатывал инженер, а не девелопер, то результат будет аналогичным.

  2. #22

    Регистрация
    11.04.2006
    Адрес
    Novosibirsk
    Сообщений
    971
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Дешифрация там полная по одной причине - там надо дешифровать корректно и ROM и RAM. Там где ее можно не делать, она никогда не сделана. Потому-что это 1) усложнение техпроцеса 2) схемы 3) лишний узел который может отказать и 4) это дороже по комплектухе. В IBM вон тоже не дебилы работают, тем не менее на IBM PC мы имеем неполную дешифрацию портов в/в на шине ISA. А в intel наверное тоже в отделе разработки сидят отбитые шизофреники, которые начиная с 286 камня забыли про полную дешифрацию и дали в реальном режиме адресовать более 1 мб памяти. А начиная с 386 камня там сделали неполную дешифрацию по флажку PM в CR0 и тем самым дали возможность адресовать в real mode все 4gb памяти. А в zilog набрали недоучек, и процессор получился с неполной дешифрацией команд, благодаря которым мы имеем целую кучу недокументированых фичей. Вобщем только Opus гуру разрабатывал, а остальные так, девелоперы.

    Добавлено через 5 минут
    Цитата Сообщение от Black_Cat Посмотреть сообщение
    интересно откуда взялось "два лишних корпуса", в то время как разница между 8к и 2к ОЗУ в двух адресных линиях, которые предусмотреть не будет стоить ни копейки..
    С того что надо результат дешифрации по этим двум линииям (а это не обязательно 00 или 11) логически сложить с CS. В самом простом частном случае можно обойтись одним дополнительным корпусом используя два логических элемента "3-и-не". Только я что-то не врубаюсь с чего речть идет о двух линиях, если разговор о полной дешифрации ? 16 линий мой дорогой друк, 16. Если радеть за полную дешифрацию-то.

    Добавлено через 10 минут
    Цитата Сообщение от ARTi Посмотреть сообщение
    Что наиболее вероятно и наименее просто в реализации (эмуляции)...
    И это тоже непросто. Неужели придется городить банки по 2k? :-D
    Да все на самом деле тривиально. На адрес масочку наложил и всего делов. Заворот сам получится. Одна логическая операция, обьем памяти же кратен степени двойки.

    Что касается 16к и состояния ШД, то читаться там будет всегда гарантировано 0ffh. То есть такого волшебства как захват даных видеопамяти при чтении из несуществующего порта наблюдаться не будет.
    Последний раз редактировалось ram_scan; 17.02.2008 в 00:53. Причина: Добавлено сообщение

  3. #23

    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,791
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Некорректное сравнение. Есть ошибки, а есть неграмотно выполненная работа. В Спеке вон тож под #FE пол адресного пространства портов отдали - дык имели полное на то право. А если-бы какой девелопер проделал то-же самое с остальными адресами, то ему сразу же указали-бы куда ему следует засунуть его руки.

    Добавлено через 6 минут
    Цитата Сообщение от ram_scan Посмотреть сообщение
    16 линий мой дорогой друк
    ты наверно всёж не инженер, а девелопер токо без обид..
    Последний раз редактировалось Black_Cat; 17.02.2008 в 00:54. Причина: Добавлено сообщение

  4. #24

    Регистрация
    11.04.2006
    Адрес
    Novosibirsk
    Сообщений
    971
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я все-таки однако инженер. О чем даже и диплом имею. Поэтому может понадобиться воткнуть девайс в ту часть адресного пространства, где одной адресной линией не обойдешься.

    А то стандарт какой-то двойной получается. С одной стороны ты за полную дешифрацию, а с другой стороны "ROM у нас всегда с 0 адреса". Кто сказал ?

    Девелопер имеет полное право так сделать и ни одна живая душа его в этом не упрекнет если такое решение не интерферирует с софтом и оборудованием. И только нездоровый психически человек начнет там городить абсолютно ненужный огород.
    Последний раз редактировалось ram_scan; 17.02.2008 в 00:59.

  5. #25

    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,791
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ram_scan Посмотреть сообщение
    С одной стороны ты за полную дешифрацию, а с другой стороны "ROM у нас всегда с 0 адреса". Кто сказал ?
    с дуру оно конечно можно и член сломать, но по любому для дешифрации 2к ОЗУ в адресном диапазоне 64к - надо 5 адресов, а для 8к ОЗУ - 3 адреса. 5-3=2 - разница в две адресные линии.
    Последний раз редактировалось Black_Cat; 17.02.2008 в 02:02.

  6. #26

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

    По умолчанию

    Да все на самом деле тривиально. На адрес масочку наложил и всего делов. Заворот сам получится. Одна логическая операция, обьем памяти же кратен степени двойки.
    Ну конечно! Тут маску накладываем, а там пару сравнений делаем, нужно ли накладывать маску или нет, а задним числом еще проверяем, ROM у нас или RAM, а если ROM, то какой , и т.д. и т.п.
    Многовато тривиальностей получается, да и операций, хоть и простейших, но в целом набегает... Что недопустимо (для меня).
    Я когда делал переход с 16k банков на 8k, волновался, что все затормозится по самое не балуйся. Однако как будто бы ничего не произошло, даже ошибок вроде не появилось. А городить банки по 2k только лишь из-за одного Multiface 1 и его RAM 2k не хотелось бы... но это как будто самое приемлемое решение. Возникала правда мысль отойти от статического банкирования и придумать нечто динамическое с не большими затрами времени/памяти, но мне пока ее не уловить
    Даже если проблемы адресации 64k с учетом выбора банков ROM/RAM отобразить на архитектуру x86 и если предположить, что нам дали зеленый свет на работу с механизмом страничной адресации, то и там минимальная граница, где быстро можно отследить доступ - 4k.

    P.S. В общем, в результате своих (воз)излияний я похоже решил, что мне делать
    Последний раз редактировалось ARTi; 17.02.2008 в 16:03.

  7. #27

    Регистрация
    11.04.2006
    Адрес
    Novosibirsk
    Сообщений
    971
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Black_Cat Посмотреть сообщение
    с дуру оно конечно можно и член сломать, но по любому для дешифрации 2к ОЗУ в адресном диапазоне 64к - надо 5 адресов, а для 8к ОЗУ - 3 адреса. 5-3=2 - разница в две адресные линии.
    Даже по этой самой идеологии (несмотря на то что в рассуждениях есть ошибка) получается неполная дешифрация.

    Покажи мне как пятью битами дешифровать двухкилобайтный ROM включеный по адресу 0xf800, И я публично тут посыплю себе голову пеплом. Потому-что как я блин ни считаю, у меня меньше чем 7 бит на дешифрацию двухкилобайтного ROM ну никак не получается.

    Если говорить о девайсе У которого ROM расположен с 0 адреса, то для дешифрации достаточно вообще одной адресной линии. Если этот ROM недоступен программно из стендартного окружения, то он хоть пусть на голове там стоит со своей неполной дешифрацией.

    Добавлено через 11 минут
    Цитата Сообщение от ARTi Посмотреть сообщение
    Ну конечно! Тут маску накладываем, а там пару сравнений делаем, нужно ли накладывать маску или нет, а задним числом еще проверяем, ROM у нас или RAM, а если ROM, то какой , и т.д. и т.п.
    Многовато тривиальностей получается, да и операций, хоть и простейших, но в целом набегает... Что недопустимо (для меня).
    А в чем сложности ? Если известно, что подключен такой-то эмулируемый девайс, то на дешифрацию данного девайса требуется ровно две операции, маскирование адреса и сравнение. По результату сравнения выдается адрес блока памяти в котором нужная область располагается, после чего происходит выборка данных. Придется делать это каждый раз при выборке из памяти, никуда от этого не денешься.
    Последний раз редактировалось ram_scan; 17.02.2008 в 17:21. Причина: Добавлено сообщение

  8. #28

    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,791
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ram_scan Посмотреть сообщение
    как пятью битами дешифровать двухкилобайтный ROM включеный по адресу 0xf800, И я публично тут посыплю себе голову пеплом
    посыпание ни к чему CS=A15&A14&A13&A12&A11
    Цитата Сообщение от ram_scan Посмотреть сообщение
    Если этот ROM недоступен программно из стендартного окружения, то он хоть пусть на голове там стоит со своей неполной дешифрацией.
    при чём тут это? Альтернативная память там включается либо специальным портом, либо по специальной точке входа в ОЗУ, а дешифрация нужна уже при включенной альтернативной памяти, чтоб в ней самой небыло гемора.
    Последний раз редактировалось Black_Cat; 17.02.2008 в 17:41.

  9. #29

    Регистрация
    11.04.2006
    Адрес
    Novosibirsk
    Сообщений
    971
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Black_Cat Посмотреть сообщение
    посыпание ни к чему CS=A15&A14&A13&A12&A11
    Первоначально много написал но выяснил что сам таки обсчитался. Действительно 5 бит достаточно. Пальцев не хватило посчитать правильно сразу.

    Цитата Сообщение от Black_Cat Посмотреть сообщение
    при чём тут это? Альтернативная память там включается либо специальным портом, либо по специальной точке входа в ОЗУ, а дешифрация нужна уже при включенной альтернативной памяти, чтоб в ней самой небыло гемора.
    А вопрос то задавался именно об этом. Как выбрать нкжный девайс и как его дешифровать у топикстартера вопроса не стояло. Стоял вопрос как после выбора девайса уже внутри него самого осуществляется дешифрация. На что я отвечал, что порочиться с полной дешифрацией там - смысла уже никакого. Вот специальный порт или точку входа дешифровать нужно полностью, и с этим никто не спорил. После переключения - уже необязательно усложнять схему геморроями, там достаточно разрабатывая ПО просто помнить о том что дешифрация неполная.

    В общем-то случае достаточно дешифратора на точку входа/порт активации, и сигнала /ROM если девайс свое теневое ПЗУ внедряет. И получаем в итоге неполную дешифрацию.
    Последний раз редактировалось ram_scan; 18.02.2008 в 09:47.

  10. #30

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

    По умолчанию

    А ROM у 16k и 48k было одно и то же? Т.е. например тест памяти в 16k так же пытался ворошить всю память как и в 48k?

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

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

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

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

Похожие темы

  1. Ответов: 25
    Последнее: 09.08.2006, 11:21

Ваши права

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