ISSN 2305-5626. Вестник МГТУ им. Н.Э. Баумана: электронное издание. 2013
5
близкую к абсолютному нулю). Таким образом, в качестве эталонно-
го значения выбран нуль.
Вторую проблему решили путем установки на выход мультиплексо-
ра матрицы дополнительной несложной аппаратной логики, в результате
чего на плату в промежуточных интервалах подается нулевое слово.
Существуют следующие способы увеличения скорости обработки:
– правильный выбор необходимых прерываний с исключением
остальных;
– использование возможности параллельного выполнения не-
скольких команд в один такт;
– минимизация непроизводительных действий (в частности, пе-
ресылок данных).
Второй способ исключен ввиду проблем, связанных с его исполь-
зованием.
В итоге располагаем шестью возможными прерываниями, из ко-
торых три (SERVICE, LSYNC и VIDEOSYNC) дублируют друг дру-
га, следовательно, могут не обрабатываться (а значит, и не подавать-
ся на вход). То же относится к прерыванию DATA. Прерывание
LSYNC может быть исключено, поскольку не предоставляет допол-
нительной информации. Таким образом, обрабатываются лишь два
прерывания из шести: FRAME и CLK (PIXEL).
Минимизацию пересылок проводят следующим образом:
– используют теневой набор регистров, что позволяет избежать
хранения данных в памяти во избежание порчи их в основном цикле
работы ADSP;
– программу строят таким образом, чтобы результаты работы од-
ной команды сразу становились аргументами другой, без дополни-
тельных пересылок.
Модуль ввода ПО ПЭВМ.
При постоянном пребывании потока
ввода в состоянии ожидания использовать синхронный ввод не пред-
ставляется возможным. Это нецелесообразно еще и потому, что при
синхронном вводе нельзя отправить команду на продолжение ввода
сразу по окончании предыдущего, что означает потерю частей байто-
вого потока. Следовательно, необходимо выбрать асинхронный ре-
жим ввода. Для этого функции, отвечающие за ввод данных через
драйвер платы, выносят в отдельный поток, который обменивается с
потоком обработки через буфер.
С одной стороны, время ввода данных стремится к нулю, так как
обработка производится в другом потоке, а время копирования мас-
сива ничтожно мало по сравнению с временем его обработки. С дру-
гой стороны, поток ввода сам по себе требует времени — фактиче-
ски, на многоядерных системах этому потоку отдают одно из ядер
процессора. Работа на одном ядре хотя теоретически и возможна, но
для этого требуется быстродействие ЦП не менее 3,2 ГГц, произво-
дить же дополнительную обработку на одноядерном ЦП невозможно,
поскольку это может привести к блокировке системы.