Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМСС-всё(ЭКЗАМЕН).docx
Скачиваний:
36
Добавлен:
09.12.2018
Размер:
8.84 Mб
Скачать

5.3.1. Интерфейс с загрузочной памятью.

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

Автоматическая загрузка после сброса зависит от состояния сигнала управления картой памяти MMAP (Memory Map Control Signal). Начальная загрузка происходит, если сигнал MMAP находится в состоянии логического нуля во время общего сброса процессора. Но начальная загрузка может быть также инициирована программно после сброса.

Процессоры семейства, имеющие порт HIP, могут быть загружены как с использованием интерфейса с загрузочной памятью, так и с использованием хост-компьютера. Состояние линии BMODE определяет используемый метод (0 – загрузка из памяти, 1 – загрузка через порт HIP).

Сигнал BR (активный низкий) распознается во время начальной загрузки. Шина предоставляется после загрузки текущего байта. Некоторые модели процессоров семейства (ADSP-2161, ADSP-2162, ADSP-2164 и др.) содержат ПЗУ инструкций на чипе и поэтому для их устройств начальная загрузка не происходит.

Загрузочные страницы.

Загрузочная память состоит из 8 страниц, каждая из которых может быть длиной до 8Кбайт. Каждый четвертый байт каждой страницы «пустой» за исключением одного первого, который содержит длину страницы. Каждый набор из трёх байтов между последовательными «пустыми» байтами содержит инструкцию. Сначала читается длина страницы, а затем байты загружаются один за другим, начиная с верха страницы. Это сокращает время загрузки коротких страниц.

Длина страницы вычисляется так: количество 24-битных слов памяти программ делится на 8 и минус 1. Так, например, длина страницы равная 0 соответствует генерации адресов для 8 слов, расположенных в 32 последовательных байтах (8/8-1=0; 24/8=3 – столько байт в каждом слове; 3+1=4 – добавление «пустых» байт; 4х8=32). - См. рисунок 5.3.

Начальная загрузка и программный сброс.

После программного или аппаратного сброса, если MMAP=0 происходит начальная загрузка. Начальная загрузка после аппаратного сброса всегда загружает загрузочную страницу с номером 0. После программного сброса загрузка может быть произведена программно из любой из восьми различных страниц. Поле выбора загрузочной страницы (BPAGE) находится по адресу памяти 0х3FFF в системном регистре и определяет из какой страницы должна происходить загрузка.

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

Кроме схемы выбора страницы и, возможно, числа циклов ожидания обращения к загрузочной памяти различий между программно инициированной начальной загрузкой и «аппаратной» загрузкой по сбросу нет. Количество циклов ожидания для доступа к загрузочной памяти находится по адресу 0х3FFF в системном регистре. Это поле может быть установлено в значение 0 до 7 (соответствует числу циклов ожидания при доступе). Значение после начального аппаратного сброса – 3 цикла ожидания (по умолчанию).

Последовательность начальной загрузки.

Для выполнения операции загрузки генератор адресов загрузочной памяти генерирует адреса соответствующих байтов и загружает внутреннюю память. Внутренняя память программ загружается начиная со старших адресов. Например, если в процессор загружаются восемь 24-битных слов, то первое слово записывается по адресу памяти инструкций 0007, а последнее – по адресу 0000. Структура загрузочного адреса приведена на рисунке 5.4.

Последнее 24-битное слово (последняя команда памяти программ) загружается в процессор первым. Порядок загрузки байтов: USB, затем LSB, затем MSB. После этого слово-указатель декрементируется и адресует предыдущее слово памяти программ и т.д. Например для загрузки из страницы с номером 0 с самой короткой длиной (восемь 24-битных слов – длина страницы равна 0 – см. рис.5.3.) будут сгенерированы следующие адреса в следующей последовательности:

  1. 0003 – считывание длины страницы;

  2. 001C – старший байт USB последнего слова;

  3. 001E - младший LSB байт последнего слова;

  4. 001D – средний байт последнего слова;

  5. 0018, 001A, 0019;

  6. 0014, 0016, 0015 …

Процесс продолжится до загрузки слова с адресом 0.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]