1.2 Архитектура микроконтроллера
Идея разработки нового RISC-ядра принадлежит двум студентам Norwegian University of Science and Technology (NTNU) из норвежского города Тронхейма (Trondheim)-- Альфу Богену (Alf-Egil Bogen) и Вегарду Воллену (Vegard Wollen). В 1995 году Боген и Воллен решили предложить американской корпорации Atmel, которая была известна своими чипами с Flash-памятью, выпускать новый 8-битный RISC-микроконтроллер и снабдить его Flash-памятью для программ на одном кристалле с вычислительным ядром.
Идея была одобрена Atmell Corp., и было принято решение незамедлительно инвестировать в данную разработку. В конце 1996 года был выпущен опытный микроконтроллер AT90S1200, а во второй половине 1997-го корпорация Atmel приступила к серийному производству нового семейства микроконтроллеров, к их рекламной и технической поддержке.
Новое ядро было запатентовано и получило название AVR. Существует несколько трактовок данной аббревиатуры. Кто-то утверждает, что это Advanced Virtual RISC, другие полагают, что не обошлось здесь без Alf Egil Bogen Vegard Wollan RISC.
Микроконтроллеры AVR имеют гарвардскую архитектуру (программа и данные находятся в разных адресных пространствах) и систему команд, близкую к идеологии RISC. Процессор AVR имеет 32 8-битных регистра общего назначения, объединённых в регистровый файл. В отличие от «идеального» RISC, регистры не абсолютно ортогональны:
ѕ Некоторые команды работают только с регистрами r16…r31. К ним относятся команды работающие с непосредственным операндом: ANDI/CBR, ORI/SBR, CPI, LDI, LDS(16-бит), STS(16-бит), SUBI, SBCI, а также SER и MULS;
ѕ Команды увеличивающие и уменьшающие 16-битное значение (в тех моделях, где они доступны) с непосредственным операндом (ADIW, SBIW) работают только с одной из пар r25:r24, r27:r26 (X), r29:r28 (Y), или r31:r30 (Z);
ѕ Команда копирования пары регистров (в тех моделях, где доступна) работает только с соседними регистрами начинающимися с нечётного (r1:r0, r3:r2, …, r31:r30);
ѕ Результат умножения (в тех моделях, в которых есть модуль умножения) всегда помещается в r1:r0. Также, только эта пара используется в качестве операндов для команды само программирования (где доступна);
ѕ Некоторые варианты команд умножения принимают в качестве аргументов только регистры из диапазона r16…r23 (FMUL, FMULS, FMULSU, MULSU).
- Введение
- 1. Общая часть
- 1.1 Основные сведения о микроконтроллере Attiny 2313
- 1.2 Архитектура микроконтроллера
- 2. Специальная часть
- 2.1 Принцип работы светодиодной гирлянды
- 2.2 Расчет электрической цепи R9 LED13
- 3. Понятия о надежности системы
- 3.1 Основные понятия надежности
- 3.2 Расчетная часть
- Заключение
- 3.8 Микроконтроллеры
- Микроконтроллер mcs-51 Микроконтроллер ат89с5131
- 2.1 Лабораторная работа №1
- Устройство параллельных портов микроконтроллеров mcs-51
- 1.1.5 Внутренний отладчик микроконтроллеров avr
- 4 Задания для самостоятельной работы
- 7 Задания для самостоятельной работы
- Раздел 3. Практическая реализация программы на микроконтроллере