Конспект лекций архитектура аппаратных средств. 10.-Конспекты-лекций.-ОП.02-Арх-итектура-аппаратных-средств.-09.. Конспекты лекций по дисциплине
Скачать 0.6 Mb.
|
ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ И НАУКИ ГОРОДА МОСКВЫ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ГОРОДА МОСКВЫ «МОСКОВСКИЙ АВТОМОБИЛЬНО-ДОРОЖНЫЙ КОЛЛЕДЖ ИМ. А. А. НИКОЛАЕВА» КОНСПЕКТЫ ЛЕКЦИЙ по дисциплине ОП.02 АРХИТЕКТУРА АППАРАТНЫХ СРЕДСТВ Специальность: 09.02.07 Информационные системы и программирование Москва 2020 Составители (авторы): Антошков А.А, - преподаватель высшей квалификационной категории ГБПОУ МАДК им. А.А. Николаева ПОЯСНИТЕЛЬНАЯ ЗАПИСКА Цель и планируемые результаты освоения дисциплины: Образовательная дисциплина ОП.02 Архитектура аппаратных средств относится к дисциплинамматематического и общего естественнонаучного цикла и направлена на формирование общих и профессиональных компетенций. В результате освоения дисциплины обучающийся осваивает элементы компетенций: Код Наименование общих компетенций ОК 1 Выбирать способы решения задач профессиональной деятельности, применительно к различным контекстам. ОК 2 Осуществлять поиск, анализ и интерпретацию информации, необходимой для выполнения задач профессиональной деятельности. ОК 3 Планировать и реализовывать собственное профессиональное и личностное развитие. ОК 4 Работать в коллективе и команде, эффективно взаимодействовать с коллегами, руководством, клиентами. ОК 5 Осуществлять устную и письменную коммуникацию на государственном языке с учетом особенностей социального и культурного контекста. ОК 9 Использовать информационные технологии в профессиональной деятельности. ОК 10 Пользоваться профессиональной документацией на государственном и иностранном языке. ОК 11 Планировать предпринимательскую деятельность в профессиональной сфере. ПК 5.2 Получать информацию о параметрах компьютерной системы ПК 5.4 Производить оценку информационной системы для выявления возможности ее модернизации ПК 4.1 Осуществлять инсталляцию, настройку и обслуживание программного обеспечения компьютерных систем. ПК 4.4 Обеспечивать защиту программного обеспечения компьютерных систем программными средствами. Информационное обеспечение реализации программы Для реализации программы библиотечный фонд образовательной организации должен иметь печатные и/или электронные образовательные и информационные ресурсы, рекомендуемых для использования в образовательном процессе Основные источники: 1) Максимов Н.В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем: Учебник. – М.: ФОРУМ, 2017. 2) Мелехин В.Ф., Павловский Е.В. Вычислительные машины, системы и сети: Учебник. М.: ACADEMA, 2016. Дополнительные источники: 1) Пятибратов А.П., Гудыно П.П. Вычислительные системы, сети и телекоммуникации. – М.: Финансы и статистика, 2014. 2) Таненбаум Э. Архитектура компьютера – СПб.: Питер, 2014. 3) Хорошевский В.Г. Архитектура вычислительных систем. Москва: МГТУ им. Баумана, 2014. Электронные издания (электронные ресурсы) 1. https://infourok.ru/kurs-lekciy-po-discipline-tehnicheskie-sredstva- informatizacii-421652.html 2. http://www.ict.edu.ru/ ПЕРЧЕНЬ ЛЕКЦИЙ № лекци и Темы лекций Тема 1.1 Информация. Кодирование и обработка информации в ЭВМ 1 Определение и классификация информации. Измерение количества информации. Кодирование символьной информации. 2 Типы и структуры данных. Передача данных Двоичное кодирование звуковой и мультимедиа информации. Сжатие информации. Кодирование видеоинформации. Тема 1.2 Арифметические основы ЭВМ 3 Системы счисления. Непозиционные и позиционные системы счисления. Свойства позиционных систем счисления. Тема 1.3 Логические основы ЭВМ, элементы и узлы 4 Логические операции и базовые элементы компьютера. Вентили. Таблицы истинности. Тема 1.4 Алгоритмы и программы 5 Понятие алгоритма. Классификация, структура и свойства алгоритмов. Базовые структуры алгоритмов. Тема 2.1 Базовые понятия и основные принципы построения архитектур вычислительных систем 6 Основные функциональные элементы ЭВМ. Общее устройство и структура вычислительной системы. 7 Базовые понятия архитектуры вычислительных систем. Основные принципы построения архитектур вычислительных систем. Принципы Фон Неймана. Тема 2.2 Типы вычислительных систем и их архитектурные особенности систем 8 Классификация вычислительных систем и их характеристики. Архитектуры, основанные на использовании общей шины. Тема 2.3 Организация и принцип работы основных логических блоков компьютерных систем 9 Арифметико-логическое устройство и устройство управления: назначение, принцип работы. Процессор: устройство и принцип работы. Системы команд и классы процессоров: СISC, RISC, MISC, VLIM. 10 Основные принципы построения оперативной памяти. Иерархическая организация памяти. Стратегии управления памятью. Принципы работы кэш-памяти. 11 Виды интерфейсов. Внутренние и внешние интерфейсы. Тема 2.4 Управление ресурсами вычислительных систем 12 Основные компоненты программного обеспечения компьютерных систем. Обеспечение защиты программного обеспечения компьютерных систем программными средствами ЛЕКЦИЯ 1 Определение и классификация информации. Измерение количества информации. Кодирование символьной информации. План. 1 Определение и классификация информации 2. Измерение количества информации 3. Кодирование символьной информации За единицу количества информации принимается такое количество информации, которое содержит сообщение, уменьшающее неопределенность в два раза. Такая единица названа "бит". Для информации существуют свои единицы измерения информации. Если рассматривать сообщения информации как последовательность знаков, то их можно представлять битами, а измерять в байтах, килобайтах, мегабайтах, гигабайтах, терабайтах и петабайтах. Давайте разберемся с этим, ведь нам придется измерять объем памяти и быстродействие компьютера. Бит Единицей измерения количества информации является бит – это наименьшая (элементарная) единица. 1бит – это количество информации, содержащейся в сообщении, которое вдвое уменьшает неопределенность знаний о чем-либо. Байт Байт – основная единица измерения количества информации. Байтом называется последовательность из 8 битов. Байт – довольно мелкая единица измерения информации. Например, 1 символ – это 1 байт. Производные единицы измерения количества информации 1 байт=8 битов 1 килобайт (Кб)=1024 байта =210 байтов 1 мегабайт (Мб)=1024 килобайта =210 килобайтов=220 байтов 1 гигабайт (Гб)=1024 мегабайта =210 мегабайтов=230 байтов 1 терабайт (Гб)=1024 гигабайта =210 гигабайтов=240 байтов Запомните, приставка КИЛО в информатике – это не 1000, а 1024, то есть 210 . Методы измерения количества информации Итак, количество информации в 1 бит вдвое уменьшает неопределенность знаний. Связь же между количеством возможных событий N и количеством информации I определяется формулой Хартли: N=2i. Алфавитный подход к измерению количества информации При этом подходе отвлекаются от содержания (смысла) информации и рассматривают ее как последовательность знаков определенной знаковой системы. Набор символов языка, т.е. его алфавит можно рассматривать как различные возможные события. Тогда, если считать, что появление символов в сообщении равновероятно, по формуле Хартли можно рассчитать, какое количество информации несет в себе каждый символ: I=log2N. Вероятностный подход к измерению количества информации Этот подход применяют, когда возможные события имеют различные вероятности реализации. В этом случае количество информации определяют по формуле Шеннона: , где I – количество информации, N – количество возможных событий, Pi – вероятность i-го события. 6. Кодирование информации различных видов 1.6.1. КОДИРОВАНИЕ ЧИСЕЛ. Используя n бит, можно записывать двоичные коды чисел от 0 до 2n-1, всего 2n чисел. 1) Кодирование положительных чисел: Для записи положительных чисел в байте заданное число слева дополняют нулями до восьми цифр. Эти нули называют незначимыми. Например: записать в байте число 1310 = 11012 Результат: 00001101 2) Кодирование отрицательных чисел:Наибольшее положительное число, которое можно записать в байт, - это 127, поэтому для записи отрицательных чисел используют числа с 128-го по 255-е. В этом случае, чтобы записать отрицательное число, к нему добавляют 256, и полученное число записывают в ячейку. 1.6.2. КОДИРОВАНИЕ ТЕКСТА. Соответствие между набором букв и числами называется кодировкой символа. Как правило, код символа хранится в одном байте, поэтому коды символов могут принимать значение от 0 до 255. Такие кодировки называют однобайтными. Они позволяют использовать 256 символов. Таблица кодов символов называется ASCII (American StandardCodeforInformationInterchange- Американский стандартный код для обмена информацией). Таблица ASCII-кодов состоит из двух частей: Коды от 0 до 127 одинаковы для всех IBM-PC совместимых компьютеров и содержат: коды управляющих символов; коды цифр, арифметических операций, знаков препинания; некоторые специальные символы; коды больших и маленьких латинских букв. Вторая часть таблицы (коды от 128 до 255) бывает различной в различных компьютерах. Она содержит: коды букв национального алфавита; коды некоторых математическихсимволов; коды символов псевдографики. В настоящее время все большее распространение приобретает двухбайтная кодировка Unicode. В ней коды символов могут принимать значение от 0 до 65535. 1.6.3. КОДИРОВАНИЕ ЦВЕТОВОЙ ИНФОРМАЦИИ. Одним байтом можно закодировать 256 различных цветов. Это достаточно для рисованных изображений типа мультфильмов, но не достаточно для полноцветных изображений живой природы. Если для кодирования цвета использовать 2 байта, можно закодировать уже 65536 цветов. А если 3 байта – 16,5 млн. различных цветов. Такой режим позволяет хранить, обрабатывать и передавать изображения, не уступающие по качеству наблюдаемым в живой природе. Из курса физики известно, что любой цвет можно представить в виде комбинации трех основных цветов: красного, зеленого, синего (их называют цветовыми составляющими). Если кодировать цвет точки с помощью 3 байтов, то первый байт выделяется красной составляющей, второй – зеленой, третий – синей. Чем больше значение байта цветовой составляющей, тем ярче этот цвет. Белый цвет – у точки есть все цветовые составляющие, и они имеют полную яркость. Поэтому белый цвет кодируется так: 255 255 255. (11111111 11111111 11111111) Черный цвет – отсутствие всех прочих цветов: 0 0 0. (00000000 00000000 00000000) Серый цвет – промежуточный между черным и белым. В нем есть все цветовые составляющие, но они одинаковы и нейтрализуют друг друга. Например: 100 100 100 или 150 150 150. (2-й вариант - ярче). Красный цвет – все составляющие, кроме красной, равны 0. Темно-красный: 128 0 0. Ярко-красный: 255 0 0. Зеленый цвет – 0 255 0. Синий цвет – 0 0 255. Вопросы для самопроверки 1. Что называется информацией. 2. Как можно записать информационные сообшения? 3. Как можно записать не текстовые вкличины ? ЛЕКЦИЯ 2 Типы и структуры данных. Передача данных Двоичное кодирование звуковой и мультимедиа информации. Сжатие информации. Кодирование видеоинформации.. План. 1. Контрольный опрос 2. Типы и структуры данных 3. Двоичное кодирование звуковой и мультимедиа информации. 4. Сжатие информации. Что такое структуры данных? Простыми словами, структура данных – это контейнер, который хранит информацию в определенном виде. Из-за такой «компоновки» она может быть эффективной в одних операциях и неэффективной в других. Цель разработчика – выбрать из существующих структур оптимальный для конкретной задачи вариант. Зачем нужны структуры данных? Данные являются самой важной сущностью в информатике, а структуры позволяют хранить их в организованной форме. Какую бы проблему вы не решали, вам приходится иметь дело с данными — будь то зарплата сотрудника, цены на акции, список покупок или даже простой телефонный справочник. В зависимости от ситуации данные должны храниться в некотором определенном формате. Структуры данных предлагают несколько вариантов таких размещений. 8 часто используемых структур Давайте сначала перечислим наиболее часто используемые структуры данных, а затем рассмотрим их одну за другой: 1. Массив (Array) 2. Стек (Stack) 3. Очередь (Queue) 4. Связный список (Linked List) 5. Дерево (Tree) 6. Граф (Graph) 7. Префиксное дерево (Trie) 8. Хэш-Таблица (Hash Table) Массивы Массив – это самая простая и наиболее широко используемая из структур. Стеки и очереди являются производными от массивов. Вот изображение простого массива размером 4, содержащего элементы (1, 2, 3 и 4). Каждому из них присваивается неотрицательное числовое значение – индекс, который соответствует позиции этого элемента в массиве. Большинство языков определяют начальный индекс массива как 0. Существует два типа массивов: Одномерные массивы (как на картинке). Многомерные массивы (массивы массивов). Основные операции с массивами Insert – вставка. Get – получение элемента. Delete – удаление. Size – получение общего количества элементов в массиве. Частые вопросы о массивах Найти второй минимальный элемент. Первые не повторяющиеся целые числа. Объединить два отсортированных массива. Переставить положительные и отрицательные значения. Стеки Мы все знакомы с опцией Отменить (Undo), которая присутствует практически в каждом приложении. Вы когда-нибудь задумывались, как это работает? Для этого вы сохраняете предыдущие состояния приложения (определенное их количество) в памяти в таком порядке, что последнее сохраненное появляется первым. Это не может быть сделано только с помощью массивов. Здесь на помощь приходит стек. Пример стека из реальной жизни – куча книг, лежащих друг на друге. Чтобы получить книгу, которая находится где-то в середине, вам нужно удалить все, что лежит сверху. Так работает метод LIFO (Last In First Out, последним пришел – первым ушел). Вот изображение стека, содержащего три элемента (1, 2 и 3). Элемент 3 находится сверху и будет удален первым: Основные операции со стеками Push – вставка элемента наверх стека. Pop – получение верхнего элемента и его удаление. isEmpty – возвращает true, если стек пуст. Top – получение верхнего элемента без удаления. Часто задаваемые вопросы о стеках Вычисление постфиксного выражения с помощью стека. Сортировка значений в стеке. Проверка сбалансированности скобок в выражении. Очереди Как и стек, очередь – это линейная структура данных, которая хранит элементы последовательно. Единственное существенное различие заключается в том, что вместо использования метода LIFO, очередь реализует метод FIFO (First in First Out, первым пришел – первым ушел). Идеальный пример этих структур в реальной жизни – очереди людей в билетную кассу. Если придет новый человек, он присоединится к линии с конца, а не с начала. А человек, стоящий впереди, первым получит билет и, следовательно, покинет очередь. Вот изображение очереди, содержащей четыре элемента (1, 2, 3 и 4). Здесь 1 находится вверху и будет удален первым: Основные операции с очередями Enqueue – вставка в конец. Dequeue – удаление из начала. isEmpty – возвращает true, если очередь пуста. Top – получение первого элемента. Часто задаваемые вопросы об очередях Реализация стека с помощью очереди. Развернуть первые k элементов. Генерация двоичных чисел от 1 до n с помощью очереди. Связный список Еще одна важная линейная структура данных, которая на первый взгляд похожа на массив, но отличается распределением памяти, внутренней организацией и способом выполнения основных операций вставки и удаления. Связный список – это сеть узлов, каждый из которых содержит данные и указатель на следующий узел в цепочке. Также есть указатель на первый элемент – head. Если список пуст, то он указывает на null. Связные списки используются для реализации файловых систем, хэш-таблиц и списков смежности. Вот визуальное представление внутренней структуры связного списка: Типы связных списков: Однонаправленный Двунаправленный Основные операции со связными списками InsertAtEnd – вставка в конец. InsertAtHead – вставка в начало. Delete – удаление указанного элемента. DeleteAtHead – удаление первого элемента. Search – получение указанного элемента. isEmpty – возвращает true, если связный список пуст. Часто задаваемые вопросы о связных списках Разворот связного списка. Обнаружение цикла. Получение N-го узла с конца. Удаление дубликатов. Графы Граф представляет собой набор узлов, соединенных друг с другом в виде сети. Узлы также называются вершинами. Пара (x, y) называется ребром, которое указывает, что вершина xсоединена с вершиной y. Ребро может содержать вес/стоимость, показывая, сколько затрат требуется, чтобы пройти от x до y. Типы графов: Неориентированный Ориентированный В языке программирования графы могут быть представлены в двух формах: Матрица смежности Список смежности Общие алгоритмы обхода графов: В ширину В глубину Часто задаваемые вопросы о графах Реализовать поиск по ширине и глубине. Проверка, является ли граф деревом. Количество ребер в графе. Кратчайший путь между двумя вершинами. Деревья Дерево – это иерархическая структура данных, состоящая из вершин (узлов) и ребер, соединяющих их. Они похожи на графы, но есть одно важное отличие: в дереве не может быть цикла. Деревья широко используются в искусственном интеллекте и сложных алгоритмах для обеспечения эффективного механизма хранения данных. Вот изображение простого дерева, и основные термины: Типы деревьев: N-арное дерево; сбалансированное дерево; бинарное дерево; бинарное дерево поиска; дерево AVL; красно-чёрное дерево; 2-3 дерево. Из всех типов чаще всего используются бинарное дерево и бинарное дерево поиска. Часто задаваемые вопросы о деревьях Высота бинарного дерева. Найти k-ое максимальное значение в дереве бинарного поиска. Узлы на расстоянии k от корня. Предки заданного узла в бинарном дереве. Префиксное дерево Префиксные деревья (tries) – древовидные структуры данных, эффективные для решения задач со строками. Они обеспечивают быстрый поиск и используются преимущественно для поиска слов в словаре, автодополнения в поисковых системах и даже для IP-маршрутизации. Вот иллюстрация того, как три слова top, thus и their хранятся в префиксном дереве: Слова размещаются сверху вниз. Выделенные зеленым элементы показывают конец каждого слова. Часто задаваемые вопросы о префиксных деревьях Общее количество слов. Вывод всех слов. Сортировка элементов массива. Формирование слов из словаря. Создание словаря T9. Хеш-Таблица Хеширование – это процесс, используемый для уникальной идентификации объектов и хранения каждого из них в некотором предварительно вычисленном уникальном индексе – ключе. Итак, объект хранится в виде пары |