\section{Задание}
Контроллер SDK-1.1 циклически проигрывает восходящую гамму нот первой октавы (длительность каждой ноты - 1 секунда) и на линейку светодиодов выводит количество замыканий входа T0 (счетный вход таймера 0). Подсчет количества замыканий входа должен быть реализован с помощью таймера-счетчика 0. В результате выполнения работы должны быть разработаны драйверы системного таймера, таймера-счетчика, звукового излучателя, светодиодных индикаторов.

\section{Реализация}
    \lstinputlisting[caption=Драйвер звукового излучателя, language=C]{./listings/sound.c}
    \lstinputlisting[caption=Драйвер системного таймера, language=C]{./listings/timer.c}
    \lstinputlisting[caption=Драйвер таймера-счетчика, language=C]{./listings/leds.c}

\section{Вопросы к защите}
    \subsection{Организация и принцип работы программируемого процессора. Перечислите и охарактеризуйте элементы вычислительного ядра.}

    Процессорное ядро включает в себя:
    \begin{enumerate}
        \item Центральный процессор.
        \item Внутренние магистрали адреса, данных и управления.
        \item Блок формирования множества сигналов с различными фазами и частотами для синхронизации центрального процессора и внутренних магистралей
        \item Блок управления режимами работы процессора, который может настраивать процесор различными образами.
    \end{enumerate}

    К вычислительному ядру относят те элементы, которые непосредственно выполняют вычислительную работу.
    Итак, к вычислительному ядру относятся:
    \begin{enumerate}
        \item Процессор - устройство для выборки команд из памяти и выполнения действий, предписанных командами. 
        \item Память - совокупность устройств, предназначенных для хранения программ, данных, а так же промежуточных или окончательных результатов вычислений.
    \end{enumerate}

    \subsection{Общие принципы организации системы ввода-вывода. Перечислите и охарактеризуйте элементы системы ввода-вывода.}
    В основе организации систем ввода-вывода лежат следующие принципы:
    \begin{enumerate}
        \item Принцип программного управления элементами системы ввода-вывода, подразумевает, что каждое устройство в системе способно выполнять команды, на основе которых строится алгоритм работы с ним и реализуется часть поставленной перед вычислительной системой задачи.
        \item Адресуемость элементов системы ввода-вывода, в соответствии с этим принципом, устройства системы ввода-вывода можно адресовать, т.е. организовывать доступ к конкретному устройству по адресу. 
        \item Многоуровневая организация системы ввода-вывода, обеспечивает гибкость системы, сбалансированность по сложности и стоимости её компонент, облегчает изменение конфигурации.
        \item Параллеленость работы элементов системы ввода-вывода, в некоторых случаях этот принцип ключевым образом влияет на производительность системы.
    \end{enumerate}

    К элементам систем ввода-вывода относят:
    \begin{enumerate}
        \item Порты ввода-вывода. \\
            Каждый процессор имеет некоторое количество линий ввода-вывода, подключенных к внешним выводам. Через порты процессорное ядро взаимодействует с внешними устройствами. 
        \item Аналого-цифровой преобразователь. \\ 
            Модуль АЦП предназначен для ввода в процессор аналоговых сигналовс датчиков физических величин и преобразования значения напряжения этих сигналов в двоичный код, с целью дальнейшей программной обработки.
        \item Цифро-аналоговый преобразователь. \\
            Цифро-аналоговый преобразователь предназначен для преобразования числа, в напряжение или ток, пропорциональное этому числу. 
        \item Устройства сопряжения с объектом. \\
            Устройства сопряжения с объектом также называют модулями ввода-вывода, они выполняют функции адаптера датчиков и исполнительных устройств. 
    \end{enumerate}

    \subsection{Способы организации ввода-вывода. Синхронный, ассинхронный обмен, обмен по прерыванию, в режиме ПДП.}
    \subsubsection{Синхронный обмен данными.}
        Этот способ обмена данными предполагает отсутствие ситуации неготовности обменивающихся сторон. Синхронным обменом полностью управляет программа и элемент системы ввода-вывода никак не может повлиять на ход обмена. К основным достоинствам относят потенциально высокую скорость обмена, а так же низкие требования к аппаратному обеспечению.
    \subsubsection{Асинхронный обмен данными.}
        Асинхронный обмен предполагает возможность програмной оценки степени готовности элемента системы ввода-вывода. Такой способ обмена требует дополнительных усилий со стороны программы на опрос готовности. Несомненным достоинством является способность программы определять и учитывать факты отказа в своих дальнейших действиях, минусами же являются: наличие необходимости программно определять готовность устройств, что приводит к необходимости приостанавливать основной алгоритм программы, а так же неэффективность при обмене с большим количеством устройств.
    \subsubsection{Обмен данными по прерыванию.}
        Данный способ предполагает наличие системы прерываний, для реакции на готовность устройства ввода-вывода к приёму или отправке данных. 
    \subsubsection{Обмен данными в режиме ПДП.}
        В данном режиме используется специальное программное средство DMA-контроллер, который получает команды от процессора и обрабатывает их параллельно основной работе процессора.

    \subsection{Классификация и особенности аппаратных интерфейсов вычислительных систем.}
    
    Интерфейсы вычислительных систем подразделяются на:
    \begin{enumerate}
        \item Внутрисистемные интерфейсы, группа интерфейсов обеспечивающая взаимодействие элементов ядра системы.        \item Системные интерфейсы, служат для развития системы и наращивания характеристик ядра.
        \item Стандартные переферийные интерфейсы, характерны для систем ввода-вывода, позволяют объеденить процессор ввода-вывода с контроллером ввода-вывода. 
        \item Малые интерфейсы ввода-вывода объединяют контроллеры ввода-вывода с внешним устройством.
        \item Интерфейсы систем передачи данных, предназначены для взаимодействия систем общего назначения. 
        \item Интерфейсы локальных вычислительных сетей, являются подмножеством интерфейсов систем передачи данных и предназначены для объединения вычислительных устройств, территориально сосредоточенных на сравнительно небольшой площади/
        \item Интерфейсы распределенных систем управления, объединяют контроллеры с целью организации управления и сбора информации с большого количества узлов сити. 
    \end{enumerate}

\section{Основные результаты}
В результате выполенния ЛР был получен опыт работы с таймерами и системой прерываний в SDK-1.1
