Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Белош_Лекции_4_курс_2010г.doc
Скачиваний:
27
Добавлен:
16.07.2019
Размер:
2.92 Mб
Скачать

Модель функционирования локального интерфейса микропроцессора Intel 80386

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

Пусть первоначально процессор находится в состоянии Ti – это состояние холостого хода, т.е. отсутствие циклов передачи информации. Это начальный такт после включения микропроцессора.

В этом состоянии микропроцессор будет находится до тех пор, пока не появляется внутренний сигнал z – сигнал запроса на цикл интерфейса, если сигнал z появляется, то микропроцессор перешел в состояние T1 – это начальный такт неконвертированного простого цикла передачи информации. В такте T1 процессор выставляет следующие сигналы: адрес данных, сигналы идентификации цикла, (он выставляет M/IO, D/C, W/R), сигнал использования адреса ADS, чтобы приемник смог воспринять адрес выставленный на шине адреса. Если выполняется цикл записи, то процессор выставляет данные на шину данных. Если выполняется цикл чтения, то данные с шины снимаются. На этом функции такта T1 заканчиваются, после него всегда следует такт T2, в этом такте, который называется такт продолжения или завершения цикла, процессор выполняет следующие действия:

- сохраняет значения адресов

- сохраняет значения сигнала операции запись или чтение

- переводит в неактивное состояние строб адреса ADS. Если выполняется цикл записи, то значение данных на шине сохраняется.

Поскольку такт T2 является завершающим в цикле, то процессору нужно понять завершен ли цикл и куда следует двигаться дальше. Процессор в течение Т2 проверяет активность следующих сигналов, для принятия решения о следующем шаге. Он анализирует сигнал z, сигнал запроса следующего адреса, в случае конвейерной обработки, и сигнал окончания текущего цикла Ready -> R. Если сигнал окончания не поступал и нет запроса следующего адреса, то процессор продолжает оставаться в состоянии T2. Если поступил сигнал внутри запроса и присутствует сигнал окончания цикла R, но нет сигнала следующего адреса, то процессор переходит к следующему циклу Т1. Если же сигнал окончания цикла появляется, но нет сигнала внутри запроса и запроса следующего адреса, то микропроцессор переходит в состояние холостого такта. Если состояние Т2 цикла еще не закончился, а появляется запрос нового адреса, то это означает, что есть желание работать с конвейеризацией, т.е. начать новый цикл передач до окончания текущего.

Т2Р – это такт передачи нового адреса в цикле с конвейеризацией, процессор в этом такте выставляет:

- адрес данных

- сигнал использования ADS

- сигналы идентификации цикла.

В отличие Т1, в Т2Р процессор не выставляет на шину новые данные до окончания текущего цикла. Выход из этого сигнала возможен только при наличии сигнала R, и если он появляется, процессор переходит в состояние Т1Р – этот такт называется началом конвейерного цикла, процессор здесь повторяет все выставленные ранее сигналы, кроме исполнения строба ADS, которые процессор переводит в неактивное состояние, если есть внутренний запрос и запрос следующего адреса, то это означает продолжение конвейерной обработки и процессор переходит в состояние Т2Р. Если есть z и нет N, переходит в состояние Т2, если запрос нового адреса есть, но нет внутреннего запроса, то переходит на промежуточный такт Т2i – это такт завершения цикла конвейеризации, процессор повторяет все выставленные сигналы, а строб адреса ADC сбрасывает, если он находится в активном состоянии. Здесь в этом такте процессор проверяет наличие сигнала внутри запроса и сигнала R, если их нет, то процессор продолжает оставаться в состоянии Т2i, если z появляется, но нет R, то переходим в состояние T2p, если внутри запрос появился и цикл закончен, то переходим к началу следующего цикла, т.е. в состояние Т1. Если внутри запрос отсутствует, а цикл закончен, то необходимо дождаться внутреннего запроса и переходить в Ti, если процессор находящийся в Т2 увидит наличие следующего адреса для работы в конвейере, но при этом не будет не z не R, то процессор перейдет в состояние T2i.