Общие характеристики интерфейса памяти

На рис. 7.1 показан интерфейс между микропроцессором и памятью. В качестве интерфейса используются:

1) шина адреса. Центральный процессор использует эту шину для выбора некоторой ячейки памяти при выборке или записи данных;

2) входная шина данных. Блок памяти использует эту шину для передачи содержимого ячейки памяти в ЦП;

3) выходная шина данных. Центральный процессор использует эту шину для передачи данных в память;

4) шина управления. По этой шине передаются управляющие и синхронизирующие сигналы. К сигналам, передаваемым в память, относятся сигналы, .синхронизирующие цикл памяти и процессора, сигналы записи и адресные и ли .информационные стробирукнцие сигналы. Сигналы, посылаемые в ЦП,.обычно сообщают об успешном доступу к памяти.

 

Основным процессом взаимодействия микропроцессора и модуля памяти является процесс выборки команды. Прежде чем выполнить некоторое действие, ЦП должен выбрать команду из памяти. Выбранная команда определяет действие ЦП в оставшейся части цикла команды] Выборка команды -(рис. 7.2) осуществляется следующим образом. . ' ^ 1

Шаг 1. Центральный процессор посылает в адресную шину содержимое счетчика команд (СК).

Шаг. 2. Центральный процессора ждет получения данных из памяти.

Шаг 3. Центральный процессор помещает данные с входной шины данных в регистр команд (РК).

Шаг 1 определяет, откуда берется.команда. На щаге2 для обеспечения корректности передачи данных осуществляется синхронизация работы процессора. и памяти. На шаге 3 информация, полученная из памяти, интерпретируется как команда, а не как адрес или данные.

Для выполнения шага. 1 требуется синхронизирующий сигнал, который помещает содержимое СК на адресную шину. Синхронизирующий сигнал поступает от процессора и представляет собой регулярную последовательность сигналов, вырабатываемых тактовым генератором. Особенности внутренней организации процессора определяют, частоту и ширину тактовых сигналов.

На шаге 2 ЦП должен суметь определить тот момент, когда данные из памяти становятся доступными. Разумеется, на протяжении всего этого промежутка времени содержимое адресной шины должно оставаться постоянным. С точки зрения правильности работы ЭВМ время задержки является критичным. Если ЦП не будет ожидать в течение достаточного времени, прием команды может завершиться некорректно. Такую ошибку трудно обнаружить, а ее возникновение может привести к непредсказуемому результату. Задача состоит в том, чтобы определить длительность задержки. Простейшим вариантом решения этой проблемы является выбор такого типа памяти, время доступа к которой меньше периода тактового генератора. В этом случае время ожидания определяется периодом тактового генератора. Более сложные варианты определения временной задержки будут рассмотрены далее.

Для выполнения шага 3 требуется синхронизирующий сигнал, по которому содержимое входной шины данных помещается в регистр команд. Если время доступа к памяти меньше периода тактового генератора, то этим синхрониз и рующим сигналом может быть следующий тактовый сигнал генератора тактовых импульсов процессора. С помощью триггера можно определить, является ли данный цикл циклом вывода адреса или циклом ввода данных.

Проектировщик должен обеспечить согласованность временных характеристик блока памяти и процессора. Синхронизирующие сигналы, по которым содержимое СК помещается на шину адреса, а содержимое шины ввода данных — в регистр команд, определяются ^архитектурной ЦП. Блок памяти должен предоставить данные в течение соответствующего временного интервала.

Кроме выборки команд, ЦП должен выбрать из памяти данные и адреса. Разница между этими двумя операциями выборки и выборкой команды состоит в том, что адрес берется из одного места памяти, а данные посылаются в другое. Синхронизация циклов осуществится аналогично. Если время доступа ко всем частям модуля памяти остается неизменным, то синхронизацию циклов можно осуществить так же, как и при выборке команд. Другие циклы чтения включают в себя операции выборки:

1) адресной части команды. В данном случае адрес находится в СК, а ЦП помещает данные в адресный регистр;

2) данных из ОЗУ. В данном случае адрес содержится в адресном регистре и ЦП помещает данные в регистр данных.

3) непосредственных данных. В данном случае адрес содержится в СК, а ЦП помещает данные в регистр данных;

4) косвенного адреса. В данном случае адресом является содержимое адресного регистра, и ЦП помещает данные в адресный регистр.

Для примера предположим, что выполняется команда ADD 150, занимающая две ячейки памяти. В первой ячейке содержится код операции ADD, во второй — непосредственный адрес 150. Для выполнения данной команды требуется три цикла:

1) выборки команды. Центральный процессор выбирает из памяти операции и помещает его в регистр памяти;

2) выборки адреса. Центральный процессор выбирает из памяти адрес и помещает его в регистр адреса. При выполнении обоих циклов счетчик команд увеличивается на единицу;

3) выборки данных. Используя регистр адреса, ЦП выбирает данные из памяти и помещает их в регистр данных. В этом цикле содержимое счетчика команд не меняется.

На рис. 7.3 показано, как в процессе выполнения команды осуществляется передача информации. Синхронизация осуществляется одинаково для всех циклов.

Очевидно, ЦП должен иметь возможность указывать адрес источника для адресной шины и адрес получателя для входной шины данных. Это обеспечивается с помощью управляющих сигналов, формируемых путем дешифрирования команды, формирования внутреннего сигнала и с помощью тактовых сигналов процессора. Источник для адресной шины может определить мультиплексор или селектор, как это показано на рис. 7.4. Демультиплексор может определить приемник для шины входных данных, как это показано на рис. 7.5. Чем больше источников и приемников, тем сложнее селекторы и демультиплексоры и тем больше управляющих сигналов требуется для управления ими. Эти внутренние устройства также создают задержки (от ввода до вывода). Селекторы и демультиплексоры являются базовыми элементами в схемах ЭВМ, так как они обеспечивают ту степень гибкости ЭВМ, которая позволяет широко их использовать.



 

Чтобы выполнить некоторые команды, процессор должен пересылать данные в память, т. е. выполнять операции записи в память. Циклы записи в память не обладают такой же степенью общности, как циклы чтения содержимого памяти. Многие микро-ЭВМ не имеют оперативной памяти и не выполняют операций записи в память. В таких системах для временного хранения данных используются ре* гистры микропроцессора.

Цикл записи в память подобен циклу чтения и выполняется следующим образом.

Шаг 1. . Центральный процессор помещает содержимое регистра адреса в адресную шину.

Шаг 2. Центральный процессор помещает содержимое регистра данных в шину вывода данных.

 Шаг 3. Центральный процессор выдает в блок памяти сигнал записи.

Шаг 4. Центральный процессор ожидает успешного завершения операции записи.

: Шаг 1 цикла записи совпадает с соответствующим ш^гом при выборке данных. Для выполнения шага 2 требуется синхронизирующий сигнал, по которому данные помещаются на выходную шину данных. Получение данных из различных регистров данных можн® обеспечить с помощью селектора.

Для выполнения шага 3 требуются средства генерации, которые формируют сигнал достаточной длительности для посылки в память.

В соответствии с приведенной таблицей селектирующие входы определяют, какой информационный вход будет подключен к шине адреса:

 

Селектирующие
входы
Содержимое шины адреса
0
1
2
3
,
Счетчик команд
Регистр адреса 1
Регистр адреса 2
Регистр адреса 3
Дополнительные селектирующие входы позволяют увеличить число источников для шины адреса

 

 

 

 



В цикле записи очень важно выдержать порядок передачи сигналов в память и их взаимную синхронизацию. Поскольку операция чтения является неразрушающей, порядок сигналов в цикле чтения не очень важен. Так, например, адрес должен достигнуть памяти до начала сигнала записи, а затем до окончания этого сигнала данные должны оставаться неизменными.

Шаг 4 синхронизирует операцию записи. Центральный процессор должен убедиться в том, что операция записи завершена. Как и в цикле чтения, для этого достаточно выбрать такой тип памяти, чтобы цикл записи завершался за один период тактового генератора.

Цикл записи более сложен, чем цикл чтения. В цикле чтения необходимо только сделать данные доступными ЦП; что происходит до и после обмена, значения не имеет. Цикл записи должен не только корректно пересылать данные, но и гарантировать, что не произойдут никакие предпосылки, которые меняют содержимое ячеек памяти.

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

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

Управляющий сигнал, который переводит ЦП в определенное исходное состояние, называется сигналом СБРОС. Требования к этому сигналу и конкретные действия, которые он выполняет, различны для разных процессоров. Основное назначение сигнала СБРОС состоит в том, чтобы поместить в СК определенный адрес. Разработчик может создать программу, которая располагается в определенном месте памяти (обычно в ПЗУ) и передает управление основной программе. Часто для этого бывает достаточно одной команды передачи управления. Сигнал СБРОС может быть подан в любой момент, поступление этого сигнала вернет процессор в первоначальное состояние.

Сигнал СБРОС при включении напряжения питания можно реализовать с помощью резисторно-емкостной схемы, подключенной к источнику питания (рис. 7.6). Триггер Шмитта преобразует небольшое увеличение питающего шпряжения в сигнал строго определенной формы. Многие процессоры (например, Zilog Z-80 и MOS Technology 6502) имеют в своем корпусе эту схему. В других процессорах (например, Intel 8080) предполагается, что схема находится в одном корпусе с тактовым генератором. Такой способ реализации сигнала СБРОС обеспечивает запуск процессора с определенного состояния и исключает все проблемы, связанные с переходными процессами при инициализации

 



Продукция шестерни конические прямозубые www.promtechnoservice.ru.