Страницы

Введение

В современном мире процессорные системы распространяются все больше, захватывая новые области применения. Сейчас невозможно представить современный автомобиль, стиральную машину или телефон без микроконтроллеров, хотя 20 лет назад это было совершенно естественно (сейчас наверное даже не все вспомнили, что телефоны бывают/были немобильными). Что делают микроконтроллеры в этих устройствах? Можно выделить основные задачи, которые они выполняют.

  • Сбор/прием/чтение данных

  • Обработка, принятие решений

  • Передача/запись данных или команд (управление)

Например, система активного управления тормозами анализирует показание сенсоров (собирает данные); фильтрует полученные значения, рассчитывает усилия, которые необходимо приложить к тормозным колодкам (обработка и принятие решений); вырабатывает управляющие сигналы для тормозной системы (управление). Или например аудио-плейер, считывает музыку в формате MP3 (чтение данных) потом производит декодирование и улучшение качества с помощью эквалайзера или другими способами (обработка) и выдает звук на наушники (передача данных).

Обычно при разработке вычислительных программ используют вещественные данные и арифметические операции с плавающей точкой (или запятой). Это наиболее естественный способ переноса алгоритмов написанных языком математики в программы, понятные компьютерам.

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