- •Московский государственный институт
- •Лекция 1. Базовые понятия информации Введение
- •Информация, энтропия и избыточность при передаче данных
- •Информационные процессы
- •Основные структуры данных
- •Обработка данных
- •Способы представления информации и два класса эвм
- •Представление данных в эвм.
- •Вопросы и задания
- •Лекция 2. Компьютер – общие сведения
- •Центральное процессорное устройство
- •Устройства ввода/вывода
- •Классификация запоминающих устройств
- •Оперативная память
- •Основные внешние устройства компьютера
- •Основные характеристики персональных компьютеров
- •Вопросы и задания
- •Лекция 3. Многоуровневая компьютерная организация
- •Архитектура компьютера
- •Классическая структура эвм - модель фон Неймана
- •Особенности современных эвм
- •Вопросы и задания
- •Библиотеки стандартных программ и ассемблеры
- •Высокоуровневые языки и системы автоматизированного программирования
- •Диалоговые ос и субд
- •Прикладные программы иCase– технологии
- •Компьютерные сети и мультимедиа
- •Операционные системы
- •Лекция 5.Вычислительные системы - общие сведения Введение
- •Общие требования
- •Классификация компьютеров по областям применения
- •Персональные компьютеры и рабочие станции
- •Суперкомпьютеры
- •Увеличение производительности эвм, за счет чего?
- •Параллельные системы
- •Использование параллельных вычислительных систем
- •Закон Амдала и его следствия
- •Вопросы и задания
- •Лекция 6 Структурная организация эвм - процессор Введение
- •Что известно всем
- •Назначение процессора и его устройство
- •Устройство управления
- •Микропроцессорная память
- •Основная (оперативная) память - структура адресной памяти
- •Интерфейсная часть мп
- •Тракт данных типичного процессора
- •Команды уу
- •Базовые команды
- •Трансляторы
- •Архитектура системы команд и классификация процессоров
- •Микроархитектура процессораPentiumIi
- •512 Кбайт
- •Вопросы и задания
- •Лекция 6 Структурная организация эвм - память Общие сведения
- •Верхняя
- •Верхняя память (Upper Memory Area) – это 384 Кбайт, зарезервированных у верхней границы системной памяти. Верхняя память разделена на несколько частей:
- •Первые 128 Кбайт являются областью видеопамяти и предназначены для использовании видеоадаптерами, когда на экран выводится текст или графика, в этой области хранятся образы изображений.
- •Видеопамять
- •Иерархия памяти компьютера
- •Оперативная память, типы оп
- •Логическая организация памяти
- •Связывание адресов
- •Функции системы управления памятью
- •Тэг Строка Слово (байт)
- •Способы организации кэш-памяти
- •1. Где может размещаться блок в кэш-памяти?
- •2. Как найти блок, находящийся в кэш-памяти?
- •3. Какой блок кэш-памяти должен быть замещен при промахе?
- •4. Что происходит во время записи?
- •Разновидности строения кэш-памяти
- •Вопросы и задания
- •Лекция 7 Логическая организация памяти Введение
- •Адресная, ассоциативная и стековая организация памяти
- •Стековая память
- •Сегментная организация памяти.
- •Косвенная адресация
- •Операнд 407 суммируется с
- •Типы адресов
- •Понятие виртуальной памяти
- •Страничное распределение
- •Свопинг
- •Вопросы и задания
- •Лекция 8 Внешняя память компьютера Введение
- •Жесткий диск (Hard Disk Drive)
- •Конструкция жесткого диска
- •Основные характеристики нмд:
- •Способы кодирования данных
- •Интерфейсы нмд
- •Структура хранения информации на жестком диске
- •Кластер
- •Методы борьбы с кластеризацией
- •Магнито-оптические диски
- •Дисковые массивы и уровни raid
- •Лазерные компакт-дискиCd-rom
- •Вопросы и задания
- •Лекция 9 Основные принципы построения систем ввода/вывода
- •Физические принципы организации ввода-вывода
- •Интерфейс
- •Магистрально-модульный способ построения эвм
- •Структура контроллера устройства
- •Опрос устройств и прерывания. Исключительные ситуации и системные вызовы
- •Организация передачи данных
- •Прямой доступ к памяти (Direct Memory Access – dma)
- •Логические принципы организации ввода-вывода
- •Структура системы ввода-вывода
- •Буферизация и кэширование
- •Заключение
- •Структура шин современного пк
- •Мост pci
- •Вопросы и задания
- •Лекция 10.BioSи его настройки Введение
- •Начальная загрузка компьютера
- •Вход вBioSи основные параметры системы
- •Общие свойства – стандартная настройка параметров
- •СвойстваBios
- •Свойства других чипсетов
- •Свойства интегрированных устройств
- •Свойства слотов pci
- •Управление питанием
- •Лекция 11 Особенности архитектуры современных вс
- •Область применения и способы оценки производительности мвс
- •Классификация архитектур по параллельной обработке данных
- •Вычислительные Системы
- •Параллелизм вычислительных процессов
- •Параллелизм на уровне команд – однопроцессорные архитектуры
- •Конвейерная обработка
- •Суперскалярные архитектуры
- •Мультипроцессорные системы на кристалле Технология Hyper-Threading
- •Многоядерность — следующий этап развития
- •Многопроцессорные архитектуры – параллелизм на уровне процессоров
- •Векторные компьютеры
- •Использование параллельных вычислительных систем
- •Закон Амдала и его следствия
- •Вопросы и задания
- •Лекция 12 Архитектура многопроцессорных вс Введение
- •Smp архитектура
- •Mpp архитектура
- •Гибридная архитектура (numa)
- •Организация когерентности многоуровневой иерархической памяти.
- •Pvp архитектура
- •Кластерная архитектура
- •Проблемы выполнения сети связи процессоров в кластерной системе.
- •Лекция 13 Кластерные системы
- •Концепция кластерных систем
- •Разделение на High Avalibility и High Performance системы
- •Проблематика High Performance кластеров
- •Проблематика High Availability кластерных систем
- •Смешанные архитектуры
- •Лекция 14 Высокопроизводительные процессоры
- •Ассоциативные процессоры
- •Конвейерные процессоры
- •Матричные процессоры
- •Клеточные и днк процессоры
- •Клеточные компьютеры
- •Трансгенные технологии
- •Коммуникационные процессоры
- •Процессоры баз данных
- •Потоковые процессоры
- •Нейронные процессоры
- •Искусственные нейронные сети
- •Нейрокомпьютеры
- •Процессоры с многозначной (нечеткой) логикой
- •Лекция 15 Многомашинные системы – вычислительные сети Введение
- •Простейшие виды связи сети передачи данных
- •Связь компьютера с периферийным устройством
- •Связь двух компьютеров
- •Многослойная модель сети
- •Функциональные роли компьютеров в сети
- •Одноранговые сети
- •Сети с выделенным сервером
- •Гибридная сеть
- •Сетевые службы и операционная система
- •Лекция 16. Файловая система компьютера Введение
- •Общие сведения о файлах
- •Типы файлов
- •Атрибуты файлов
- •Организация файлов и доступ к ним
- •Последовательный файл
- •Файл прямого доступа
- •Другие формы организации файлов
- •Операции над файлами
- •Директории. Логическая структура файлового архива
- •Разделы диска. Организация доступа к архиву файлов.
- •Операции над директориями
- •Защита файлов
- •Контроль доступа к файлам
- •Списки прав доступа
- •Заключение
- •Лекция 17. Сети и сетевые операционные системы Введение
- •Для чего компьютеры объединяют в сети
- •Сетевые и распределенные операционные системы
- •Взаимодействие удаленных процессов как основа работы вычислительных сетей
- •Основные вопросы логической организации передачи информации между удаленными процессами
- •Понятие протокола
- •Многоуровневая модель построения сетевых вычислительных систем
- •Проблемы адресации в сети
- •Одноуровневые адреса
- •Двухуровневые адреса
- •Удаленная адресация и разрешение адресов
- •Локальная адресация. Понятие порта
- •Полные адреса. Понятие сокета (socket)
- •Проблемы маршрутизации в сетях
- •Связь с установлением логического соединения и передача данных с помощью сообщений
- •Синхронизация удаленных процессов
- •Заключение
- •Лекция 18. Система счисления и архитектура эвм Введение
- •Системы счисления и их роль в истории компьютеров
- •«Золотое сечение» и компьютер Фибоначчи
- •Геометрическое определение "золотого сечения"
- •Алгебраические свойства золотой пропорции
- •Рассмотрим теперь "золотую пропорцию"
- •Фибонччи и компьютеры
- •"Троичный принцип" Николая Брусенцова.
- •Список литературы:
Базовые команды
Процессор выполняет каждую команду (инструкцию) за несколько шагов (тактов):
Выборка очередной команды (ЦП вызывает команду из ОП и переносит ее в регистр команд);
Формирование адреса следующей команды (меняется значение счетчика команд);
Дешифрация команды (определяется тип вызванной, текущей команды);
Выборка операндов (если команда использует «слово» из памяти, определяет где находится это слово и вызывает его; переносит слово из ОП в один из регистров (регистр данных));
Выполнение операции (выполняет команду (АЛУ));
Запись результата (заносит результат в промежуточный буфер, регистр – аккумулятор);
Переходит к шагу 1 или заканчивает выполнение программы «ОСТАНОВ».
Такая последовательность шагов: выборка – декодирование – исполнение является основой работы всех компьютеров. Описание работы ЦП можно представить, или имитировать, в виде программы-интерпретатора на языкеJava. Сама возможность имитировать работу ЦП с помощью программы, показывает, что программа вычислений не обязательно должна выполняться аппаратным процессором. Напротив, вызывать из памяти, определять тип команды и выполнять команду может другая программа (интерпретатор). Другими словами, применение трансляторов с ЯВУ не только способ перейти к машинному языку, языку понятному машине, но и мощный метод эмуляции работы ЦП.
Программа
на ЯВУ
Компилятор Перевод исходной
программы на эквивалентный набор команд
машинного кода Виртуальная машина
Java Компилятор
Псевдокод Интерпретатор Интерпретатор
Последовательный перевод команды
за командой в эквивалентный машинный
код с немедленным исполнением готовой
команды
Рис.5.4 Структура трансляторов
Трансляторы
Как следует из многоуровневой архитектуры ЭВМ, прикладные программы пишутся на языках высокого уровня (ЯВУ). Существуют сотни таких языков, но процессор понимает только язык единиц и нулей. Поэтому программы на ЯВУ обычно транслируются на уровень 3 или 4 (уровень ассемблера). Программы трансляторы бывают двух видов – интерпретаторы и компиляторы.
Программа (микропрограмма) способная вызывать команды, операнды из памяти, определять тип команд и выполнять эти команды называется – интерпретатор.
Интерпретатор разбивает исходную программу на маленькие шаги и последовательно переводит каждую команду в исполняемый машинный код, посылая ее сразу на исполнение. Интерпретатор, как правило, хранится в виде микрокоманд в ПЗУ, например, устройства управления.
Отличительные особенности: медленно (надо декодировать каждую команду, процессор простаивает), но легко переносится на любую платформу, самое главное – в этом случае машина получается существенно более простой, т.к. часть аппаратного обеспечения заменяется программным.
Другая возможность создать транслятор – это использовать программу компилятор. Компилятор переводит полностью исходную программу на эквивалентный набор машинного языка и только затем загружает ее в память машины для выполнения.
Отличительные особенности: быстро, но изменение платформы приводит к необходимости разработки нового компилятора. Есть и третья возможность, известная под именем Java машины или виртуальной машины Java – это компилятор, транслирующий ЯВУ на промежуточный псевдокод, а затем с псевдокода интерпретатор. При этом сочетаются отличительные особенности того и другого метода.
Компьютеры могут иметь интерпретатор и тогда они гораздо проще и дешевле чем компьютеры без интерпретации, а могут и не иметь, но тогда они должны использовать технику компиляции. Впервые интерпретация получила применение при реализации компьютеров способных выполнять сложные команды, предназначенные для высокопроизводительных и дорогих машин (IBMS./360,S/370,S/390). Это сформировало тенденцию введения все более и более сложных команд (порядка 300 уVAXDECи 200 способов определения операндов). Главное преимущество интерпретации заключалось в том, что можно было разработать простой процессор, а вся сложность сводилась к созданию интерпретатора.
(Такое операторное управление вычислительным процессом привело к необходимости использовать разнообразные форматы обработки данных (например: тривиальное суммирование в S/360 имело около 20 различных форматов). Хотя машина была способна вычислять экспоненту, логарифм, но простые операции производились очень медленно. Действительно, что бы перевести команду сложения в машинный код, интерпретатор должен был просмотреть более 20 возможных команд. Такое разнообразие инструкций потребовало и множества командных форматов различной длины.) Каждый процессор имеет свои специфические команды, наборы регистров и режимы адресации, поэтому программу на Ассемблере невозможно перенести с одной аппаратной платформы на другую. Для того чтобы не зависеть от конкретного процессора, часто используют язык описания команд RTL, от англ. Register Transfer Language — язык перемещения регистров. Фактически RTL представляет собой Ассемблер, не зависящий от конкретного процессора. Многие компиляторы, например, gcc, не переводят программу с языка высокого уровня сразу на язык машинных команд, а сначала транслируют ее на язык RTL. Затем на уровне RTL выполняется оптимизация кода, которая составляет 99% работы компилятора. И лишь на последнем этапе программа c языка RTL переводится на язык команд конкретного процессора. Поскольку RTL максимально приближен к Ассемблеру, трансляция из RTL в конкретный Ассемблер не представляет никакого труда. Такой подход позволяет сделать компилятор с языка высокого уровня практически независимым от конкретной архитектуры. Зависим лишь модуль, осуществляющий перевод с RTL в Ассемблер, но его реализация требует минимальных усилий.