Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1531

.pdf
Скачиваний:
2
Добавлен:
15.11.2022
Размер:
52.65 Mб
Скачать

Процессор DSP – типичный CISC-процессор, включающий специальные команды поддержки программной реализации фильтров с конечной импульсной характеристикой (FIR-фильтров). Такой процессор реализует FIR с производительностью одна команда на ветвление в фильтре. Недостаток такого процессора состоит в экстремальном напряжении сил компилятором для включения таких команд в программу. Поэтому DSP используют библиотеки, написанные и оптимизированные на ассемблере.

Параллелизм части слова [9]. Многие встроенные приложения оперируют данными меньшей разрядности, чем слово процессора. Для поддержки таких типов данных некоторые процессоры используют параллелизм на уровне части слова, когда многоразрядное ALU разбивается на минимальные части, допускающие одновременное выполнение арифметических или логических операций надмаленькими словами.

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

Суперскалярные процессоры [10] используют обычное множество команд, но аппаратура может одновременно распределять несколько команд по индивидуальным узлам обработки, когда обнаруживается, что такое распределение не изменяет поведения программы. Такие процессоры поддерживают изменение последовательности выполнения, когда поздняя команда потока выполняется перед ранней.

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

Процессоры с архитектурой VLIW [1] часто используются во встроенных системах вместо суперскалярных для получения высокой повторяемости и предсказуемости времени выполнения программ. Так же как суперскалярные процессоры, VLIW-процессоры включают несколько функциональных узлов, но вместо динамического определения, какие команды могут выполняться одновременно, каждая команда

41

определяет то, что каждый функциональный узел должен делать в отдельном цикле. Таким образом, VLIW объединяет несколько независимых операций в отдельную команду. Как и в суперскалярных процессорах, множество операций выполняется одновременно на различном оборудовании. Однако порядок и одновременность выполнения фиксированы в программе в противоположность принятию решений на лету у суперскалярных процессоров. Это требует от программиста или компилятора обеспечить, чтобы одновременные операции были действительно независимыми. В обмен на эти дополнительные сложности в программировании время выполнения становится высокоповторяемым и предсказуемым. Для приложений, требующих еще увеличения производительности VLIW, процессоры могут быть усложнены.

Многоядерные процессоры являются комбинацией нескольких CPU на одном кристалле. Разнородные (гетерогенные) многоядерные процессоры объединяют разнотипные CPU в противоположность однородным (гомогенным) процессорам, объединяющим одинаковые CPU. Для встроенных систем многоядерная архитектура несет значительные преимущества, чем одноядерная из-за задач реального времени и задач, критичных по безопасности. По этой причине разнородные многоядерные процессоры используются в мобильных телефонах, так как функции по обработке речи и радиосигналов являются функциями жесткого реального времени со значительной вычислительной нагрузкой. В такой архитектуре пользовательские приложения не взаимодействуют с функциями реального времени.

1.5. Технологии памяти

Выбор технологии памяти имеет важное значение для разработчика встроенной системы. Например, программиста беспокоит, изменяться или нет данные после выключения питания или вхождения в режим энергосбережения. Память, содержимое которой теряется после пропадания питания, называют энергозависимой памятью (volatile memory). Обычно с ней ассоциируют оперативную память, или память с произвольным доступом (RAM).

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

42

следовательно, требуется более совершенная опция, в собирательном смысле известная как энергонезависимая память (non-volatile memory).

Обычно с ней ассоциируют постоянную память (ROM).

1.5.1. Оперативная память

RAM (random access memory) – память, в которой единицы данных (байты или слова) могут быть записаны и считаны относительно быст-

ро. Статическая память SRAM (static RAM) работает быстрее дина-

мической памяти DRAM (dynamic RAM), но больше по размеру (каждый бит занимает большую площадь на кристалле).

1.5.1.1. Статическое ОЗУ

SRAM конструируется с использованием D-триггеров. В лучшем случае требуется 6 МОП-транзисторов на триггер, что препятствует созданию больших массивов ячеек на кристалле (обычно до нескольких миллионов байт). Информация сохраняется на протяжении всего времени, пока на SRAM подано питание. SRAM работает очень быстро. Обычно время доступа составляет несколько наносекунд. Поэтому SRAM часто используют в качестве кеш-памяти второго уровня. На рис. 9 приведен интерфейс с SRAM.

MPS может содержать несколько микросхем SRAM. Поэтому в интерфейс нужен сигнал для выбора одной из них, такой чтобы только нужная микросхема реагировала на обращение. Сигнал /CS (chip select – выбор кристалла) используется для этой цели. «/» означает, что активное значение сигнала равно 0.

По сигналу /WE (write enable – разрешение записи) выбранная микросхема SRAM записывает данные с линий D0 Dm в ячейку, двоичный адрес которой установлен на линиях A0 An.

По сигналу /OE (output enable – разрешение выдачи данных) выбранная микросхема SRAM выставляет данные на линии D0 Dm из ячейки, двоичный адрес которой установлен на линиях A0 An.

На рис. 10 приведена временная диаграмма цикла записи SRAM. Время установки (setup time) определяет минимальное время для подачи сигнала /WE после установки линий адреса (время, необходимое для дешифрации адреса ячейки).

43

Рис. 9. Интерфейс микросхемы статического ОЗУ

Рис. 10. Временная диаграмма цикла записи статического ОЗУ

Рис. 11. Временная диаграмма цикла чтения статического ОЗУ

44

Время сохранения (hold time) определяет минимальное время до очередного изменения адресных линий после снятия сигнала /WE (время, необходимое для предотвращения перезаписи данных вдругуюячейку).

На рис. 11 приведена временная диаграмма цикла чтения статического ОЗУ.

1.5.1.2.Динамическое ОЗУ

Вдинамическом ОЗУ (DRAM) в качестве запоминающего элемента используется паразитная емкость pn-перехода, которая через МОПтранзистор может быть подключена к схемам чтения или записи. На рис. 12 приведена модель динамического ОЗУ, организованного в виде матрицы.

Рис. 12. Модель динамического ОЗУ

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

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

45

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

Существует несколько типов динамических ОЗУ. Самый старый называется FPM (fast page mode – быстрый страничный режим). Под страницей динамического ОЗУ понимают все множество ячеек памяти, принадлежащих одной строке. На смену FPM пришла EDO (extended data output – память с расширенными возможностями выходов данных) с конвейеризацией адресов и данных, что увеличило пропускную способность памяти.

Оба этих типа динамических ОЗУ являются асинхронными. На рис. 13 приведен интерфейс микросхем асинхронных динамических ОЗУ. Первой выбирается строка. Для этого номер строки помещается на адресные выводы А0Аn. Затем устанавливается сигнал /RAS (row address strob – строб адреса строки). После этого на адресные выводы подается номер столбца и устанавливается сигнал /CAS (colum address strob). И, наконец, сигналы /OE или /WE.

Регенерация всех ячеек строки выполняется установкой ее номера на адресных линиях и сигналов /RAS и /CAS (алгоритм CBR – cas befor ras, т.е. /CAS устанавливается чуть раньше /RAS). В течение нескольких миллисекунд необходимо перебрать все строки, и вся память будет регенерирована.

Рис. 13. Интерфейс микросхемы асинхронного динамического ОЗУ

46

На смену асинхронным пришли синхронные динамические ОЗУ

(SDRAM), все действия в которых происходят по фронту или срезу синхронизирующего сигнала CLK. С целью совмещения операций ячейки сгруппированы в несколько банков (обычно 4) – расслоение, или чередование (interleaving) памяти. Это дает возможность повысить производительностьпамяти. На рис. 14 приведен интерфейс микросхем SDRAM.

Рассмотрим взаимодействие с SDRAM стандарта JDEC. Ниже приведены интерфейсные команды этого стандарта.

BANK-ACTIVATE: запоминание адреса строки. Содержимое строки (страница) считывается в запоминающие усилители считывания. Такую страницу называют открытой.

MODE-SET: установка параметров SDRAM (передаются через адресные линии). Скрытый период после сигнала CAS (CAS latency – CL) – задержка выдачи данных после сигнала CAS (1, 2, 3, … такта). Блочный режим передачи (burst) и длина блока – последовательная передача соседних данных. Длина блока (BL) может быть 1, 2, 4, 8 слов или страница. На рис. 15 приведен формат слова параметров. Слово параметров SDRAM устанавливается на линиях адреса и сопровождается установкой сигналов /RAS, /CAS и /WE.

PRECHARGE (SINGLEBANK/ALLBANKS): перезапись данных из усилителей считывания в соответствующую строку. Эта команда должна выполняться всякий раз после записи или чтения, если адрес строки изменяется при следующем доступе. Выполнение команды PRECHARGE при А10 = 1 приводит к перезаписи выбранной строки во всех банках.

Рис. 14. Интерфейс микросхемы синхронного динамического ОЗУ

47

Рис. 15. Формат слова параметров SDRAM

READ: запоминание адреса колонки и передача данных из выбранных усилителей считывания в выходной буфер. В конце блочной передачи выбранная страница остается открытой.

REFRESH: чтение строки во всех банках. Номер строки определяется внутренним регенерационным счетчиком адреса строки. После начала чтения строка автоматически перезаписывается. Все банки перед регенерацией должны быть в состоянии PRECHARGE.

Регенерация очередной страницы запускается установкой сигна-

лов /RAS и /CAS (алгоритм CBR).

WRITE: запоминание адреса колонки и передача данных с линий D в выбранные усилители считывания. Во время каждого последующего тактового импульса при блочной передаче данные запоминаются без дополнительной операции WRITE. В конце блочной передачи выбранная страница остается открытой.

SDRAM поддерживает плотный (back-to-back) страничный режим доступа. Это означает, что страница остается открытой, пока доступ вплотную осуществляется к ячейкам в пределах открытой страницы или пока магистраль не начнет выполнять холостые циклы.

SDRAM поддерживает конвейеризацию. Это означает, что доступ к следующим данным может происходить минимум через 0 тактов.

SDRAM поддерживает расслоение банков. Это означает, что если происходит обращение к другой странице в другом банке, то сначала выдается команда BANK-ACTIVATE для новой страницы, а затем PRECHARGE для старой страницы. Это уменьшает накладные расходы, связанные с деактивизацией старой страницы.

Существует два варианта перекрытия внутренних банков SDRAM. Первый называют перекрытием страниц. В этом случае адрес ячейки памяти структурируется следующимобразом (слева старшая часть адреса):

номер строки – номер банка – номер колонки.

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

номер банка – номер строки – номер колонки.

48

Первый вариант обеспечивает большую производительность. На рис. 16 приведена временная диаграмма чтения блока данных (BL = 4, CL = 3) при промахе страницы. Сначала деактивизируется ранее выбранная страница, затем активизируется новая страница. Установка сигналов /CAS и/DQM запускает чтение четырех рядом расположенных слов.

Рис. 16. Временная диаграмма чтения блока данных (BL = 4, CL = 3)

Рис. 17. Временная диаграмма конвейеризованных транзакций чтения после записи к открытой странице

49

SDRAM выполняет блочную передачу для каждой транзакции. При чтении, если требуется данных меньше чем длина блока, инициатор транзакции игнорирует ненужные прочитанные данные. При записи, если требуется записать данных меньше чем длина блока, инициатор транзакции подавляет запись лишних данных сбросом линий /DQM. На рис. 17 приведена временная диаграмма конвейеризованных транзакций чтения после записи к открытой странице.

1.5.2. Постоянное запоминающее устройство (ROM)

PROM (programmable ROM) – программируемое ПЗУ (ППЗУ), обычно относят к OTPROM (one time programmable ROM – однократно программируемое ПЗУ). К PROM также относят и масочное ПЗУ – вариант OTPROM, который программируется не самим пользователем, а на фабрике в процессе изготовления.

EPROM (erasable programmable ROM) – стираемая/программируе-

мая ROM. По-русски иногда называют ПППЗУ (перепрограммируемое ПЗУ). Иногда употребляется как синоним UV-EPROM.

EEPROM (electrically erasable programmable ROM) – электрически стираемое перепрограммируемое ПЗУ (ЭСППЗУ).

UV-EPROM (ultra-violet EPROM) – ультрафиолетовая EPROM (УФППЗУ). Исторически первая коммерческая разновидность EPROM, операция стирания в которой производится ультрафиолетом через специальное окошко.

Flash-memory – первоначально термин придуман для обозначения прогрессивной разновидности EEPROM, в которой чтение/запись для ускорения процесса производятся сразу целыми блоками. Позднее (когда медленная EEPROM исчезла из обращения) стал фактическим синонимом EEPROM и теперь обозначает ее любые разновидности.

На рис. 18 представлено устройство элементарной ячейки, лежащей в основе всех современных типов флеш-памяти. Если исключить из нее «плавающий» затвор, мы получим самый обычный полевой транзистор – такой же, как тот, что входит в ячейку DRAM. Если подать на управляющий затвор такого транзистора положительное напряжение, он откроется, и через него потечет ток (состояние «логическая единица»).

На рис. 18 изображен именно такой случай, когда плавающий затвор не оказывает никакого влияния на работу ячейки. Такое состояние

50

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