8085 мкп; Почему цикл чтения занимает 3 T-состояния, а не 2?

В тексте, за которым я следую, RSGaonkar объясняется, что

  • Во время T1 адрес в счетчике программ (ПК) фиксируется в регистре адреса памяти (MAR),

  • Во время спада Т2 М Е М р ¯ становится активным, и во время переднего фронта содержимое регистра данных памяти помещается на шину

  • Во время T3 содержимое шины фиксируется в аккумуляторе.

Мой вопрос : во время переднего фронта T2, почему MDR не фиксируется напрямую на аккумуляторе, а принимает другое Т-состояние, чтобы зафиксировать его?

Так оно и есть.
@MarkoBuršič :( Хорошо, но это может спасти все Т-состояние (кто-то определенно подумал бы об этом, потому что должна быть причина для расширения процесса на все Т-состояние, иначе мы потенциально могли бы сэкономить огромные суммы времени, но это не так)
Это потому, что 8085 имеет мультиплексированную адресную шину?

Ответы (1)

«Дополнительное» состояние T предусмотрено в цикле, чтобы дать внешней памяти достаточно времени для ответа. Помните, когда разрабатывался этот чип, чипы памяти использовали ту же базовую технологию, что и процессор, и были такими же медленными, плюс требовалось дополнительное время для декодирования внешнего адреса и буферизации шины.

Разработчики хотели упростить сборку «минимальной» системы, не требуя внешней логики для создания состояний ожидания.


Вот подробности цикла чтения, из даташита , на стр. 1-25.

прочитать временную диаграмму цикла

Имейте в виду, что t CYC составляет 320 нс (3 МГц, 8085AH-1), но может быть и 167 нс (6 МГц, 8085AH-1).

t AD — это общее время доступа к памяти с точки зрения ЦП, с момента, когда адрес стабилен, до момента, когда данные должны быть действительными. Для 8085AH оно составляет 575 нс. Если вы уменьшите цикл T, это уменьшится до 255 нс.

Как я уже сказал, это с точки зрения ЦП — адресные строки становятся действительными на выводах ЦП , а данные должны быть действительными на выводах ЦП . Это общее время должно включать время прохождения адресных сигналов через буферы адресов, декодеры адресов и, возможно, через какую-либо объединительную плату системы, прежде чем они попадут на контакты реального чипа RAM. Это точка, в которой начинается цикл чтения ОЗУ — t AA — это время от того, когда адрес действителен на выводах микросхемы ОЗУ, до того момента, когда его выходные данные верны, и это обычно самый медленный параметр на микросхеме.

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

Все эти накладные расходы могут легко составить что-то порядка 200 нс. При цикле с 2 T-состояниями для времени доступа к микросхеме ОЗУ остается всего 55 нс. С циклом из 3 T-состояний вы получаете около 375 нс, что является гораздо более разумным значением для чипов, доступных в то время.

Я подумал об этом, и у меня возникло наивное сомнение, как память может быть медленной, я имею в виду передачу по проводам напряжений и токов, почему она должна быть медленной? Разве это не зависит от нашей тактовой частоты? И что значит буферизация шины? Я имею в виду, я не понимаю смысла этой фразы, типа... как действие.
Микросхемы памяти — это схемы, как и процессор. Поэтому им нужно время, чтобы отреагировать.
Выводы процессора были недостаточно сильными для передачи логических сигналов на несколько микросхем памяти, соединенных параллельно, или для передачи физически длинных проводов. Таким образом, для всех плат, кроме самых маленьких, вам нужны буферы (т.е. 74HC244) для увеличения дискового пространства. Эти буферы добавили задержку.
@AravindhVasu, как процессор может работать медленно?
@ user253751 что ты имеешь в виду?
Память @AravindhVasu может работать медленно так же, как процессоры.