Важная информация

User Tag List

Страница 1 из 4 1234 ПоследняяПоследняя
Показано с 1 по 10 из 33

Тема: Не пойму, как работает "прозрачный доступ" к ОЗУ (читал М.Буна)

  1. #1
    Master
    Регистрация
    31.03.2008
    Адрес
    Москва
    Сообщений
    725
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    75
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question Не пойму, как работает "прозрачный доступ" к ОЗУ (читал М.Буна)

    Что я понял из схемы и статей Буна, так это как
    отключаются-подключаются проц и контроллер
    к памяти. Но Бун пишет, что контроллер дисплея
    и проц друг другу не мешают.
    Однако:
    1. К линейке ОЗУ одновременно может обратиться
    только 1 устройство (проц или контроллер).
    2. Вывод на экран не может задерживаться из-за
    того, что проц хочет обратиться к памяти.
    Вот как это сделано в арбитре - не понимаю.
    (Как это сделать с WAIT - примерно понимаю).
    Кто-нибудь может объяснить?

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

  3. #2
    Veteran Аватар для icebear
    Регистрация
    05.05.2005
    Адрес
    Германия
    Сообщений
    1,614
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от IanPo Посмотреть сообщение
    Вот как это сделано в арбитре - не понимаю.
    (Как это сделать с WAIT - примерно понимаю).
    Кто-нибудь может объяснить?
    Общий принцип такой: арбитр тактируется частотой выше (например в два раза) чем самый "быстрый" узел схемы, осуществляющий доступ к памяти. При этом каждый первый такт арбитр подключает один узел к памяти, а каждый второй такт - другой узел. Таким образом общая шина памяти делится между двумя узлами.
    Who are you to fucking lecture me?

  4. #3
    Guru Аватар для bigral
    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от icebear Посмотреть сообщение
    Общий принцип такой: арбитр тактируется частотой выше (например в два раза) чем самый "быстрый" узел схемы, осуществляющий доступ к памяти. При этом каждый первый такт арбитр подключает один узел к памяти, а каждый второй такт - другой узел. Таким образом общая шина памяти делится между двумя узлами.
    процессор продолжает выгребать данные с той же скоростью так как его частота не меняется - значит во время доступа проца память должна работать на той же скорости как и раньше, другой вопрос что данные для видеоконтроллера можно успеть выгребсти во время того как процессор производит RЕFRЕSH на большей чем обычно скорости. Такая схема потеряет совместимость со спектрумом (snow effect, contended memory).

  5. #4
    Veteran Аватар для icebear
    Регистрация
    05.05.2005
    Адрес
    Германия
    Сообщений
    1,614
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение
    процессор продолжает выгребать данные с той же скоростью так как его частота не меняется - значит во время доступа проца память должна работать на той же скорости как и раньше, другой вопрос что данные для видеоконтроллера можно успеть выгребсти во время того как процессор производит RЕFRЕSH на большей чем обычно скорости. Такая схема потеряет совместимость со спектрумом (snow effect, contended memory).
    Вспомни, что у Z80 цикл доступа к памяти два-три такта (в зависимости от), это 1). А ВК читает "медленнее" процесcора, так как читает сразу 8 сосдених пикселей (и двигает их потом), это 2). Грубо говоря, память должна успеть отработать на скорости арбитра в самом худшем случае. А такого не произойдёт никогда, т.к. 1) и 2)

    Есть более продвинутый способ, выгребать данные процессора в промежуточный буфер (обычный регистр, не фифо), ибо адрес и RD или WR висят не один такт процессора в положеном состоянии. Мало того, при таком раскладе память будет работать на половине частоты процессора (снова грубо говроя Т1 - engage, Т2 - execute, Т3 - fetch).
    Who are you to fucking lecture me?

  6. #5
    Master
    Регистрация
    31.03.2008
    Адрес
    Москва
    Сообщений
    725
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    75
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Продолжаю думать над схемой, возник такой вопрос:
    На диаграмме (рис.13) активизация сигнала CPU, разрешающего процессору доступ к памяти (и отключающего дисп.контроллер), приходится на второй такт. В этом случае схема работает. А если контроллеру нужно считать байт именно во втором такте? Ведь никакой привязки к тактам процессора у него нет, так что может попасть и на второй такт, а по сигналу /MREQ контроллер во 2-м такте отключится от ОЗУ и включится проц. Т.е. контроллеру надо считать, а проц его отключает. Вот никак этот момент не пойму. По картинке сигнал CPU непериодический, т.к. у проца разное количество тактов на операцию, а триггер DD5 работает от /MREQ.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	MBun1.jpg 
Просмотров:	724 
Размер:	82.1 Кб 
ID:	10914   Нажмите на изображение для увеличения. 

Название:	MBun2.jpg 
Просмотров:	568 
Размер:	63.7 Кб 
ID:	10915  

  7. #6
    Master Аватар для Keeper
    Регистрация
    15.11.2007
    Адрес
    Харьков
    Сообщений
    873
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от IanPo Посмотреть сообщение
    Ведь никакой привязки к тактам процессора у него нет
    Есть , Все тактируется от одного генератора...

  8. #7
    Veteran Аватар для KALDYH
    Регистрация
    04.02.2008
    Адрес
    Кемерово
    Сообщений
    1,591
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У Пентагона (наглядный пример компьютера с "прозрачным" доступом к ОЗУ) между памятью и видеовыходом стоит 3 последовательно включенных регистра, образующие FIFO буфер. Особенности работы не помню, схему изучите.
    Отошёл от дел.

  9. #8
    Master
    Регистрация
    31.03.2008
    Адрес
    Москва
    Сообщений
    725
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    75
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Keeper Посмотреть сообщение
    Есть , Все тактируется от одного генератора...
    Это я понимаю, но у процессора разное кол-во тактов на операцию (fetch - 4 , read - 3), и контроллер не знает, когда у процессора будет T1.

  10. #9
    Master Аватар для Zloy
    Регистрация
    09.06.2007
    Адрес
    Минск
    Сообщений
    756
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от IanPo Посмотреть сообщение
    Это я понимаю, но у процессора разное кол-во тактов на операцию (fetch - 4 , read - 3), и контроллер не знает, когда у процессора будет T1.
    Тоже задавался таким вопросом... так до конца и не понял.
    ZXM-Phoenix 1024 + VGA&PAL

    Байт 128К + TR-DOS + AY + TURBO; Балтик 48К; Sharp MZ-800

  11. #10
    Master Аватар для Keeper
    Регистрация
    15.11.2007
    Адрес
    Харьков
    Сообщений
    873
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от IanPo Посмотреть сообщение
    Ведь никакой привязки к тактам процессора у него нет, так что может попасть и на второй такт, а по сигналу /MREQ контроллер во 2-м такте отключится от ОЗУ и включится проц.
    В общем видеоконтроллер читает данные из памяти несколько чаще чем ему нужно, по-этому видеоконтроллер не против отдать процессору доступ в "момент Т2". "Момент Т2" как раз и отслеживается триггером D5. А вот для формирования непосредственно изображения данные берутся из REG.DISP, а не из памяти, соответственно конфликта доступа к памяти не будет.

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

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

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

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

Похожие темы

  1. Ответов: 67
    Последнее: 21.04.2021, 14:51
  2. Ответов: 6
    Последнее: 20.11.2007, 11:29
  3. Ответов: 5
    Последнее: 20.06.2005, 00:10
  4. "Ремейк или плагиат?" или "про FIRE & ICE..."
    от antiplagiat в разделе Игры
    Ответов: 27
    Последнее: 04.06.2005, 02:55

Ваши права

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