Основы арифметики цифровых процессоров. Вашкевич Н.П - 6 стр.

UptoLike

5
Предисловие
Специалистам в области информатики (computer science), зани-
мающимся разработкой специализированных цифровых устройств на
базе программируемых логических интегральных схем, программи-
рованием на языках низкого уровня, таких, как Ассемблер, С++, соз-
данием драйверов цифровых устройств, нужно хорошо представлять,
как работает цифровой процессор «изнутри», знать используемые
форматы представления операндов, область использования каждого
из них, способы кодирования операндов и алгоритмы перевода чисел
в коды и обратно, алгоритмы базовых арифметических операций в
разных форматах и кодах.
Такие знания позволят разработчику аппаратных и программных
средств правильно выбирать решение на каждом этапе проектирова-
ния. В качестве примера покажем, к чему может привести выбор не-
правильного формата данных. В свое время одному из авторов дан-
ного пособия довелось принимать участие в разработке программно-
го обеспечения для контроллера, управляющего промышленным
объектом. Одна из задач при этом получить сумму измерений на
заданном временном интервале от датчика измерения напряжения и
вычислить среднее значение. Изначально были выбраны формат це-
лых чисел с фиксированной точкой и соответствующая ему арифме-
тика. После того как программное обеспечение было разработано,
при опытных испытаниях обнаружилось «неадекватное» поведение
контроллера. Дальнейшие исследования показали, что при накопле-
нии измерений от датчика напряжения часть измерений была равна
нулю, что существенно искажало реальный результат. Оказалось, что
в промышленных условиях из-за помех объект управления, к кото-
рому подключался датчик, давал такие «выбросы» напряжения, что
результат измерения не помещался в разрядную сетку, т.е. старшие
                        Предисловие
   Специалистам в области информатики (computer science), зани-
мающимся разработкой специализированных цифровых устройств на
базе программируемых логических интегральных схем, программи-
рованием на языках низкого уровня, таких, как Ассемблер, С++, соз-
данием драйверов цифровых устройств, нужно хорошо представлять,
как работает цифровой процессор «изнутри», знать используемые
форматы представления операндов, область использования каждого
из них, способы кодирования операндов и алгоритмы перевода чисел
в коды и обратно, алгоритмы базовых арифметических операций в
разных форматах и кодах.
   Такие знания позволят разработчику аппаратных и программных
средств правильно выбирать решение на каждом этапе проектирова-
ния. В качестве примера покажем, к чему может привести выбор не-
правильного формата данных. В свое время одному из авторов дан-
ного пособия довелось принимать участие в разработке программно-
го обеспечения для контроллера, управляющего промышленным
объектом. Одна из задач при этом – получить сумму измерений на
заданном временном интервале от датчика измерения напряжения и
вычислить среднее значение. Изначально были выбраны формат це-
лых чисел с фиксированной точкой и соответствующая ему арифме-
тика. После того как программное обеспечение было разработано,
при опытных испытаниях обнаружилось «неадекватное» поведение
контроллера. Дальнейшие исследования показали, что при накопле-
нии измерений от датчика напряжения часть измерений была равна
нулю, что существенно искажало реальный результат. Оказалось, что
в промышленных условиях из-за помех объект управления, к кото-
рому подключался датчик, давал такие «выбросы» напряжения, что
результат измерения не помещался в разрядную сетку, т.е. старшие


                                5