Структура и принцип действия микропроцессора. — КиберПедия 

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

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Структура и принцип действия микропроцессора.

2017-08-24 392
Структура и принцип действия микропроцессора. 0.00 из 5.00 0 оценок
Заказать работу

Внутренние регистры микроконтроллера MSP430. Регистры общего назначения и регистры специальных функций.

Область адресов 0000-000F отводится внутренним регистрам процессора, специальным и общего назначения.

Внутренние регистры процессора представлены на рисунке 7. Всего микроконтроллер имеет 16 регистров по 16 разрядов в каждом, их имена:R0, R1,…,R15. К каждому регистру можно обращаться в программах как по имени (регистровая адресация), так и по адресу (прямая адресация).

По адресам 0000-0003 расположены регистры специального назначения (специальных функций, специальные регистры). Это программный счетчик PC (R0), указатель стека SP (R1), регистр состояния SR (R2) и генератор констант CG1, CG2 (R2,R3).

  Рисунок 7 –Внутренние регистры процессора.
R0 (PC) R1 (SP) R2 (SR,CG1) R3 (CG2) R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15
15 0  

Рисунок 7 –Внутренние регистры процессора.


Микросхемы памяти, их основные характеристики и классификация

Запоминающие устройства выполняются как отдельная микросхема или составная часть кристалла микроконтроллера.

Основные характеристики:

· Информационная емкость (бит, Кбит, Мбит, байт и т.д.)

· Быстродействие (время от поступления сигнала до завершения операции);

· Информационная организация кристалла (определяется длиной хранимого слова – 1 бит, 4 бита, 8 бит, …)

Классификация:

Ø RAM – ОЗУ

Random Access Memory – Оперативное Запоминающее Устройство;

Ø ROM – ПЗУ

Random Only Memory – Постоянное Запоминающее Устройство;

 

 


 

ФУНКЦИОНАЛЬНАЯ СХЕМА УСТРОЙСТВА ОПЕРАТИВНОЙ ПАМЯТИ

ОЗУ предназначены для хранения программ и данных. В ОЗУ программы могут быть записаны путем программирования. ОЗУ может быть построено на различных физических элементах. В 40-50 и 60-х годах ХХ века применялись магнитные оперативные запоминающие устройства.

В настоящее время применяется 2 вида ОЗУ: статическая (SRAM) и динамическая (DRAM).

Статическая память:

В устройствах статической памяти 1 бит хранится с помощью триггера. Имеет малое время доступа, но информационная емкость, приходящаяся на единицу объема, меньше чем в динамической. Статическая память дороже.

Динамическая память:

Применяется как массовое запоминающее устройство.1 бит хранится с помощью емкости. Если емкость заряжена, то бит=1, если нет, то бит=0. Динамическая память при чтении требует генерации, что увеличивает время доступа. Динамическая память более компактная и дешевая. Общий недостаток: информация стирается при отключении питания, поэтому в настоящее время разрабатываются и применяются устройства RAM, которые имеют встроенный источник питания.

Функциональная схема устройства памяти.

CU – устройство управления;

R/W – вход чтения/записи;

ША – шина адреса;

CS – выбор кристалла;

BD – буфер данных (предназначен для временного хранения данных при чтении или записи);

Назначение дешифраторов – в зависимости от двоичного кода адресных линий приводит к активации строки или столбца с этим номером.

Рассмотрим численный пример:

Шина адреса имеет 8 разрядов m+n=8, m=n=4. Определить какой объем информации может хранить устройство памяти.Ответ: слов;

ОЗУ могут быть выполнены в виде отдельной микросхемы памяти или входить в состав микросхемы контроллера.


Арифметические операции.


Виды операции умножения.

В системе команд команда умножения отсутствует, для перемножения двух операндов их помещают в регистры аппаратного умножителя. После этого в регистрах RESL0, RESH1 результата можно прочесть 32 разрядный результат. Младшее слово результата хранится в RESL0, старшее – в RESH1. Первый сомножитель может быть размещен в одном из 4-х регистров, которые определяют вид операции умножения.

Аппаратный умножитель поддерживает:

  • Умножение без знака;
  • Умножение со знаком;
  • Умножение без знака с накоплением;
  • Умножение со знаком и накоплением;
  • 16*16 бит, 16*8 бит, 8*16 бит, 8*8 бит.
Перечень регистров аппаратного умножителя
Регистр Краткое обозначение Тип регистра Адрес Исходное состояние
Операнд один – умножение MPY Чтение/запись 0130h Неизменное
Операнд один – умножение со знаком MPYS Чтение/запись 0132h Неизменное
Операнд один – умножение с накоплением MAC Чтение/запись 0134h Неизменное
Операнд один – умножение со знаком и накоплением MACS Чтение/запись 0136h Неизменное
Операнд два OP2 Чтение/запись 0138h Неизменное
Младшее слово результата RESLO Чтение/запись 013Ah Неопределенное
Старшее слово результата RESHI Чтение/запись 013Ch Неопределенное
Регистр знакового дополнения SUMEXT Чтение 013Eh Неопределенное

 

 


I2C

Каждое устройство на шине I С имеет уникальный адрес. Когда ведущий инициирует передачу данных, то сначала передается адрес устройства, к которому выполняется обращение. Остальные устройства проверяют переданный ведущим адрес. В состав байта адреса устройства входит бит направления передачи данных (выполняется чтение из ведомого или запись). Ведомый и ведущий шины всегда находятся в противоположном режиме работы, что можно представить в виде двух состояний:

• Ведущий передатчик - ведомый приемник.

• Ведомый передатчик - ведущий приемник.

В обоих случаях ведущий формирует тактовый сигнал.

Вывод тактового сигнала (SCL) и данных (SDA) должны иметь выход с открытым коллектором, чтобы выполнять требования "монтажного И" на шине. Для формирования высокого уровня сигнала на линиях к ним подключаются подтягивающие резисторы. Число устройств, которые могут быть подключены к шине 12С, ограничивается только максимальной емкостью шины (400пФ) и способностью адресации этих устройств.


Режимы работы таймера.

Таймер ТА микроконтроллера MSP430 содержит 16 разрядный регистр-счетчик TAR и три регистра TACCR0, TACCR1, TACCR2 захвата-сравнения. Для инициализации таймера в регистр управления TACTL таймера и в регистры управления TACCTL0, TACCTL1, TACCTL2 модулей захвата-сравнения следует записать управляющие слова.

Режимом захвата внешнего события называют режим, при котором появление внешнего события на входе микроконтроллера вызывает запрос прерывания и запись значения регистра-счетчика таймера в специальный буферный регистр модуля захвата. Таким образом, время появления события фиксируется. Событием может быть появление сигнала логической единицы, логического нуля, нарастающего фронта, спадающего фронта, любого фронта на определенном входе микроконтроллера. Режим захвата является режимом ввода события.

Режимом сравнения называют режим, при котором организуется появление внешнего события на заданном выходе микроконтроллера в заданный момент времени. Значение регистра-счетчика таймера сравнивается с содержимым регистра модуля захвата-сравнения, и когда их значения совпадают, выводится событие. Режим сравнения является режимом вывода события.

Таймер имеет три канала захвата-сравнения, может генерировать широтно-импульсную модуляцию (ШИМ) и формировать интервалы времени.

Таймер имеет 4 режима:

MCx=00 – останов; MCx=10 – непрерывный счет;

MCx=01 – прямой счет; MCx=11 – реверсивный счет.

На рисунке 6.1. показаны диаграммы изменения значения в регистре TAR в различных режимах счета.

TACCR0     a     FFFFh     б     TACCR0   в     Рисунок 6.1 – Режимы работы таймера, а –прямой счет, б – непрерывный счет, в – реверсивный счет.
t
t
t

 

33.Цифро-аналоговое преобразование.

Цифро-аналоговое преобразование – для преобразования двоичного кода в сигнал напряжения, в частности в составе АЦП.

RG
 
D0 D1 D2 . . . Dn  
 
D0 D1 D2 . . . Dn  

Ki в каждом канале выбирается так, что бы наибольший вес имели старшие разряды

А2 для учитывания знака сигнала

А2
БО
Uвых
+
-
2Xм
-Uм

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

АЦП пердназначен для преобразования непрерывной величины в двоичный код. Преобразование включает в себя дискритезацию по времени, квантование по уровню, кодированию. Эти операции могут выполняться одновременно, т.е. параллельно или последовательно.

АЦП:

-параллельный

-последовательный

-параллельно-последовательный

Функциональная схема АЦП

RG
ЦАП
CLK
Uвх
Uос
A
Хвых
Uвх
U1
CLK

Время преобразования пропорционально входному сигналу.

Такой способ можно применять при больших тактовых частотах.


34.Аналого-цифровое преобразование.

АЦП применяються в замкнутых системах для преобразования непрерывных велечин на входе датчиков в двоичный код.

4 способа кодирования непрерывной величины с помощью двоичного кодирования.

1) Прямой и обратный

Допустим . Обозначим - max значение модуля двоичного кода.

Прямой код Обратный код

1 в старшем разряде обозначает минус

Uвх
Хотн
 

АЦП
Uвх
Хотн
Uвх
Хотн
 

2) дополнительный код смещённый

Uвх
Хотн
Uвх
Хотн

Погрешность АЦП: зависит от кол-ва разрядов и способов кодирования.

Абсолютная погрешность равна 1 младшего разряда

Относительная погрешность зависит от преобразования величин

.Для уменьшения погрешности в окрестности нуля применяются нелинейное преобразование


Нерекурсивный фильтр

Структура фильтра имеет след вид:


Процессоры с сокращенным набором команд (RISC) и с полным набором команд (CISC). Примеры.

RISC - Это концепция проектирования процессоров, которая во главу ставит следующий принцип: более компактные и простые инструкции выполняются быстрее.

Первые RISC-процессоры были разработаны в начале 1980-х годов в Стэнфордском и Калифорнийском университетах США. Они выполняли небольшой (50−100) набор команд, тогда как обычные CISC (Complex Instruction Set computer) выполняли 100—200.

Характерные особенности RISC-процессоров:

1 Фиксированная длина машинных инструкций (например, 32 бита) и простой формат команды.

2 Специализированные команды для операций с памятью — чтения или записи. Операции вида «прочитать-изменить-записать» отсутствуют. Любые операции "изменить" выполняются только над содержимым регистров (т.н. load-and-store архитектура).

3 Большое количество регистров общего назначения (32 и более).

4 Отсутствие микропрограмм внутри самого процессора. То, что в CISC процессоре исполняется микропрограммами, в RISC процессоре исполняется как обыкновенный (хотя и помещенный в специальное хранилище) машинный код, не отличающийся принципиально от кода ядра ОС и приложений.

5 Для обращения имеется во внешней памяти несколько команд

6 Аппаратное исполнение многих операций.

7 Суперскалярные архитектуры (Распараллеливание исполнения команд между несколькими устройствами исполнения, причем решение о параллельном исполнении двух или более команд принимается аппаратурой процессора на этапе исполнения)

8 конвейерный порядок выполнения команд

Недостатки:

1) не дает желаемого эффекта, если выполняемая программа содержит много ветвлений

2) при организации прерываний работа конвейеров становится менее эффективной.

В настоящее время многие архитектуры процессоров являются RISC-подобными, к примеру, ARM, DEC Alpha, SPARC, AVR, MIPS, POWER и PowerPC. Наиболее широко используемые в настольных компьютерах процессоры архитектуры x86 ранее являлись CISC-процессорами, однако новые процессоры, начиная с Intel486DX, являются CISC-процессорами с RISC-ядром. Они непосредственно перед исполнением преобразуют CISC-инструкции процессоров x86 в более простой набор внутренних инструкций RISC.

CISC (англ. Complex Instruction Set Computing) — концепция проектирования процессоров, которая характеризуется следующим набором свойств:

Нефиксированным значением длины команды.

Арифметические действия, кодируется в одной инструкции.

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

большое количество методов адресации;

большое количество форматов команд различной разрядности;

преобладание двухадресного формата команд; наличие команд обработки типа регистр-память.

Лидером в разработке микропроцессоров c полным набором команд (CISC - Complete Instruction Set Computer) считается компания Intel со своей серией x86 и Pentium. Эта архитектура является практическим стандартом для рынка микрокомпьютеров.

(исключая современные Intel Pentium 4, Pentium D, Core, AMD Athlon, Phenom, которые являются гибридными) и процессоры Motorola MC680x0.


Синтаксис языка Си

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

Основные синтаксические правила записи программы на С:

- Прописные и строчные буквы считаются разными символами. Поэтому, переменные A1 и a1 будут совершенно разными. При записи можно использовать латинские буквы, цифры, символ подчеркивания. Нельзя начинать идентификатор с цифры и внутри не может содержатся пробел. Длина идентификатора неограничен.

- Многострочные комментарии в тексте заключаются в скобки вида /*текст комментария*/. Комментарий на одну строку начинается с символов “//” и знак действует только до конца текущей строки.

- Каждое предложение языка заканчивается символом “;”

- В строке может размещаться несколько операторов;

- Группу операторов можно объединять в один оператор заключая их в фигурные скобки { }.

- Все используемые типы, константы, переменные, функции должны быть объявлены или описаны до их первого использования. Объявление моно выполнить в любом месте текста программы.

Программа на С состоит из объявлений (переменных, типов, классов, функций) и описаний функций. Среди функций всегда имеется главная main для консольных приложений или WinMain для приложений Windows. Именно эта главная функция выполняется в начале работы программы. Программы строятся по модульному принципу и состоят из множества модулей Для каждой формы создается отдельный модуль. Именно в модулях и решаются программные задачи. В заголовочный файл с расширением.h размещаются объявление классов, функций, переменных и т.д. В файле реализации с расширением.cpp содержатся описания функций. После того как программа написана на ее основе формируется исполняемый модуль – файл с расширением.exe. Его можно загружать на выполнение.

Директивы препроцессора, такие как #define и #ifdef, обычно используются для того, чтобы облегчить изменение исходного кода программ и их компиляцию в разных средах выполнения. Директивы в файле исходного кода позволяют препроцессору выполнять определенные действия. Например, препроцессор может заменять токены в тексте, вставлять содержимое других файлов в файл исходного кода или отключать компиляцию части файла путем удаления разделов текста. Строки препроцессора распознаются и выполняются до расширения макросов. Поэтому если макрос разворачивается в нечто, похожее на команду препроцессора, эта команда не распознается препроцессором.

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

Препроцессор распознает следующие директивы:

Знак решетки (#) должен быть первым непробельным символом в строке, содержащей директиву; между знаком решетки и первой буквой директивы пробельные символы допускаются. Некоторые директивы содержат аргументы или значения. Любой текст, следующий после директивы (за исключением аргумента или значения, представляющих собой часть директивы), должен предваряться разделителем однострочного комментария (//) или заключаться в разделители комментариев (/* */). Строки, содержащие директивы препроцессора, можно продолжать, ставя непосредственно перед маркером конца строки обратную косую черту (\).

Массивы и структуры языка с

При решении задач с большим количеством данных одинакового типа использование переменных с различными именами, не упорядоченных по адресам памяти, затрудняет программирование. В подобных случаях в языке Си используют объекты, называемые массивами.

Массив - это непрерывный участок памяти, содержащий последовательность объектов одинакового типа, обозначаемый одним именем.

Массив характеризуется следующими основными понятиями:

Элемент массива (значение элемента массива) – значение, хранящееся в определенной ячейке памяти, расположенной в пределах массива, а также адрес этой ячейки памяти.

Каждый элемент массива характеризуется тремя величинами:

адресом элемента - адресом начальной ячейки памяти, в которой расположен этот элемент;

индексом элемента (порядковым номером элемента в массиве);

значением элемента.

Адрес массива – адрес начального элемента массива.

Имя массива – идентификатор, используемый для обращения к элементам массива.

Размер массива – количество элементов массива

Размер элемента – количество байт, занимаемых одним элементом массива.

Графически расположение массива в памяти компьютера можно представить в виде непрерывной ленты адресов.

Длина массива – количество байт, отводимое в памяти для хранения всех элементов массива.

ДлинаМассива = РазмерЭлемента * КоличествоЭлементов

Для определения размера элемента массива может использоваться функция int sizeof(тип);

Инициализация представляет собой набор начальных значений элементов массива, разделенных запятыми.

int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; // массив a из 10 целых чисел

В языке Си, структура (struct) — композитный тип данных, инкапсулирующий без сокрытия набор значений[en] различных типов. Порядок размещения значений в памяти задаётся при определении типа и сохраняется на протяжении времени жизни объектов, что даёт возможность косвенного доступа (например, через указатели)

Пример объявления структуры:

struct str_name

{

int member_1;

float member_2;

char member_3[256];

/*... */

};

// объявление структуры

struct str_name struct0;

Тип «структура» в Си допускает рекурсию, то есть наличие в своём составе указателей, ссылающихся на объекты этой самой структуры. Таким образом, структуры в Си объединяют в себе функциональность не только кортежей и записей, но и алгебраических типов.В C++ понятие структуры было расширено до класса, то есть была добавлена возможность включения в структуру функций-методов. Главное отличие состоит в том, что в соответствии с «правилом трёх» структуры всегда имеют конструктор, даже если явное его определение в исходном коде отсутствует. Таким образом, говорить о «структурах в С++» некорректно. То же относится к C#.


 

50. Описание переменных и массивов языка С применение массивов и указателей

 


Структура и принцип действия микропроцессора.

Микропроцессор – устройство для обработки информации, представленной в двоичном коде, выполненное в виде одной микросхемы.

Микропроцессор обрабатывает информацию двух видов:

1 Адрес

2 Команда

3 Данные

Структура и принцип действия микропроцессора КР580:

 


A, F – программно доступные регистры

А – аккумулятор

F – флаговый регистр (признаков)

ALU –арифметико-логическое устройство

РК - регистр команд (для временного хранения команды)

УУ и С – устройство управления и синхронизации (управляет выполнением

командного цикла)

SP- указатель стека

PC – программный счетчик (формирует адрес)

БА – буфер адреса; D– дешифратор; МП – мультиплексор; Сх. пр. –схема приращения.

Принцип действия микропроцессора заключается в выполнении командного цикла. Командный цикл – интервал времени, в течение которого выполняется одна команда

 

Принцип действия

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

1. Пересылка данных

2. Арифметические и логические операции

3. Изменение естественного порядка команд

4. Ввод/вывод данных

Для выполнения логических и арифметических команд процессор должен иметь АЛУ (арифметико-логическое устройство). УУ предназначено для реализации алгоритма командного цикла. УУ бывают двух видов: выполненный аппаратно, тогда алгоритм реализуется логическими устройствами и микропрограммный.

 

 


 

2. Выполнение процессором командного цикла.

Принцип действия микропроцессора заключается в выполнении командного цикла.

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

Выборка – чтение команды из памяти.

Команды программы записаны в той последовательности, в которой должны выполняться.

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

Далее управляющим устройством проверяется наличие сигнала «СТОП» (если «нет», то снова выборка, если «да», то остановка цикла).

Устройство управления может быть выполнено различными методами:

1) Аппаратное (в виде логической схемы)

2) Микропрограммное

 

 


3. Командный и машинный циклы.

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

Выборка – чтение команды из памяти.

Команды программы записаны в той последовательности, в которой должны выполняться.

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

Далее управляющим устройством проверяется наличие сигнала «СТОП» (если «нет», то снова выборка, если «да», то остановка цикла).

Машинный цикл – интервал времени, за который процессор обращается к памяти и внешнему устройству один раз.

Виды машинных циклов КР 580:

1) Выборка команды

2) Чтение памяти

3) запись памяти

4) чтение внешних устройств

5) запись внешних устройств

6) чтение стека

7) запись в стек

8) прерывание

9) останов

10) прерывание в останове

Начало машинного цикла сигнализирует сигнал SYN на выходе микропроцессора.

При появлении этого сигнала на шине данных появляется код определенного машинного

цикла. После этого выполняется машинный цикл.


 


Поделиться с друзьями:

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.145 с.