Структурная, функциональная схемы процессора и процессорного ядра Содержание
Введение. 2
1. Теоретическая часть. 2
1.1 Краткая характеристика ядра ARM7TDMI. 3
1.1.1 Конвейер инструкций.. 3
1.1.2 Доступ к памяти.. 3
1.1.3 Интерфейс памяти.. 4
1.1.4 Логика EmbeddedICE.. 4
1.2 Архитектура ядра ARM7TDMI. 4
1.2.1 Сжатие инструкций.. 4
1.2.2 Набор инструкций Thumb. 5
1.3 Структурная, функциональная схемы процессора и процессорного ядра. 5
1.4 Краткое описание набора инструкций ядра ARM7TDMI. 8
1.4.1 Краткое описание формата. 8
1.5 Рабочие состояния процессора. 9
1.5.1 О модели программирования. 9
1.5.2 Рабочие состояния процессора. 10
1.5.3 Изменение состояния. 10
1.6 Форматы памяти.. 10
1.6.1 Прямой порядок (Little-endian). 11
1.6.2 Обратный порядок (Big-Endian). 11
1.7 Типы данных. 11
1.8 Режимы работы.. 12
1.9 Регистры.. 12
1.9.1 Набор регистров в состоянии ARM... 13
1.9.2 Набор регистров в состоянии Thumb. 14
1.10 Сброс. 15
1.11 Мобильные устройства на основе ядра ARM7TDMI. 16
2. Практическая часть. 17
2.1 Задание. 17
2.2 Блок-схема. 17
2.3 Распределение памяти.. 18
2.4 Код программы.. 18
2.5 Значения исходных данных и результата выполнения программы. 19
Заключение. 20
Список литературы.. 21
Введение
ARM — британская корпорация, один из крупнейших разработчиков и лицензиаров архитектуры 32-разрядных и 64-разрядных RISC-процессоров (с архитектурой ARM), ориентированных на использование в портативных и мобильных устройствах (телефонах, органайзерах и т. п.).
Бизнесом компании ARM всегда была продажа лицензий на производство ядер и сопутствующих элементов полупроводниковым компаниям, которые создавали микропроцессоры и микроконтроллеры на их основе.
На данный момент ARM не производит и не продает процессоры, сделанные по своим разработкам, но зато дает лицензии на процессоры заинтересованным партнерам. Компания предлагает широкий выбор условий лицензирования, различающихся по стоимости и деталям. Для всех владельцев лицензии поставляется описание аппаратной части ядра, а также полный набор средств разработки программного обеспечения (компилятор, отладчик), а также право продавать произведенные процессоры ARM. Некоторые клиенты занимаются производством процессоров для сторонних компаний.
Самой успешной версией ядра, продажи которой достигали сотен миллионов штук, ранее был ARM7TDMI.
Процессоры архитектуры ARM в основном используются в смартфонах, мобильных интернет-устройствах (MID), смартбуках, интернет-планшетах и других мобильных и энергоэффективных устройствах.
Технология ARM оказалась весьма успешной и в настоящее время является доминирующей микропроцессорной архитектурой для портативных цифровых устройств.
Цель работы:изучение архитектуры процессоров ARM7TDMI и мобильных устройств на его основе.
Задача работы:создание программы на языке ассемблера.
Теоретическая часть
Краткая характеристика ядра ARM7TDMI
Ядро ARM7TDMI - представитель семейства ARM 32-разрядных микропроцессоров общего назначения. Семейство ARM характеризуется высокой производительностью при очень низком уровне потребления и малых размерах.
Архитектура ARM выполнена на основе принципов RISC (компьютер с сокращенным набором инструкций). Набор инструкций RISC и связанный с ним механизм дешифрации является более простым по сравнению CISC-архитектурой (компьютер со сложным набором инструкций). За счет этого достигается:
· высокая производительность выполнения инструкций;
· превосходные реально-временные характеристики реагирования на прерывания
· малые размеры, эффективная стоимость процессорной макроячейки.
Конвейер инструкций
Для ускорения потока инструкций, поступающего к процессору, в ядре ARM7TDMI используется конвейер. Он позволяет выполнять несколько операций одновременно, а также обеспечивает постоянство работы системы памяти и обработки. Используется трехступенчатая конвейеризация, т.к. инструкции выполняются в три этапа:
· Выборка
· Дешифрация
· Исполнение.
В процессе нормальной работы, когда выполняется одна инструкция, последующая инструкция декодируется, а третья - считывается из памяти.
Счетчик программы указывает на загружаемую из памяти инструкцию, а не на исполняемую инструкцию. Это важно знать, т.к. значение счетчика программы (PC), которое используется при выполнении инструкции, всегда на две инструкции опережает адрес.
Доступ к памяти
Ядро ARM7TDMI использует фон-неймановскую архитектуру доступа к памяти с одной 32-разрядной шиной данных, по которой передаются как инструкции, так и данные. Доступ к данным к памяти могут осуществлять только инструкции чтения, записи и обмена. В качестве данных могут выступать:
· 8 бит (байт);
· 16 бит (полуслово);
· 32 бит (слово).
Слова должны быть выровнены к 4-байтным границам, а полуслова - к 2-байтным.
Интерфейс памяти
При разработке интерфейса памяти процессора ARM7TDMI стояла задача максимально полностью использовать потенциал по быстродействию и при этом минимизировать использование памяти. Чтобы обеспечить возможность реализации функций системного управления на основе стандартной маломощной логики критичные к быстродействию сигналы управления были конвейеризованы. Данные сигналы управления упрощают использование быстродействующих пакетных режимов передачи, которые используются большинством встроенной и внешней технологий памяти.
Ядро ARM7TDMI поддерживает четыре основных цикла доступа к памяти:
· холостой цикл
· непоследовательный цикл
· последовательный цикл
· цикл передачи регистра сопроцессора.
Логика EmbeddedICE
Логика EmbeddedICE - вспомогательный аппаратный блок, который делает ARM-процессоры отлаживаемыми и существенно облегчает процесс отладки. Он позволяет с помощью программных инструментальных средств отлаживать программный код, который исполняется целевым процессором. Логика EmbeddedICE управляется через порт JTAG с использованием интерфейса EmbeddedICE.
Архитектура ядра ARM7TDMI
Процессор ARM7TDMI поддерживает два набора инструкций:
· 32-разрядный набор инструкций ARM;
· 16-разрядный набор инструкций Thumb.
Процессор ARM7TDMI является разновидностью архитектуры ARMv4T. Более детально о наборах инструкций ARM и Thumb можно узнать в "ARM Architecture Reference Manual" (справочное руководство по архитектуре ARM).
В данном разделе описывается:
· Сжатие инструкций;
· Набор инструкций Thumb.
Сжатие инструкций
Микропроцессорные архитектуры, как правило, используют набор инструкций той же разрядности, что и данные. Следовательно, 32-разрядные архитектуры обладают улучшенными характеристиками обработки 32-разрядных данных и могут более эффективно адресовать большие адресные пространства по сравнению с 16-разрядными архитектурами. 16-разрядные архитектуры в большинстве случаев обладают более высокой плотностью кода, но приблизительно вдвое уступают по производительности.
Thumb реализует 16-разрядный набор инструкций в составе 32-разрядной архитектуры, который обеспечивает:
· более высокую производительность по сравнению с 16-разрядной архитектурой
· более высокую плотность кода по сравнению с 32-разрядной архитектурой.
Набор инструкций Thumb
Набор инструкций Thumb является выборкой наиболее часто используемых 32-разрядных инструкций ARM. Thumb-инструкции характеризуются размером 16 бит и имеют соответствующую 32-разрядную инструкцию ARM. Соответствующие инструкции оказывают одинаковое влияние на модель процессора. Thumb-инструкции работают со стандартной конфигурацией ARM-регистра, обеспечивая превосходное взаимодействие между состояниями ARM и Thumb.
В процессе выполнения 16-разрядная инструкция подвергается декомпрессии в реальном времени до полных 32-разрядных инструкций ARM без потери производительности.
Thumb наследует все преимущества 32-разрядного ядра:
· 32-разрядное адресное пространство
· 32-разрядные регистры
· 32-разрядное сдвиговое устройство и арифметико-логического устройство (АЛУ)
· Пересылка в память 32-разрядных данных.
Следовательно, инструкции Thumb характеризуются большим диапазоном перехода, мощными арифметическими операциями и большим адресным пространством.
Код Thumb обычно занимает 65% от ARM-кода и достигает 160% производительности ARM-кода при исполнении из 16-разрядной системы памяти. Следовательно, Thumb, делает ядро ARM7TDMI идеально подходящим во встраиваемые приложения, где в качестве критичных параметров выступают плотность кода и габариты.
Доступность обоих наборов инструкций, 16-разрядного Thumb и 32-разрядного ARM, дает разработчикам гибкость по оптимизации быстродействия или размера кода на уровне процедуры в соответствии с требованиями к их приложению. Например, критические циклы в таких приложениях, как обработка часто возникающих прерываний и алгоритмы цифровой обработки сигналов, могут кодироваться с помощью полных ARM-инструкций, а затем линкована Thumb-кодом.
Структурная, функциональная схемы процессора и процессорного ядра
На последующих рисунках представлены структурные схемы процессора, процессорного ядра и функциональная схема процессора.
На рисунке 1 представлены структурная схема процессора ARM7TDMI с указанием компонентов и основных сигналов. На рисунке 2 демонстрируется основной процессор (логика ядра ARM7TDMI), а на рисунке 3 показана функциональная схема процессора ARM7TDMI с указанием входящих и отходящих сигналов.
Рисунок 1. Структурная схема процессора ARM7TDMI
Рисунок 2. Структурная схема процессорного ядра
Рисунок 3. Функциональная схема процессора ARM7TDMI
|