Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СРВ_03_21_01_Контроллер.ppt
Скачиваний:
5
Добавлен:
20.06.2023
Размер:
756.22 Кб
Скачать

Архитектура контроллера

I/O

в/в

GP IO

 

Устройства

IC

 

DMA

Timers

CPU

RAM

Flash

EEPROM

•CPU (Central Processing Unit):

AMD80188-40MHz, ARM-11 – 300MHz

•RAM (Random Access

Memory): 64Kb – 10Mb

•Flash: 64Kb – 10Mb

•EEPROM (Electrical Erasable Programmable Read-Only Memory):

2 – 10Kb

•Timers –

Interval Timer

Watchdog Timer

Real-Time Clock

•GP I/O (General Purpose I/O)

•IC (Interrupt Controller)

•DMA (Direct Memory Access)

3 Архитектура 2015 v.0.1

1

 

Ввод/вывод по готовности

GP I/O

1

 

 

Чтение Pi

2

 

 

P

CPU

 

 

 

 

 

n

 

 

Pi = 0

 

 

 

R

RAM

«Что-то»

Ввод (R)

GP I/O – General Purpose I/O

3 Архитектура

2015 v.0.1

2

 

Ввод/вывод по прерыванию

IR

IC

CPU

RAM

R

An Ak

An

ISR

ISR – Interrupt Service Routine

1.Сигнал на входе IRk

2.Процессор оканчивает текущую команду и запоминает контекст

3.Interrupt Controller (IC) передает адрес вектора прерывания Ak

4.Управление передается программе P,

адрес точки входа которой (An) хранится в векторе

5.Программа Р читает (записывает) содержимое регистра R

6.Восстановление контекста

Прерывание «Что-то»

Р

«Что-то»

Возврат

3 Архитектура

2015 v.0.1

3

 

Реализация процедуры прерывания

Фоновая

программа

Событие

Адрес возврата x:

 

 

 

 

 

 

 

Системный

 

 

 

 

Вектор

 

стек

 

Регистр

прерывания i-го

 

 

 

указателя

 

x

 

 

 

стека (SP)

 

 

события

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Адрес p

 

 

Контекст

 

 

 

 

 

 

 

 

 

 

 

фоновой

 

 

 

 

 

 

 

 

 

 

 

 

Запоминание

 

программы

 

 

контекста, передача

 

в точке x

 

 

управления по адресу

 

 

 

 

 

 

р

 

 

 

Процедура

 

 

 

 

p:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

обработки

 

 

 

 

 

 

 

 

 

прерывания

 

 

 

 

 

 

 

return

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Восстановление

контекста, возврат из

прерывания return - инструкция возврата из процедуры обработки

прерывания, автоматически восстанавливает контекст

3 Архитектура

2015 v.0.1

4

 

Прямой доступ в память

Идея DMA – временное разделение внутренней магистрали процессора между потоком команд и вводом/выводом данных в память

Цикл процессора – действие, которое необходимо выполнить

для передачи одного слова

t

Пример: Команда MOV AL, TOTAL – два цикла:

Считывание КОП

Считывание TOTAL в младшую часть регистра A

Команда процессора требует от 1 до 10 циклов

3 Архитектура 2015 v.0.1

5

 

Процедура прямого доступа

Предлагается – при использовании DMA каждый n-й цикл отдавать под ввод/вывод по прямому доступу

Циклы процессора

t

 

Цикл DMA

Циклы процессора

t

 

Программа работает без DMA

Запуск DMA

Работа с DMA

Без DMA

Прерывание

Окончание

работы DMA

Возврат

3 Архитектура

2015 v.0.1

6

 

Организация канала прямого доступа

Данные

7

I/O

7

2 1

 

DMA

4

3

5

Controller

 

6

 

 

8 IC

CPU

RAM

D

1.Инициирование DMA – установка начального адреса, количества передаваемых слов

2.Запрос ввода/вывода (*)

3.Разрешение ввода/вывода (*)

4.Запрос цикла

5.Разрешение цикла

6.Адрес ввода/вывода

7.Ввод слова

8.Запрос на прерывание по окончанию ввода/вывода

(*)Установлены постоянно, пока идет обмен; снимаются по (8)

3 Архитектура 2015 v.0.1

7