Модели, методы, алгоритмы и программные решения вычислительных машин, комплексов и систем
Покупка
Основная коллекция
Тематика:
Общая информатика
Издательство:
НИЦ ИНФРА-М
Год издания: 2020
Кол-во страниц: 268
Дополнительно
Вид издания:
Учебник
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-16-016656-8
ISBN-онлайн: 978-5-16-109241-5
Артикул: 737092.01.95
Учебник предназначен для изучения принципов работы микроЭВМ IBM на основе микропроцессоров, логического программирования, программирования микроконтроллерной базы на основе платформы Arduino. Раздел лабораторных работ содержит описание создания дополненной реальности в конструкторе (AR) ELIGOVISION TOOLBOX (EV TOOLBOX). В учебнике проводится ознакомление с интеллектуальными системами и технологиями в инженерии знаний. Описано моделирование работ с основными объектами, процессами и явлениями, связанными с интеллектуальными информационными системами и использованием методов их научного исследования. Дополнительно прилагаются практические задания и методы их решения с использованием алгоритмов Дейкстры, Флойда - Уоршелла, Хаффмана.
Учебник разработан с учетом профессиональных стандартов, сопряженных с профессиональной деятельностью выпускника: «Программист», «Администратор баз данных», «Специалист по информационным системам», «Руководитель проектов в области информационных технологий», «Специалист по тестированию в области информационных технологий», «Технический писатель», «Системный администратор информационно-коммуникационных систем», «Специалист по администрированию сетевых устройств информационно-коммуникационных систем».
Предназначен для бакалавров направлений подготовки 09.03.01 «Информатика и вычислительная техника»; 09.03.02 «Информационные системы и технологии»; 09.03.04 «Программная инженерия», с учетом требования профессиональных стандартов.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
МОДЕЛИ, МЕТОДЫ, АЛГОРИТМЫ И ПРОГРАММНЫЕ РЕШЕНИЯ ВЫЧИСЛИТЕЛЬНЫХ МАШИН, КОМПЛЕКСОВ И СИСТЕМ С.В. ВЕРЕТЕХИНА В.Л. СИМОНОВ О.Л. МНАЦАКАНЯН Москва ИНФРА-М 2020 УЧЕБНИК
УДК 004.7(075.8) ББК 32.97я73 В31 Веретехина С.В. В31 Модели, методы, алгоритмы и программные решения вычислительных машин, комплексов и систем : учебник / С.В. Веретехина, В.Л. Симонов, О.Л. Мнацаканян. — Москва : ИНФРА-М, 2020. — 306 с. : ил. — (Высшее образование: Бакалавриат). ISBN 978-5-16-016656-8 (print) ISBN 978-5-16-109241-5 (online) Учебник предназначен для изучения принципов работы микроЭВМ IBM на основе микропроцессоров, логического программирования, программирования микроконтроллерной базы на основе платформы Arduino. Раздел лабораторных работ содержит описание создания дополненной реальности в конструкторе (AR) ELIGOVISION TOOLBOX (EV TOOLBOX). В учебнике проводится ознакомление с интеллектуальными системами и технологиями в инженерии знаний. Описано моделирование работ с основными объектами, процессами и явлениями, связанными с интеллектуальными информационными системами и использованием методов их научного исследования. Дополнительно прилагаются практические задания и методы их решения с использованием алгоритмов Дейкстры, Флойда – Уоршелла, Хаффмана. Учебник разработан с учетом профессиональных стандартов, сопряженных с профессиональной деятельностью выпускника: «Программист», «Администратор баз данных», «Специалист по информационным системам», «Руководитель проектов в области информационных технологий», «Специалист по тестированию в области информационных технологий», «Технический писатель», «Системный администратор информационно-коммуникационных систем», «Специалист по администрированию сетевых устройств информационно-коммуникационных систем». Предназначен для бакалавров направлений подготовки 09.03.01 «Информатика и вычислительная техника»; 09.03.02 «Информационные системы и технологии»; 09.03.04 «Программная инженерия», с учетом требования профессиональных стандартов. УДК 004.7(075.8) ББК 32.97я73 Р е ц е н з е н т ы: Вольфенгаген В.Э., доктор технических наук, профессор, профессор кафедры кибернетики Национального исследовательского ядерного института «МИФИ» (г. Москва); Миронов П.Н., кандидат технических наук, начальник отдела аппаратно-программных разработок АО «Государственный научно-исследовательский институт приборостроения» (г. Москва) ISBN 978-5-16-016656-8 (print) ISBN 978-5-16-109241-5 (online) © Веретехина С.В., Симонов В.Л., Мнацаканян О.Л., 2020
Оглавление 1. Принципы построения ПЭВМ 7 1.1.Взаимодействие устройств по системной магистрали 7 1.2. Центральный процессор 9 1.3. Микросхемы памяти 15 1.3.1. Оперативное запоминающее устройство (ОЗУ) 18 1.3.2. Постоянное запоминающее устройство (ПЗУ) 19 1.4. Микросхемы процессоров 22 1.4.1. Процессор Intel Core i7 24 1.4.2. Однокристальная система Texas Instruments OMAP5430 34 1.4.3. Микроконтроллер Atmel ATmega128 35 1.4.4. Микроконтроллер 1887ВЕ7Т 38 1.5. Компьютерные шины 42 1.5.1. Ширина шины 45 1.5.2. Синхронизация шины 46 1.5.3. Арбитраж шины 51 1.5.4. Принцип работы шины 55 1.6. Системы RISC и CISC 58 1.7. Принципы проектирования современных компьютеров 59 1.8. Параллелизм на уровне команд 61 1.8.1. Конвейеры 61 1.8.2. Суперскалярные архитектуры 62 1.9. Параллелизм на уровне процессоров 65 1.9.1 Матричные компьютеры 65 1.9.2. Мультипроцессоры 68 1.9.3. Мультикомпьютеры 69 1.10. Иерархическая структура памяти 70 1.11. Ввод-вывод 71 1.11.1. Шины 71 1.11.2. Шины PCI и PCIe 74 1.12. Терминалы 76 1.12.1. Клавиатуры 76 1.12.2. Сенсорные экраны 78 1.12.3. Мониторы 80 1.13. Видеопамять 84 1.14. Мыши 85 1.15. Шлемы виртуальной реальности 87 1.16. 3D сканеры 88 1.17. Принтеры 91 1.17.1. Лазерные принтеры 91 1.17.2. Цветные принтеры 93 1.17.3. Струйные принтеры 94 1.17.4. Термографические принтеры 96
1.17.5. 3D принтеры 96 Вопросы к главе 1 98 Библиографический список 99 2. Логическое программирование 100 2.1. Основные понятия 100 2.1.1. Алгоритмы и алгоритмические языки 100 2.2. Элементы математической логики и теории нечетких множеств 102 2.2.1. Исчисление предикатов первого порядка 102 2.2.2. Прикладное исчисление нечетких предикатов 103 2.2.3. Дедуктивные вопросы прикладного исчисления нечетких предикатов 105 2.3. Программирование на алгоритмическом языке ПРОЛОГ 108 2.3.1. Основные понятия языка ПРОЛОГ 109 2.3.2. Главное меню системы Турбо-Пролог 119 2.3.3. Основные режимы работы системы 120 2.3.4. Работа со списками 123 Вопросы к главе 2 128 Библиографический список 128 3. Реализация обучения программированию на базе программно-аппаратных средств в соответствии с требованиями новых образовательных стандартов (ФГОС 3++) 129 3.1. Программирование. Знакомство с микроконтроллерной базой на основе платформы «Arduino» 130 3.1.1. Датчики информации, используемые при построении схем 131 3.1.2. Пример построения схем с использованием датчиков информации 133 3.1.3. Моделирование в среде Tinkercad.com 134 Вопросы к главе 3 140 Библиографический список 140 4. Лабораторные работы в конструкторе (AR) ELIGOVISION TOOLBOX (EV TOOLBOX) 142 4.1. Понятие дополненной реальности в конструкторе (AR) ELIGOVISION TOOLBOX (EV TOOLBOX) 142 4.2. Интерфейс EV TOOLBOX 142 4.2.1. Экран приветствия 142 4.2.2. Основной экран 143 4.2.3. Панель «Проект» 144 4.2.4. Сценарий 145 4.2.5. События, действия и свойства объектов 145 4.2.6. Создание нового блока объекта 146
4.2.7. Добавление событий и действий объекта 147 4.2.8. Соединение 147 4.2.9. Соединение одного события с несколькими действиями 148 4.2.10. Различные варианты построения сценария 148 4.2.11. Приоритеты соединений 149 4.2.12. Свойства 149 4.3. Поддержка формата FBX 150 4.4. Настройка среды окружения Android 150 4.4.1. Установка JDK 150 4.4.2. Установка Android SDK 152 Лабораторная работа № 1 158 Вопросы к главе 4 162 5. Интеллектуальные системы и технологии в инженерии знаний 163 5.1. Введение 163 5.2. Понятие интеллектуальной информационной системы 164 5.3. Направления исследований в области интеллектуальных систем 164 5.4. Классификация интеллектуальных систем 165 5.5. Понятие интеллектуальной информационной технологии 173 5.6. Архитектура интеллектуальных систем 176 5.6.1. Свойства знаний 176 5.6.2. Классификация знаний 177 5.6.3. Базы знаний 180 5.6.4. Архитектура интеллектуальных систем 182 5.7. Применение интеллектуальных систем и технологий в профессиональной деятельности 184 5.7.1. Организация диалога между человеком и интеллектуальной системой 184 5.8. Разработка сложных предмето-ориентированных интеллектуальных систем на основе естественно-языкового интерфейса 203 5.8.1. Сравнительный анализ ЕЯ-интерфейсов и традиционных интерфейсов к структурированным источникам данных 204 5.8.2. Критерии качества ЕЯ-интерфейсов 208 5.8.3. Критерии стоимости построения и сопровождения ЕЯ-интерфейса 208 5.8.4. Вопросы портируемости 209 5.8.5. Основные составные части ЕЯ-интерфейсов 210 5.9. Работы с основными объектами, процессами и явлениями, связанными с интеллектуальными
системами, и использование методов их научного исследования 211 5.9.1. Модели принятия решения в условиях конфликта 214 5.9.2. Определение оптимальной интеллектуальной системы принятия решения и управления в условиях конфликта 220 5.10. Интеллектуальные системы и технологии в современной робототехнике 231 5.10.1. Интеллектуальные роботы 231 5.10.2. Архитектура интеллектуальных роботов 231 5.10.3. Технологии искусственного интеллекта для интеллектуальных роботов 232 5.10.4. Учебные роботы LEGO Mindstorms Education EV3 235 5.10.5. Нечеткие множества и нечеткая логика 236 5.10.6. Нечеткие множества 238 5.10.7. Нечеткая логика 241 5.10.8. Нанороботы 248 5.10.9. Роль нанотехнологий при разработке интеллектуальных роботов 248 5.10.10. Обзор научно-исследовательских разработок по нанороботам 251 Заключение 257 Вопросы к главе 5 258 Библиографический список 258 Приложение 1: Задание по теме «Алгоритм Дейкстры» 267 Приложение 2: Задание по теме «Алгоритм Флойда – Уоршелла» 277 Приложение 3: Задание по теме «Данные дистанционного зондирования Земли (ДДЗ) и спектральное представление цвета» 280 Приложение 4: Задания по теме «Технология распознавания психофизиологического состояния человека» 285 Приложение 5: Нравственно-этические и правовые требования в отношении разработчиков и производителей юнитов искусственного интеллекта 289 Приложение 6: Задание по теме «Алгоритм кодирования Хаффмана» 297
1. Принципы построения ПЭВМ ПЭВМ (Персональная Электронная Вычислительная Машина) строится по принципу соединения составных частей через общую системную магистраль. Общая системная магистраль - набор шин, по которым передаются данные, места нахождения этих данных (адреса) и управляющие сигналы. Структура универсальной ПЭВМ показана на рисунке 1.1. ПЭВМ состоит их следующих блоков: ● микропроцессор (МП); ● оперативное запоминающее устройство (ОЗУ); ● постоянное запоминающее устройство (ПЗУ); ● сопряжения устройств (контроллеры). Рисунок 1.1 – Структура универсальной ПЭВМ Назначение ПЭВМ - обрабатывать данные по команде пользователя. В универсальной ПЭВМ через блоки сопряжения подключаются устройства ввода-вывода информации: дисплеи, печатающие устройства, графопостроители, клавиатуры, устройства внешней памяти для хранения программ и данных на магнитных дисках и т. д. 1.1. ВЗАИМОДЕЙСТВИЕ УСТРОЙСТВ ПО СИСТЕМНОЙ МАГИСТРАЛИ Рассмотрим процесс взаимодействия между элементами по системной магистрали ПЭВМ. К системной магистрали подсоединены разные блоки: МП, ОЗУ, ПЗУ, порты контроллеров устройств ввода-вывода. Для возможности взаимодействия в каждый момент времени к системной магистрали подсоединен один ведущий блок, (например МП) и один ведомый блок. Блоки ПЭВМ построены на тристабильной логике (тристабильные логические микросхемы - микросхемы, которые могут переводить свои выводы в три устойчивых состояния: логического нуля, логической единицы и высокоимпедансное). Все ведомые блоки имеют уникальные адреса. Ведущий блок всегда начинает общение с выдачи на системную магистраль адреса информации об адресе. Все ведомые блоки, чей адрес не совпадает с выставленным,
переводят свои выводы в высокоимпедансное состояние, то есть, отключаются. Блок, чей адрес совпадает с запросом ведущего блока, выдает на магистраль данных содержащиеся по этому адресу данные или принимает посланные ведущим блока. Для указания направления обмена информацией и моменты приема информации вырабатываются управляющие сигналы. Адресные и управляющие сигналы всегда направлены от ведущего блока, передача данных может быть в обоих направлениях (двунаправленная), но есть ведомые блоки, которые только принимают информацию. Принцип реализации IBM PC AT (первая форма реализации общей системной магистрали ПЭВМ) заключается в том, что для всех этих сигналов применяют параллельно расположенные проводники. Общую системную магистраль разделяют на три части: магистраль адреса, магистраль данных и магистраль управления (рис. 1.2). Общее число проводников магистралей определяется длинами слов адреса (разрядностью магистрали адреса) и данных (разрядностью магистрали данных). Принцип реализации IBM PC XT (вторая форма реализации общей системной магистрали ПЭВМ) заключается в том, что сигналы адреса и данных передаются одни за другими, разделенными по времени (мультиплексированная по времени системная магистраль) [1]. Рисунок 1.2 – Формы организации общей системной магистрали Во время выполнения операции записи (передача информации к ведомому блока) ведущий блок выставляет адрес и данные. Ведомый блок через необходимое для получения адреса и протекания внутренних процессов время (время обращения) принимает информацию с магистрали данных.
1.2. ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР Устройство центрального процессора показано на рисунке 1.3. Тракт данных состоит из регистров (обычно от 1 до 32), арифметико-логического устройства (АЛУ) и нескольких соединительных шин. Содержимое регистров поступает во входные регистры АЛУ, которые на рисунке 1.3 обозначены буквами А и В. В них находятся входные данные АЛУ, пока АЛУ проводит вычисления [2]. АЛУ выполняет сложение, вычитание и другие простые операции над входными данными и помещает результат в выходной регистр. Содержимое этого выходного регистра может записываться обратно в один из регистров или сохраняться в памяти, если это необходимо. Не во всех архитектурах есть регистры А, В и выходные регистры. На рисунке 1.3 представлена операция сложения, но АЛУ может выполнять и другие операции. Команды можно разделить на две группы: команды типа регистр-память и типа регистр-регистр. Рисунок 1.3 – Устройство центрального процессора
Команды первого типа вызывают слова из памяти, помещают их в регистры, где они используются в качестве входных данных АЛУ. Слова – это такие элементы данных, которые перемещаются между памятью и регистрами, размер слова обычно соответствует разрядности регистра данных. Так, у 16-разрядных микропроцессоров 8086 и 8088 слово имеет длину 16 бит, у 32-разрядных микропроцессоров – 32 бита, а у 64разрядных микропроцессоров – 64 бита. Словом может быть целое число. Другие команды этого типа помещают регистры обратно в память. Команды второго типа вызывают два операнда из регистров, помещают их во входные регистры АЛУ, выполняют над ними какую-нибудь арифметическую или логическую операцию и переносят результат обратно в один из регистров. Этот процесс называют циклом тракта данных. В какой-то степени он определяет, что может делать машина. Современные компьютеры оснащаются несколькими АЛУ, работающими параллельно и специализирующимися на разных функциях. Чем быстрее происходит цикл тракта данных, тем быстрее компьютер работает. Выполнение команд Центральный процессор выполняет каждую команду за несколько шагов. Он делает следующее: Шаг 1. Вызывает очередную команду из памяти и помещает ее в регистр команд. Шаг 2. После декодирования текущей команды (иногда и после её выполнения) меняет положение счетчика команд, который после этого указывает на следующую команду. Шаг 3. Определяет тип вызванной команды. Шаг 4. Если команда использует слово из памяти, определяет, где находится это слово. Шаг 5. Помещает слово, если это необходимо, в регистр центрального процессора (бывают команды, которые требуют загрузки из памяти целого множества слов и их обработки в рамках единственной команды). Шаг 6. Выполняет команду. Шаг 7. Переходит к Шагу 1, чтобы начать выполнение следующей команды. Такая последовательность шагов (выборка – декодирование – исполнение) является основой работы всех компьютеров. Описание работы центрального процессора можно представить в виде программы. В листинге 1.1 приведена такая программа-интерпретатор на языке Java. В описываемом компьютере есть два регистра: счетчик команд (РС) с адресом предыдущей команды и аккумулятор (АС), в котором хранятся результаты арифметических операций. Кроме того, имеются внутренние регистры, в которых хранится текущая команда (instr), тип текущей команды (instr_type), адрес операнда команды (data_loc) и сам операнд (data). Каждая команда содержит один адрес ячейки памяти. В