Синтез целочисленных алгоритмов для микропроцессорной обработки информации при решении задач электронной кинематики тема диссертации и автореферата по ВАК РФ 05.13.01, кандидат наук Булатников, Александр Андреевич

  • Булатников, Александр Андреевич
  • кандидат науккандидат наук
  • 2013, Краснодар
  • Специальность ВАК РФ05.13.01
  • Количество страниц 181
Булатников, Александр Андреевич. Синтез целочисленных алгоритмов для микропроцессорной обработки информации при решении задач электронной кинематики: дис. кандидат наук: 05.13.01 - Системный анализ, управление и обработка информации (по отраслям). Краснодар. 2013. 181 с.

Оглавление диссертации кандидат наук Булатников, Александр Андреевич

Содержание

Введение

1. Целочисленная арифметика - основа алгоритмизации микропроцессорных систем

1.1 Историко-логический обзор машинной алгоритмизации

1.2 Сущность RISC - архитектуры

1.3 Целочисленная арифметика

1.3.1 Преимущества и недостатки формата "целый"

1.3.2 Основные операции целочисленной арифметики

1.4 Основные вычислительные методы в целочисленной арифметике

1.4.1 Разностно-итерационные методы

1.4.2 Методы псевдоповоротов вектора

1.4.3 Метод оценочных функций

1.4.4 Цифровые интегрирующие методы

1.5 Аппаратная поддержка целочисленной арифметики

1.6 Системный анализ проблемы микропроцессорной

обработки информации

1.7 Выводы

2. Базовые процедуры целочисленной обработки информации

2.1. Основные положения цифровой интерполяции

2.2 Цифровая линейная интерполяция

2.3 Обобщенный алгоритм цифровой интерполяции

2.3.1 Синтез обобщенного алгоритма

2.4 Динамическое умножение и деление

2.5 Статическое умножение и деление

2.6 Динамическое деление на константу

2.7 Пересечение двух прямых

2.8 Цифровая интерполяция дуги окружности

2.9 Цифровая интерполяция окружности

2.10 Расширение области применения алгоритма

круговой интерполяции

2.11 Реверсивный алгоритм цифровой интерполяции

2.12 Угловые перемещения радиус-вектора

2.13 Тестирование целочисленного алгоритма

цифровой интерполяции окружности

2.14 Выводы

3. Синтез целочисленных алгоритмов цифровой

интерполяции кинематических траекторий

3.1 Цифровая интерполяция циклоиды

3.2 Цифровая интерполяция эпициклоиды

3.3 Цифровая интерполяция гипоциклоиды

3.4 Алгоритм цифровой интерполяции эвольвенты

окружности

3.4.1 Вариант 1 "Контроль по касательной"

3.4.2 Вариант №2 "Контроль по площади"

3.4.3 Алгоритм цифровой интерполяции эвольвенты

(по аналитике)

3.5 Цифровая интерполяция трактрисы

3.6 Тестирование целочисленных алгоритмов цифровой интерполяции циклоиды, эпи- и гипоциклоиды,

эвольвенты (три варианта)

3.7 Выводы

4. Решение задач электронной кинематики средствами

геометрического моделирования на микропроцессорах

4.1 Исторический экскурс

4.2 Имитация кривошипно-шатунного механизма (КШМ)

4.3 Варианты геометрии КШМ

4.4 Задача о кинематическом треугольнике

4.5 Плоский двухзвенный манипулятор

4.6 Плоский трехзвенный шарнирно-стержневой механизм

4.7 Управление приводами манипулятора

4.8 Выводы

Заключение

Список используемых источников

Приложение П1. Программа эмуляция алгоритма

цифровой круговой интерполяции на языке Delphi

Приложение П2. Листинг выходных результатов

цифровой интерполяции окружности (радиусом г=20)

Приложение ПЗ. Программа эмуляции алгоритма

цифровой интерполяции циклоиды на языке Delphi

Приложение П4. Программа эмуляции алгоритма цифровой

интерполяции эпициклоиды (и гипоциклоиды) на языке Delphi

Приложение П5. Программа эмуляции алгоритма цифровой интерполяции эвольвенты окружности на языке Delphi

(вариант 1)

Приложение П6. Программа эмуляции алгоритма цифровой интерполяции эвольвенты окружности на языке Delphi

(вариант 2)

Приложение П7. Программа эмуляции алгоритма цифровой интерполяции эвольвенты окружности на языке Delphi

(по аналитике)

Приложение П8. Документы о внедрении результатов

Рекомендованный список диссертаций по специальности «Системный анализ, управление и обработка информации (по отраслям)», 05.13.01 шифр ВАК

Введение диссертации (часть автореферата) на тему «Синтез целочисленных алгоритмов для микропроцессорной обработки информации при решении задач электронной кинематики»

Введение

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

Её преодоление лежит на путях системного подхода при проектировании микропроцессорного алгоритмического и программного обеспечения. А оно составляет 70-80% стоимости разработки всей системы [1,2].

Основная проблема состоит не в быстродействии аппаратном (тактовая частота в мегагерцах), а в быстродействии алгоритмическом.

В феномене микропроцессоров резко обострились противоречия между машинным характером обработки информации и антропогенностью её алгоритмов. Потребовалось перейти к специальным алгоритмам, как правило, созданным эвристическим путем. Сначала они реализовывались аппаратными средствами в так называемых спецвычислителях [3-5], а затем с появлением микропроцессоров и программно [6-8].

Однако, круг таких спецалгоритмов был весьма ограниченным. В основном это были разностно-итерационные алгоритмы (РИА) типа алгоритмов Волдера [9] и Меджита [10], алгоритмы цифровой интерполяции простейших линий (прямая, окружность, парабола) [11] и алгоритмы на базе конечных приращений (цифровые дифференциальные анализаторы [12]). Широкой универсальности они не обеспечивали.

Вместе с тем развитие механики и мехатроники требовало широкого применения электронных вычислительных машин (ЭВМ) и других

вычислительных средств для решения важных задач проектирования, создания и эксплуатации современных механизмов и машин (станки с числовым программным управлением (ЧПУ), графопостроители, роботы-манипуляторы и др.) [13-17].

Впервые на эту тенденцию указал выдающийся механик, академик АН СССР К.В. Фролов в своей статье "Механика и искусство конструирования в эпоху ЭВМ" [18]. В ней он ввёл термин "электронная кинематика".

Её суть - в следующем: обеспечение требуемых от машины или механизма синхронных перемещений рабочих органов или обрабатываемого объекта (изделия, заготовки) не с помощью механических узлов (шарниры, стержни, кулачки и т.п.), а с помощью силовых (обычно, электрических) приводов, синхронно управляемых компьютерной техникой по определенным функциональным зависимостям.

Это упрощает процесс конструирования и изготовления сложных материалоемких механических систем, сводя его к проектированию (синтезу) соответствующих алгоритмов и их программную реализацию на компьютерах [19-21].

Поскольку все узлы механических систем распределены в пространстве, то возникает необходимость в привлечении геометрических методов при создании таких алгоритмов, так как решение некоторых алгебраических задач значительно проще осуществлять геометрическими методами [22]. Достаточно вспомнить геометрико-построительные методы, хорошо развитые в начертательной геометрии и широко используемые в инженерной графике.

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

С учётом этого вполне логичным является привлечение к реализации целочисленных алгоритмов самых простейших и потому весьма быстродействующих микропроцессоров RISC-архитектуры [23-25]. Их быстродействие обеспечено сокращенным набором команд, т.е. исключением из него операций умножения, деления и других так называемых "длинных операций". Но микропроцессоры этой архитектуры требуют целочисленных алгоритмов обработки информации.

Таким образом, в единый узел сплелись проблемы алгоритмизации, быстродействия и технической реализации процессов обработки информации при автоматизации технологических процессов с применением механизмов и машин (например, автоматических линий гибких автоматизированных производств (ГАП), манипуляционных роботов и др.).

Эти обстоятельства остро поставили в повестку дня алгоритмические проблемы микропроцессорной реализации процессов преобразования и обработки информации, в том числе при решении задач так называемой электронной кинематики [18]. Отправной точкой данной работы является научные разработки, которые проводились в нашей стране и за рубежом по аппаратным и программным методам в цифровой вычислительной технике. Это, в первую очередь, труды В.Б. Смолова, Е.П. Угрюмова, Б.Н. Малиновского, В.Д. Байкова, A.M. Оранского, А. Л. Рейхенберга, B.JI. Кошкина, В. И. Ключко, Н.С. Анишина и др. Среди зарубежных исследователей должны быть отмечены Волдер, Меджит, Брезенхем, Эрцеговак и др.[26-31]

Хотя некоторые работы вышеперечисленных авторов и содержат предпосылки, а иногда и элементы теоретического обобщения, тем не менее большинство из них имеют аппаратную направленность. Практически отсутствуют разработки методов алгоритмизации для микропроцессорной техники.

Синтез новых алгоритмов пока еще носит эвристический характер. Не используется математический аппарат для вскрытия модельных свойств моделируемых объектов и процессов.

В то же время детерминированных методик синтеза алгоритмов обработки информации, ориентированных на микропроцессорную реализацию в известных публикациях не обнаружено. Хотя потребность в них значительна, в том числе в связи с применением микропроцессоров в механике, мехатронике, системах автоматизации.

С учетом этого в качестве предмета исследования диссертационной работы избраны алгоритмы микропроцессорной обработки информации в интересах задач электронной кинематики, методы их создания, модификации и адаптации к конкретным объектам автоматизации.

Методами исследования являются системный анализ, моделирование геометрических объектов, аналитическая геометрия, математический анализ, исследование операций и теория принятия решений, методы вычислительной математики. Обоснование достоверности полученных алгоритмов базируется на строгом математическом анализе, на тестовом прогоне целочисленных алгоритмов на персональном компьютере в режиме эмуляции системы команд микропроцессоров на языке высокого уровня Delphi. Точностные и скоростные характеристики оценивались методами математической статистики и метрологии.

Целью исследования является разработка методологии синтеза целочисленных алгоритмов микропроцессорной обработки информации для решения задач электронной кинематики. В основу методологии положено использование методов геометрических аналогий (МГА) [32], развитых нами применительно к компьютерному моделированию кинематических узлов и систем при решении задач электронной кинематики.

Формулировка проблемы исследований. В свете вышеизложенного актуальной является разработка методологии синтеза целочисленных

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

Научная новизна исследования заключается в следующем.

1) Разработаны неаналитические методы вычислений (обработки информации) для реализации на микропроцессорах RISC — архитектуры.

2) Разработаны базовые процедуры информационных технологий в целочисленной арифметике, в том числе алгоритмы цифровой интерполяции типовых кинематических траекторий.

3) Осуществлено компьютерное моделирование кинематических механизмов на базе геометрико-построительных методов начертательной геометрии.

4) Решена обратная задача для манипуляционных роботов на базе процедур в целочисленной арифметике.

Основными направлениями исследуемой проблемы являются:

1) историко-логический анализ машинной (в нашем случае, микропроцессорной) алгоритмизации;

2) исследование преимуществ и особенностей микропроцессорных архитектур (в т.ч. RISC-архитектуры);

3) определение основных операций и вычислительных методов в целочисленной арифметике;

4) разработка базовых процедур целочисленной обработки информации, в т.ч. цифровой интерполяции;

5) синтез целочисленных алгоритмов цифровой интерполяции типовых кинематических траекторий;

6) решение задач электронной кинематики средствами геометрического моделирования на микропроцессорах.

Перечисленные выше направления научных исследований определили структуру диссертации. Она содержит 4 главы (раздела) и Приложение. В первой главе произведен ретроспективный анализ микропроцессорной реализации обработки информации (алгоритмические проблемы). Указаны недостатки эвристических методов синтеза алгоритмов для микропроцессорной реализации. Обоснован переход к детерминированным методам, в т.ч. на базе методов геометрических аналогов.

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

Третья глава посвящена синтезу целочисленных алгоритмов цифровой интерполяции типовых кинематических траекторий (циклоида, эпи- и гипоциклоида, эвольвента окружности, трактриса). Для всех алгоритмов составлены их блок-схемы и эквивалентные программы их эмуляции на языке Delphi.

Аналогичное содержание и у последней четвертой главы - синтез целочисленных алгоритмов микропроцессорного моделирования кинематических систем (электронной кинематики). Среди них кривошипно-

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

В Приложение вынесены программы эмуляции разработанных во второй главе целочисленных алгоритмов цифровой интерполяции на языке Delphi. А также материалы (акты, справки) по внедрению результатов научных исследований.

Классификация работы. В работе на основе выполненных автором научных исследований подготовлено математическое обеспечение целочисленных процедур микропроцессорной обработки информации для целей электронной кинематики и решена научно-техническая проблема -создана методология синтеза целочисленных алгоритмов на основе цифровой интерполяции кинематических траекторий, являющаяся основой компьютерного моделирования (имитации) механизмов, станков с ЧПУ и манипуляционных роботов при решении задач управления ими.

На защиту выносятся следующие основные научно-технические результаты:

1) базовые процедуры целочисленной микропроцессорной обработки информации для цели реализации алгоритмического обеспечения электронной кинематики;

2) методология синтеза целочисленных алгоритмов цифровой интерполяции ряда кинематических траекторий (окружность, циклоида, эпи- и гипоциклоида, трактриса);

3) методология микропроцессорного моделирования отдельных элементов кинематических систем на базе геометрических аналогий;

4) методика комплексного применения целочисленных процедур для управления сложными кинематическими системами на примере манипуляционного робота с пятью степенями свободы;

5) программы тестирования целочисленных алгоритмов цифровой интерполяции путем их эмуляции на языке программирования высокого уровня.

Основные результаты исследований изложены в 22 научных трудах, в том числе 4 работы, опубликованные в рецензируемых журналах, входящих в перечень ВАК при Минобрнауки РФ, одна монография, три свидетельства о государственной регистрации программ для ЭВМ. Основные положения работы докладывались на конференциях:

1) III Международная научная студенческая конференция "Научный потенциал студенчества в XXI веке", г. Ставрополь, 2009 г.

2) XXXVII научная конференция студентов и молодых ученых вузов Южного федерального округа, г. Краснодар, 2010 г.

3) IV Международная научная конференция студентов, аспирантов, молодых ученых "Научный потенциал студенчества в XXI веке", г. Ставрополь, 2010 г.

4) I Межвузовская научно-практическая конференция "Автоматизированные информационные и элекроэнергетические системы", г. Краснодар, 2010 г.

5) I Международная научно-практическая конференция "Современная наука: теория и практика", г. Ставрополь, 2010 г.

6) Всероссийская молодежная научная конференция "Современные проблемы математики и механики", г. Томск, 2010 г.

7) XVII Международная научно-практическая конференция студентов и молодых ученых "Современные техника и технологии", г.Томск, 2011 г.

8) IV Международная научно-практическая конференция "Молодежь и наука: реальность и будущее", г. Невиномысск, 2011 г.

9) I Международная научно-практическая конференция "Модернизация современного общества: проблемы, пути развития и перспективы", г. Ставрополь, 2011 г.

10) I Международная научная конференция "Наука в современном обществе", г. Ставрополь, 2011 г.

11) IX Международная научно-практическая конференция "Татищевские чтения: актуальные проблемы науки и практики", г. Тольятти, апрель 2012 г.

12) VIII Всероссийская научно-практическая конференция "Математические методы и информационно-технические средства", г. Краснодар, июнь 2012 г.

Данная работа частично выполнялась в рамках хоздоговорной НИР "Разработка целочисленных алгоритмов цифровой интерполяции" с ООО "Современные производственные системы" (г. Краснодар). Результаты диссертации были внедрены:

1) в ООО "Современные производственные системы" (г. Краснодар);

2) в ЗАО Механический завод "РЕММАШ" (ст. Павловская Краснодарского края);

3) в учебном процессе кафедры информационных систем и программирования КубГТУ.

Используемая в работе терминология базируется на рекомендациях Международного НИИ проблем управления [33, 34].

Целочисленная арифметика - основа алгоритмизации микропроцессорных систем ^

1.1 Историко-логический обзор машинной алгоритмизации

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

Поиск таких машинноориентированных алгоритмов всегда был одной из основных проблем вычислительной математики. Для этого использовались доступные для программистов математические способы упрощения вычислений и обработки информации [35].

Однако, наряду с формальными средствами математических преобразований формул и выражений синтез алгоритмов требует некоторой доли интуиции, определяемой математической эрудицией и опытом организации машинной обработки информации у разработчиков программного обеспечения. То есть, речь идет об алгоритмах и программах на языках низкого уровня, например, на микроассемблере. Поэтому такая алгоритмизация и называется машинной (приближенной к системе команде микропроцессора как вычислительной машины).

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

Оптимальность получаемых алгоритмов обеспечивается за счет их эквивалентных преобразований и системного анализа всех обстоятельств

процесса обработки информации, включая технические средства их реализации.

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

В качестве основных приемов преобразования алгоритмов используются следующие:

- переход к математическому (геометрическому) аналогу;

- оптимизация математической модели процесса машинной реализации процедур, обеспечивающих заданную обработку информации;

- учет архитектуры, в том числе системы команд конкретного микропроцессора (например, ШБС-архитектуры).

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

Исторически это противоречие возникло в середине прошлого столетия, когда пришлось аппаратно реализовывать высокоскоростные процедуры обработки информации, содержащие умножение, деление и другие так называемые "длинные операции". Трудность аппаратной реализации умножителей, делителей, квадраторов, а также необходимость вспомогательных многоразрядных регистров объективно сдерживали реализацию многих алгоритмов на аппаратном уровне.

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

Ведущие мировые ученые уже в то время думали, как создать алгоритмы без них. Появились, например, алгоритмы вычисления некоторых тригонометрических функций (алгоритмы Волдера [9], Меджита [10], алгоритмы цифровой интерполяции [И, 36]), в которых оригинально обойдены операции умножения, деления, извлечения квадратного корня сведением их к операциям сложения, условных переходов и к другим, не сложнее этих (вычитание, пересылки, сдвиги, единичные приращения, логические операции и др.).

Однако, небольшая тиражируемость алгоритмов при аппаратной реализации не сделала актуальными вопросы теоретического обоснования новых аппаратно-ориентированных целочисленных алгоритмов. А создание самих алгоритмов носило эвристический характер и не было подкреплено теоретической базой расширительного применения для близких по сути (по аналитике) алгоритмов.

На рубеже 70—80 г.г. прошлого столетия началось широкое распространение микропроцессоров (МП), а также управляющих устройств (микроконтроллеров - МК) на их основе. Стремление максимально упростйгь структуру МП с целью достижения низкой стоимости, малых габаритов, потребляемой мощности, высокой надежности и аппаратного быстродействия привело к малой разрядности операционного узла (8-И 6 бит) МП и исключению "длинных операций" из состава машинных команд, а также операций над числами с плавающей запятой.

В конце 20-го столетия все это привело к изготовлению микропроцессоров с БИБС-архитектурой, а также ряда их модификаций. Они не

содержат в системе команд операций умножения, деления и других "длинных операций" а также операций с числами формата с плавающей запятой [24, 25].

Упрощение МП, в свою очередь, обеспечивало крупносерийность их производства, что положительно повлияло на резкое снижение их стоимости.

Отсутствие должного опыта машинной алгоритмизации у инженеров-программистов (учтем факт неожидаемого изобретения МП), ориентированной на простейшие МП-вычислители, сдерживает темпы и области внедрения микропроцессорных устройств, особенно в оригинальных (невычислительных) применениях в устройствах обработки информации.

Таким образом, историко-логический анализ развития микропроцессорной техники и ее алгоритмического обеспечения показывает, что высокие эффективность и быстродействие микропроцессорной обработки информации могут быть обеспечены на путях разработки целочисленных алгоритмов, исключающих операции умножения, деления и операции гпд числами в формате с плавающей запятой.

1.2 Сущность RISC - архитектуры

RISC (англ. Restricted (reduced) Instruction Set Computer - компьютер с упрощенным набором команд) - архитектура микропроцессора, в котором его быстродействие увеличивается за счет упрощения команд, чтобы их декодирование и исполнение было проще, а время выполнения - короче. Уже первые RISC-процессоры не имели команд умножения и деления. Это способствовало повышению тактовой частоты и делало более эффективней суперскалярность (распараллеливание исполнения команд между несколькими вычислительными блоками).

Наличие операций умножения и деления у более продвинутых и, соответственно, более дорогих и сложных по конструкции МП было вызвано их использованием в быстродействующих суперЭВМ, ориентированных на вычислительные задачи.

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

Другая особенность этих наборов - большинство команд, как правило, допускают все возможные методы адресации. К примеру, и операнды, и результат в арифметических операциях доступны не только в регистрах, но и через непосредственную адресацию и через метод прямого доступа к памяти (всех видов). Позже такие архитектуры стали называться CISC (англ. Complex Instruction Set Computer).

В микропроцессорах архитектуры RISC большинство команд для упрощения декодирования имеют одинаковую длину и похожую структуру. Арифметические операции (только типа сложения, вычитания) работают лишь с регистровыми операндами, а работа с памятью идет через отдельные команды загрузки (load) и сохранения (store) [37]. Эти свойства и позволили лучше сбалансировать этапы конвейеризации, сделав микропроцессоры RISC-архитектуры более эффективными и позволив поднять тактовую частоту.

Таким образом, фокусирование внимания разработчиков микропроцессоров на простых командах и привело к RISC - архитектуре. Ее цель - сделать команды настолько простыми, чтобы они обеспечивали

повышенное быстродействие и затрачивали не более одного такта на каждом шаге конвейера.

Следует отметить, что наиболее значимая характеристика RISC-архитектуры в разделении команд для обработки данных и обращения к памяти

- обращение к памяти идет только с помощью команд load и store, а все прочие команды ограничены внутренними регистрами.

Этот факт упростил архитектуру процессоров: позволил командам иметь фиксированную длину, упростил конвейер и изолировал логики, имеющею дело с задержками при доступе к памяти, только в двух командах. В итоге RISC-архитектуры стали называть еще и архитектурами load/store.

Теперь поговорим о количестве команд. Нередко слова "сокращенный набор команд" неверно понимается как минимизация числа команд в системе команд. В действительности, команд у многих RISC-процессоров больше, чем у CISC-процессоров. Некоторые RISC-процессоры вроде INMOS Transputer имеют наборы общей численностью несколько десятков, вплоть до сотни. Большинство из них - операции тестирования и условных переходов. И другой пример, CISC - процессор DEC PDP-8 имеют только 8 основных и несколько расширенных команд.

На самом деле, термин "сокращенный" в названии описывает тот факт, что сокращен объем (и время) действий, выполняемой каждой отдельной командой - как минимум один цикл доступа к памяти. Некоторые архитектуры, специально разработанные для минимизации количества команд, сильно отличаются от классических RISC-архитектур и имеют иные названия (MISC -minimal ISC, ZISC - zeroISC, OISC - onelSK, TTA - transport trigged architecture).

Подводя итог, рассмотрим характерные особенности RISC-процессоров. Они таковы:

Похожие диссертационные работы по специальности «Системный анализ, управление и обработка информации (по отраслям)», 05.13.01 шифр ВАК

Список литературы диссертационного исследования кандидат наук Булатников, Александр Андреевич, 2013 год

Список используемых источников

1. Микропроцессорные средства производственных систем/ В.Н. Алексеев и др.; под общей редакцией В.Г. Колосова,- Л.: Машиностроение. Ленинградское отд-ние. 1988. 287 с.

2. Гребешков А.Ю. Микропроцессорные системы и программное обеспечение в средствах связи: Учебное пособие. - Самара: ПГУТИ. 2009. - 298 с.

3. Байков В.Д., Смолов В.Б. Специализированные процессоры: итерационные алгоритмы и структуры. - М.: Радио и связь. 1985. 288 с.

4. Оранский A.M. Аппаратные методы в цифровой вычислительной технике. Минск: Изд-во БГУ. 1977. 208 с.

5. A.c. СССР №1418071. Устройство для вычерчивания циклоидальных кривых/С.О. Никифоров, Ю.Ф. Мухопад, В.В. Слепнев и др. 1988. №31.

6. Байков В.Д., Вашкевич С.Н. Решение траекторных задач в микропроцессорных системах ЧПУ.- Л.: Машиностроение, 1986. 106 с.

7. MIPS64™ Architecture for Programmers. Revision 2.0. MIPS Tecnologies Inc., June 2003.

8. A. Adir, E. Almog, L. Fournier, E. Marcus, M. Rimon, M. Vinov, A. Ziv. Genesys-Pro: Innovations in Test / Program Generation for Functional Processor Vertification. Design and Test. 2004.

9. Voider J.E. The CORDIC trigonometric computing technique// The Trans. On Electronic Сотр., 1969. Vol.8. №3. p. 330-334.

10. Meggitt J.E. Psevdodivision and psevdomultiplication processes // IBM J. Res. And Develop., 1962. Vol.6. №2. p. 220-226.

11. Зусман В.Г., Розинов А.Г. Интерполяторы для контурных систем числового программного управления и перспективы их развития. М.: машиностроение, 1975. С.44

12. Неслуховский К.С. Цифровые дифференциальные анализаторы. М.: Гос. изд-во физ.-мат. лит-ры. 1963. 304 с.

13. Теория механизмов и механика машин: Учеб. Для втузов/ К.В. Фролов и др.; под ред. К.В. Фролова - М.: Высш.шк.,2005. - 496 с.

14. Смирнов А.Б. Мехатроника и робототехника. Учебное пособие. СПб.; изд-во СПБГПУ. 2003. 160с.

15. Никифоров В.В. Алгоритмические средства построения систмы управления роботами. - в. кн.: Алгоритмические модели в автоматизации исследований. М.: Наука. 1980. С. 186-193.

16. Домарацкий А.Н. и др. Микропроцессорные системы управления манипуляционными роботами на основе стандарта САМАС. в кн.:

Алгоритмические модели в автоматизации исследований. М.: Наука. 1980. С. 193-199.

17. Белянин П.Н. Промышленные роботы и их применение. М. Машиностроение. 1983. 312 с.

18. Фролов К.В., Бабицкий В.И. Механика и искусство коструирования в эпоху ЭВМ//Изобретатель и рационализатор. 1986. №12. С. 16-17.

19. Системы автоматизированного проектирования. В 9 кн./ Кн.1 Принципы построения и структура/ Под ред. И.П. Норенкова. М.:Наука. 1986.

20. Горитов А.Н. Моделирование роботов-манипуляторов с учетом внешней среды//Ж.:Ползуновский вестник. Изд-во: Алтайский государственный технический университет им. И.И. Ползунова (Барнаул). №1-2. 2012. С.107-11,1.

21. Tolocka R.T., Macha Е., Pawliczek R. Mechanical engineering and mechatronics: development of study programmes// Mechatronic Systems and Materials: selected papers. -Opole University of Technology. 2011. -p. 249-254.

22. Костовский А.Н. Геометрические построения одним циркулем. - М.: Наука, 1984. -80 с.

23. Алумян Р.С. и др. Микро-ЭВМ с сокращенным набором команд// Микропроцессорные средства и системы. 1988. №3. С. 16-19.

24. Новиков Ю.В., Скоробогатов П.К. Основы микропроцессорной техники. Курс лекций. М.: ИНТУИТ.РУ. 2003.

25. Антошина И.В., Котов Ю.Т. Микропроцессоры и микропроцессорные системы//Москва. 2005. - 432 с.

26. Jaan Raamot Microprocessor application of integer arithmetic // Proceedings IEEE Vol.66. №2. February 1978. P. 238-244.

27. Wensley J.H. A class of nonanalitical iterative processes//Comp.J., 1959. Vol.1 №4. P.163-167.

28. Bresenham J.E. Algorithm for computer control of a digital plotter/ЯВМ Syst. J. 1965. Vol.4. №l.P.25-30.

29. Fraser W., Hart J. On the computation of rational approximations to continuons functions//Comm.of ACM. 1962. №5.

30. Gorman J.E., Raamot J. Interger arithmetic technique for digital control computer// Сотр. Design. 1970. Vol.9. №7. P.51-57.

31. Morris Alan, Coordinate transformations and programming for small revolute -coordinate robots/Microprocessors and Microsystems, 1985. Vol.9. №6. P.290-295.

32. Кошкин B.JI. Аппаратные системы числового программного управления.-М.: Машиностроение, 1989. - 248 с.

33. Краткий терминологический словарь по микропроцессорной технике.- М.: Международный НИИ проблем управления, 1984. -104с.

Ik

34. Шалобаев Е.В., Толочка Р.Т. К вопросу о терминологии в области мехатроники//Ж.: Научно-технический вестник информационных технологий, механики и оптики. Изд-во: Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики. №5. 2012. С. 148-151.

35. Грешилов А.А. Математические методы принятия решений. -М.: Изд-во МГТУ им. Н.Э. Баумана. 2006. - 584 с.

36. Левин А.А. Алгоритм сложного формообразования для систем ЧПУ на основе ЭВМ// Системы числового программного управления и перспективы их развития. М.: Машиностроение, 1970. -250 с.

37. Wakerly J.F. Microprossecor input/output architecture/ЯЕЕЕ Computer. -1977. Vol.10.-№2-p.26-33.

38. A.c. 960802 СССР МКИ3 G06F7/38 Арифметическое устройство/ АГЛ. Рейхенберг (СССР). Опубл.23.09.82; Бюл.№35.

39. Ercegovac M.D. A general hardware-oriented method for evalution of functions and computation in a digital computer //IEEE Trans.on Сотр. 1977. Vol. C-26, №7, p.667-680.

40. Агурский M.C. и др. Числовое программное управление станками. - М.: Машгиз, 1966. -379 с.

41. Способы подготовки программ и интерполяторы для контурных систем программного управления станками. -М.: Машгиз, 1970. С.52-57.

42. Цифровые модели для систем автоматического управления/ Воронов А.А., Гарбузов А.Р., Ермилов В.А. - М.: 1960. -196 с.

43. Шилейко А.В. Цифровые модели. М.-Л.: 1964. -112с.

44. Дроздов Е.А. Цифровые аналоги// Ж.Приборостроение, 1967. №5. С. 34-39.

45. Ракитский Ю.В. и др. Методы приближенного интегрирования, применяемые в цифровых моделях с многоразрядными приращениями// Цифровые модели и интегрирующие структуры. Таганрог. Изд-во ТРТИ, 1970. С.32-36.

46. Каляев А.В. Теория цифровых интегрирующих машин и структур. - М.: Сов.радио. 1970. -464 с.

47. Тарасов B.C. и др. Цифровая модель и ее применение для решения инженерных задач// Аналоговая и аналого-цифровая вычислительная техника М.: Сов.радио, 1968, вып.1, С. 165-171.

48. Carlyle R.E. Riscy business// Datamation. - 1985.- Vol. 18, №4. - p.8-19.

49. Симанков B.C. и др. Системный анализ в адаптивном управлении// Монография. ИСТЭК. Краснодар. 2001. -258 с.

fto

50. Булатников A.A. Целочисленные алгоритмы цифровой интерполяции. Материалы 4 Международной научной конференции студентов, аспирантов и молодых ученых "Научный потенциал студенчества в 21 веке". Том Л. Естественные и технические науки, г. Ставрополь, Сев.Кав.ГТУ, 2010. с.112-114.

51. A.C. 665286 СССР. МКИ2 G05B 19/18 Цифровой интерполятор ЯО.А. Раисов, B.C. Тройников (СССР), опубл. 30.05.79; Бюл. №20.

52. Булатников A.A. Обобщенный алгоритм цифровой интерполяции //Тезисы доклада 37 научной конференции студентов и молодых ученых вузов ЮФО, ч. 3, Краснодар: 2010. С. 188-189.

53. Задорожный В.Н. и др. Высшая математика для технических университетов Аналитическая геометрия. Часть 2. Изд-во: Томский политехнический университет. 2010. С.398.

54. Беклемишев Д.В. Курс аналитической геометрии и линейной алгебры. Изд-во М.: Физматлит. 2005. С.304.

55. Булатников A.A., Булатникова И.Н. Цифровые интерполяторы криволинейных траекторий// Изд.вузов, Сев.-Кав. Регион, серия Технические науки. 2011, №2, С.16-19.

56. Булатников A.A., Ключко В.И., Булатникова И.Н. Информационные технологии с использованием целочисленной арифметики //Аналитический научно-технический журнал "Геоинжиниринг", НИПИ "Инжгео" №2(11), осень 2011. С.54-58.

57. Jordan B.W., Lennon W.J., Holm B.D. An improved algorithm for the generation of nonparametric curves //IEEE Trans.Computers, Dec. 1973. Vol. C-22, p. 1052-1060.

58. Булатников A.A. Целочисленный алгоритм цифровой интерполяици окружности//Сборник трудов XVII международной научно-практ. конференции студентов и молодых ученых "Современная техника и технологии". г.Томск, Апрель 2011. С.301-302.

59. Булатников A.A., Булатникова И.Н. Оптимальный алгоритм цифровой интерполяции окружности //Сб.материалов I Международной научно 1 конференции "Наука в современном обществе". Г. Ставрополь. 2011, С.65-69.

60. Ратмиров В.В. Основы программного управления станками. - М.: Машиностроение, 1978. С.121-125.

61. Бронштейн И.Н., Семендяев К.А. Справочник по математике и учащихся втузов.- 13-е изд. -М.:Наука, 1986.- 544 с.

62. Гавриленко В.А. Основы теории эвольвентной зубчатой передачи, М.: 1969, Изд-во Машиностроение. 209 с.

63. Маркадаев Б.Е. и др. Манипуляторы с импульсным заданием движений/ЛЗестник машиностроения. 2004. №12. С.3-8.

64. Булгаков А.Г. Промышленные роботы. Кинематика, динамика, контроль и управление/ А.Г. Булгаков, В.А. Воробьев. -М.: СОЛОН-ПРЕСС, 2007. -488с.

65. Лепихин Т.А. Синтез цифрового закона управления двузвеным роботом-манипулятором //Ж.: Системы управления и информационные технологии. Изд-во "Научная книга" (Воронеж), том 50. №4. 2012. С.92-94.

66. Корендясев А.И. Теоретические основы робототехники/ А.И. Коредясев, Б.Л. Саламандра, Л.И. Тывес - в 2 кн. -М.: Наука. 2006. -384 с.

67. Маркадаев Б.Е. и др. Манипуляторы с импульсным заданием движений//Вестник машиностроения. 2004. №12. С.3-8.

68. Платонов А.К. Геометрические преобразования в робототехнике — М.: Знание, 1988. - 32 е.- (Новое в жизни, науке, технике. Серия "Математика, кибернетика". №4).

69. Поляков Б.Н. Математическое моделирование кантующего механизма манипулятора высокопроизводительного блюминга и построение системы етчэ программного управления//Ж.: Приборы и системы. Управление, контроль, диагностика. Изд-во "Научтехлитиздат" (Москва), №10. 2005. С. 15-20.

70. Камкин A.C. Генерация тестовых программ для микропроцессоров// Ж.: Труды института системного программирования РАН. Изд-во Институт системного программирования РАН (Москва), Том 14. №2. 2008. С. 23-63.

71. Жуков Ю.А. Исследование алгоритмов управления приводами шестизвенного робота - манипулятора//Ж.: Мехатроника, автоматизация, управление. Изд-во "Новые технологии" (Москва), №5. 2007 . С.21-25.

72. Зенкевич С.Л., Ющенко A.C. Основы управления манипуляционными роботами. М.: МГТУ им. Н.Э. Баумана. 2004.

73. Капитонова М.С. Адаптивное управление периодическим движением однозвенного робота-манипулятора//Ж.: Информатика и системы управления, №1(13). 2007. СД61-170.

74. Карпенко А.П., Волкоморов C.B. Планирование конфигурации робота-манипулятора типа "ХОБОТ"//Ж.: Наука и образование. Электронное научно-техническое издание, изд-во: Московский государственный технический университет им. Н.Э. Баумана (Москва), №3. ЗОЮ. С.7.

75. Брейдо И.В., Жабелова Г.А. Принципы адаптивного управления электроприводами сварочного робота-манипулятора//Ж.: Автоматика, информатика. Изд-во: Карагандинский государственный технический университет (Караганда), том 1-2. 2007. С. 38-40.

76. Васильев И.А., Ляшин A.M. Аналитическое решение обратной кинематической задачи для шестизвенных роботов-манипуляторов. // Ж.: Автоматизация в промышленности. Изд-во: издательский дом "ИнфоАвтоматизация" (Москва). №10. 2008. С.3-5.

77. Крутиков С.Л. Способ получения уравнений движения роботов-манимуляторов в терминах базовых инерционных параметров//Ж.: Мехатроника, Автоматизация, Управление. Изд-во: "Новые технологии" (Москва). №4. 2012. С.50-55.

78. Ленков C.B., Шворов С.А., Чирченко Д.В. Моделирование движения мобильных роботов-манипуляторов//Ж.: Информатика и математические методы в моделировании. Изд-во: Одесский национальный политехнический университет (Одесса), том 1. №3. 2011. С.209-219.

79. Braunl Th. Embedded Robotics: Mobile Robot Design and Applications with Embedded Systems. - Berlin: Springer - Verlag. 2006. -458 с.

80. Vitrant E., Canudas-De-Vit С., Georges D., Alamir M. Remote stabilization via time - varying communication network delays //IEEE Conf. in Control Applications, Taiwan. Sept 2-4. 2004.

81. Царегородцева Т.А., Челноков Ю.Н. Применение бикватернионов для решения прямой задачи кинематики роботов-манипуляторов.//Ж.: Мехатроника, автоматизация, управление. № 9. 2012. С.44-48.

82. Никифоров С.О. и др. Управление и применение роторных мехатронных манипуляционных систем // Ж.: Автоматизация и современные технологии, изв-во "Машиностроение" (Москва). №6. 2012. С.10-16.

83. Никифоров С.О. Циклоидальные манипуляторы: новые схемы, механика, управление, применение//Вестник машиностроения. 2002. №6. С.3-8.

84. Каракулин Е.М., Брейдо И.В. Универсальный контроллер для управления мехатронными объектами//Ж.: Автоматизация и современные технологии. №8. 2012. С.14-17.

85. Подураев Ю.В. Мехатроника: основы, методы, применение. -2-е изд. -A4: Машиностроние, 2007.- 256 с.

86. Tolocka R.T. Adaptive mechanics for mechatronics// The 22th Working Meeting of the IFToMM PC for Standardization of Terminology, June, 2008. -Villeurbanne, France, Lyon: IFToMM, 2008. -p. 25-29.

87. Трамперт В. AVR-RISC микроконтроллеры. 2006. 464 с.

88. Корнеев В.В., Киселев A.B. Современные микропроцессоры. 3-е изд., СПб.: БХВ-Петербург, 2003.-740 с.

89. Кузин A.B., Жаворонков М.А. Микропроцессорная техника. Изд-во "Академия". 2010. 304 с.

90. Шишков O.B. Основы микропроцессорной техники: учебное пособие, г. Саранск.: Изд-во Мордовского университета, 2003.-76с.

91. Булатников A.A., Булатникова И.Н. Цифровая интерполяция кинематических траекторий// Монография.-Краснодар: Издательский Дом -Юг. 2013.-156 с.

92. Платонов А.К. Проблемы разработки микропроцессорных средств для систем управления роботов// Микропроцессорные средства и системы. 1984. №1. С.22-27.

93. Corwell K.P. et al/ Computers, complexity and controversy // IEEE Computer. 1985.- Vol. 18.№4. - p. 8-19.

Приложение П1. Программа эмуляция алгоритма цифровой круговой интерполяции на языке Delphi.

R:=y-2*abs(х)-1; for N:=0 to 1 do Begin repeat

if R>=0 then

Begin x:=x+sign(y);

R:=R-2*abs(x)-1; End

Else

Begin

X:=x+sign(y); у:=y-sign(x);

R:=R-2*abs(x) + 2*abs(y)-l; End;

RichEditl.Lines.Add(floattostr(X) + ' ' + floattostr(Y) + ' ' +

floattostr(R));

until abs (x) >= abs(y);

RichEditl.Lines.Add('--------------------------' ) ;

T: =R+abs(x)+abs (y) ; repeat

if T >= 0 then

Begin

x:=x+sign(y); *

y:=y-sign (x);

T:=T+2*abs(y)-2*abs(x)-1; End Else Begin у:=y-sign(x);

T:=T+2*abs(у)-1; End;

RichEditl.Lines.Add(floattostr(X)+ 1 ' + floattostr(Y) + ' ' + floattostr(T)); until у = 0;

RichEditl. Lines. Add ( 1--------------------------' ) ;

S:=T+2*abs (X); repeat

if S >= 0 then begin

у:=y-sign(x); s:=s-2*abs(у)-1;

End Else Begin x:=x+sign(y);

y:=y-sign(x);

S:=s+2*abs(x)-2*abs (y)-1; End;

RichEditl.Lines.Add(floattostr(X)+ ' ' + floattostr(Y)

floattostr(S) ) ;

until abs(x) <= abs(y);

RichEditl .Lines .Add(1--------------------------') ;

P:=S+abs(X)+abs (Y); repeat

if P>=0 then

Begin x:=x+sign(y); y:=y-sign(x);

P:=P+2*abs(x)-2*abs (y) -1; End Else Begin x:=x+sign(y);

P:=P+2*abs(x)-1; End;

RichEditl.Lines.Add(floattostr(X)+ ' ' + floattostr(Y) floattostr(P) ) ; Until X = 0;

RichEditl .Lines .Add ('--------------------------') ;

P:=P+2*abs (y); if NO 1 then R:=p; End;

Приложение П2. Листинг выходных результатов цифровой интерполяции окружности (радиусом г=20).

Координата X Координата У Оценочная функция Я

1 20 16

2 20 11

3 20 4

4 20 -5

5 19 22

6 19 9

7 19 -6

8 18 13

9 18 -6

10 17 7

11 17 -16

12 16 -9

13 15 -6

14 14 -7

15 13 16

16 12 7

17 11 -6

17 10 13

18 9 -6

18 8 9

19 7 -16

19 6 -5

19 5 4

20 4 -29

20 3 -24

20 2 -21

20 1 -20

20 0 -21

20 -1 16

20 -2 11

20 -3 4

20 -4 -5

19 -5 22

19 -6 9

19 -7 -6

18 -8 13

18 -9 -6

17 -10 7

17 -11 -16

16 -12 -9

15 -13 -6

14 -14 -7

13 -15 16

12 -16 7

11 -17 -6

10 -17 13

Координата X Координата У Оценочная функция Б

9 -18 -6

8 18 9

7 -19 -16

6 -19 -5

5 -19 4

4 -20 -29

3 -20 -24

2 -20 -21

1 -20 -20

0 -20 -21

-1 -20 16

-2 -20 11

-3 -20 4

-4 -20 -5

-5 -19 22

-6 -19 9

-7 -19 -6

-8 -18 13

-9 -18 -6

-10 -17 7

-11 -17 -16

-12 -16 -9

-13 -15 -6

-14 -14 -7

-15 -13 16

-16 -12 7

-17 -11 -6

-17 -10 13

-18 -9 -6

-18 -8 9

-19 -7 -16

-19 -6 -5

-19 -5 4

-20 -4 -29

-20 -3 -24

-20 -2 -21

-20 -1 -20

-20 0 -21

-20 1 16

-20 2 11

-20 3 4

-20 4 -5

-19 5 22

-19 6 9

-19 7 -6

-18 8 13

-18 9 -6

-17 10 7

-17 11 -16

Координата X Координата Y Оценочная функция F

-16 12 -9

-15 13 -6

-14 14 -7

-13 15 16

-12 16 7

-11 17 -6

-10 17 13

-9 18 -6

-8 18 9

-7 19 -16

-6 19 -5

-5 19 4

-4 20 -29

-3 20 -24

-2 20 -21

-1 20 -20

0 20 -21

Приложение ПЗ. Программа эмуляции алгоритма цифровой

интерполяции циклоиды на языке Delphi.

D:=-20;

ХС:=0;

YC:=0;

R:=y-2*abs (х)-1;

RichEditl.Lines.Add('XC YC D R X Y'); repeat

D:=D-A; if R >=0 then Begin D:=D+abs(y); X:=X+sign(Y); R:=R-2*abs(x)-1; End Else Begin

D:=D+abs(x)+abs(y); x:=x+sign (x); у:=y-sign(y);

R:=R-2*abs(x)+2*abs(у)-1; YC:=YC+1; if D>=0 then begin

XC:=XC+1; D:=D-A; End; End;

RichEditl.Lines.Add(floattostr(XC)+ ' 1 + floattostr(YC)+ 1

floattostr(D) + 1 • + floattostr(R) + 1 ' + floattostr(X)

' + floattostr(Y));

Chartl.Series[0].AddXY(XC, YC) ;

until abs (x)>=abs(y);

R:=R+abs(x)+abs(y);

repeat

D:=D-A; if R >= 0 then Begin

D:=D+abs(x)+abs(y); X:=X+sign(y); Y:=Y-sign(X); R:=R-2*abs(x)+2*abs(y)-1; Yc:=Yc+l End Else Begin

D:=D+abs(x); Y:=Y-sign(X); R:=R+2*abs(y)-1; Xc:=Xc+l; Yc:=Yc+l;

End; if D >= 0 then begin Xc:=Xc+l;

D:=D-A; End;

RichEditl.Lines.Add(floattostr(XC)+ 1 ' + floattostr(YC)+ '

floattostr(D) + 1 ' + floattostr(R) + ' ' + floattostr(X)

' + floattostr(Y));

Chartl.Series[0].AddXY(XC, YC);

until y = 0;

R:=R+2*abs(x) ; repeat

D:=D-A; if R >= 0 Then Begin

D:=D+abs(x); Y:=Y-sign(x); R:=R-2*abs(y)-1; Yc:=Yc+l; Xc:=Xc+l; End

Else Begin

D:=D+abs(x)+abs(y); X:=X+sign(Y);

Y:=Y-sign(X); R:=R+2*abs(x)-2*abs (y)-1; Yc:=Yc+l; Xc:=XC+2; if D>=0 then

Begin Xc:=Xc+l;

D:=D-A; End;

End;

RichEditl.Lines.Add(floattostr(XC) + ' ' + floattostr(YC)+ '

floattostr(D) + 1 1 + floattostr(R) + 1 ' + floattostr(X)

' + floattostr(Y));

Chartl.Series[0].AddXY(XC, YC) ;

until (abs(y) >= abs(x));

R:=R+Abs(x)+abs(y); repeat Begin D:=D-A; if R>=0 then Begin

D:=D+abs(x)+abs(y); X:=X+Sign(Y); Y:=Y-Sign(X); R:=R+2*abs(x)-2*abs(Y)-1; Xc:=Xc+2; Yc:=Yc+l;

If D >=0 then Begin Xc:=Xc+l;

D:=D-A; End;

End Else Begin

D:=D+abs(y); X:=X+sign(y); R:=R+2*abs (x)-1; Xc:=Xc+2;

End;

End;

Chartl.Series[0].AddXY(XC, YC);

RichEditl.Lines.Add(floattostr(XC)+ ' • + floattostr(YC)+ ' floattostr(D) + ' ' + floattostr(R) + ' ' + floattostr(X) ' + floattostr(Y)); untilx = 0; end;

Приложение П4. Программа эмуляции алгоритма цифровой интерполяции эпициклоиды (и гипоциклоиды) на языке Delphi.

flpos:=1;

x:=strtoint(edtx.Text);

y:=strtoint(edty.Text);

N:=0;

D:=0;

Xs:=0;

Ys:=-10;

R:=abs(y)-2*abs(x); S:=abs(ys)-2*abs (xs); For i:=l to 2 do Begin repeat

if R>=0 then Begin

D:=D-abs(y); x:=x+sign (y);

R:=R-2*abs(x); End Else Begin

D:=D-abs(x)-abs(y); x:=x+sign (y); y:=y-sign(x);

R:=R-2*(abs(x)-abs(y)); End;

RichEditl.Lines.Add( 'X = ' + inttostr(x) + '; Y = ' + inttostr(y) +

1; R = 1 + inttostr(R));

subCircl;

until abs (x)>=abs(y);

RichEditl. Lines .Add ('-----------Stage 1----------------') ;

R:=R+abs(x)+abs(y); Repeat if r>=0 then Begin

D:=D-abs(x)-abs(y); x:=x+sign(y); y:=y-sign (x);

R:=R+2*(abs(y)-abs(x))-1; End

Else ?

Begin

D:=D-abs(x); y:=y-sign (x);

R:=R+2*abs(у)-1; End;

RichEditl.Lines .Add (1X = ' + inttostr(x) + '; Y = ' + inttostr(y) '; R = ' + inttostr(R));

subCircl; Until abs (y) = 0;

RichEditl.Lines. Add ('-----------Stage 2---------------') ;

R:=R+2*abs(x);

Repeat

if R>=0 then ^

Begin

D:=D-abs(x); y:=y-sign(x);

R:=R-2*abs(y)-1; End Else Begin

D:=D-abs(x)-abs(y); x:=x+sign(y); y:=y-sign(x);

R:=R+2*(abs(x)-abs(y))-1; End;

RichEditl.Lines.Add("X = ' + inttostr(x) + '; Y = 1 + inttostr(y)

1; R = ' + inttostr(R));

subCircl;

until abs (y)>=abs(x);

RichEditl. Lines .Add ('----------Stage 3---------------' ) ;

R:=R+abs(x)+abs(y); repeat

if R>=0 then Begin

D:=D-abs(x)-abs(y); x:=x+sign (y); y:=y-sign(x);

R:=R+2*(abs(x)-abs(y))-1; End

Else Begin

D: =D-abs(y>; x:=x+sign(y);

R:=R+2*abs(x) -1; End;

RichEditl.Lines.Add('X = ' + inttostr(x) + '; Y = ' + inttostr(y)

1; R = ' + inttostr(R));

subcircl;

until abs(x) = 0;

R:=R+2*abs(y); RichEditl.Lines.Add(1-end of stage l-1); if i = 1 then

*

N:=N+1; End;

Приложение П5. Программа эмуляции алгоритма цифровой интерполяции эвольвенты окружности на языке Delphi (вариант 1).

procedure TForml.btnOkClick(Sender: TObject); begin

//=================================

A:=strtofloat(edtA.Text); E:=A-2; R:=A-1; S: =1 ; T:=-l; U:=A; W: =0 ; X: =0 ; y:=A; F:=-l; P:=0; RW:=0; RU:=A;

//=================================

Evolventa; end;

procedure TForml.Evolventa;

begin

repeat

If X>=Y then Begin

If S=1 then Begin S: =0; R:=R+x+y; End;

if R>=0 then

Begin P:=l;

dx:=l; dY:=-l; x:=x+l; y:=y-l;

R:=R+2*(y-x)-1; End Else Begin P:=0;

dY:=-l; y:=y-l;

R:=R+2*y-l; End; if Y = 0 then Exit;

End Else Begin if R>=0 then Begin P:=0;

Dx:=l; Dy:=0; x:=x+l;

R:=R-2*(x)-1; End Else Begin P:=l;

dx:=l; dy:=-l; x:=x+l; y:=y-l;

R:=R+2*(y-x)-1; End;

End; dW:=x; dU:=y;

F:=F+u*dY+w*dX;

Ri chEditl. Lines. Add ('X = ' + f loattostr (x) + ' Y = 1 + floattostr(y) + ' R = ' + floattostr(R) + ' W = ' + floattostr(w) + ' U = 1 + floattostr(u) + 1 F = ' + floattostr(F)); until F<0;

LinearInterpolation; end;

procedure TForml.Linearlnterpolation;

begin

repeat

kw:=1;

ku:=l;

ifdW>=dU then

Begin //==== if T <> 1 then

E:=E+dW-2 *dU-RU+2 *RW; W:=W+1; if E>= 0 then Begin

KU:=0; E:=E-RW; End Else Begin

u:=u+l;

E:=E+Rw; End; E:=E+dW-2*dU; T:=l; End //==== Else

Begin //==== if TO -1 then

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