- •Московский государственный институт
 - •Лекция 1. Базовые понятия информации Введение
 - •Информация, энтропия и избыточность при передаче данных
 - •Информационные процессы
 - •Основные структуры данных
 - •Обработка данных
 - •Способы представления информации и два класса эвм
 - •Кодирование информации
 - •Представление данных в эвм.
 - •Форматы файлов
 - •Кодирование чисел
 - •Кодирование текста
 - •Кодирование графической информации
 - •Кодирование звука
 - •Типы данных
 - •Вопросы и задания
 - •Лекция 2. Компьютер – общие сведения
 - •Материнская плата
 - •Интерфейсные шины
 - •Основные внешние устройства компьютера
 - •Вопросы и задания
 - •Лекция 3. Многоуровневая компьютерная организация
 - •Архитектура компьютера
 - •Классическая структура эвм - модель фон Неймана
 - •Особенности современных эвм
 - •Вопросы и задания
 - •Библиотеки стандартных программ и ассемблеры
 - •Высокоуровневые языки и системы автоматизированного программирования
 - •Диалоговые ос и субд
 - •Прикладные программы иCase– технологии
 - •Компьютерные сети и мультимедиа
 - •Операционные системы
 - •Лекция 5.Вычислительные системы - общие сведения Введение
 - •Общие требования
 - •Классификация компьютеров по областям применения
 - •Персональные компьютеры и рабочие станции
 - •Суперкомпьютеры
 - •Увеличение производительности эвм, за счет чего?
 - •Параллельные системы
 - •Использование параллельных вычислительных систем
 - •Закон Амдала и его следствия
 - •Вопросы и задания
 - •Лекция 6. Структурная организация эвм - процессор Введение
 - •Что известно всем
 - •Микропроцессорная система
 - •Что такое микропроцессор?
 - •Назначение элементов процессора
 - •Устройство управления
 - •Микропроцессорная память
 - •Структура адресной памяти процессора
 - •Интерфейсная часть мп
 - •Тракт данных типичного процессора
 - •Базовые команды
 - •Трансляторы
 - •Архитектура системы команд и классификация процессоров
 - •Микроархитектура процессораPentiumIi
 - •512 Кбайт
 - •Вопросы и задания
 - •Лекция 7. Структурная организация эвм - память Общие сведения
 - •Верхняя
 - •Расширенная
 - •Верхняя память (Upper Memory Area) – это 384 Кбайт, зарезервированных у верхней границы системной памяти. Верхняя память разделена на несколько частей:
 - •Первые 128 Кбайт являются областью видеопамяти и предназначены для использовании видеоадаптерами, когда на экран выводится текст или графика, в этой области хранятся образы изображений;
 - •Видеопамять
 - •Иерархия памяти компьютера
 - •Оперативная память, типы оп
 - •Тэг Строка Слово (байт)
 - •Способы организации кэш-памяти
 - •1. Где может размещаться блок в кэш-памяти?
 - •2. Как найти блок, находящийся в кэш-памяти?
 - •3. Какой блок кэш-памяти должен быть замещен при промахе?
 - •4. Что происходит во время записи?
 - •Разновидности строения кэш-памяти
 - •Вопросы и задания
 - •Лекция 8. Логическая организация памяти
 - •Виртуальная память
 - •Основная память
 - •Дисковая память
 - •Страничная организация памяти
 - •Преобразование адресов
 - •Сегментная организация памяти.
 - •Свопинг
 - •Вопросы и задания
 - •Лекция 9. Методы адресации
 - •Лекция 10. Внешняя память компьютера Введение
 - •Жесткий диск (Hard Disk Drive)
 - •Конструкция жесткого диска
 - •Основные характеристики нмд:
 - •Способы кодирования данных
 - •Интерфейсы нмд
 - •Структура хранения информации на жестком диске
 - •Кластер
 - •Методы борьбы с кластеризацией
 - •Магнито-оптические диски
 - •Дисковые массивы и уровни raid
 - •Лазерные компакт-дискиCd-rom
 - •Вопросы и задания
 - •Лекция 11. Основные принципы построения систем ввода/вывода
 - •Физические принципы организации ввода-вывода
 - •Интерфейс
 - •Магистрально-модульный способ построения эвм
 - •Структура контроллера устройства
 - •Опрос устройств и прерывания. Исключительные ситуации и системные вызовы
 - •Организация передачи данных
 - •Прямой доступ к памяти (Direct Memory Access – dma)
 - •Логические принципы организации ввода-вывода
 - •Структура системы ввода-вывода
 - •Буферизация и кэширование
 - •Структура шин современного пк
 - •Мост pci
 - •Вопросы и задания
 - •Лекция 12. Особенности архитектуры современных высокопроизводительных вс
 - •Классификация архитектур по параллельной обработке данных
 - •Вычислительные Системы
 - •Параллелизм вычислительных процессов
 - •Параллелизм на уровне команд – однопроцессорные архитектуры
 - •Конвейерная обработка
 - •Суперскалярные архитектуры
 - •Мультипроцессорные системы на кристалле
 - •Технология Hyper-Threading
 - •Многоядерность — следующий этап развития
 - •Вопросы и задания
 - •Лекция 13. Архитектура многопроцессорных вс Введение
 - •Smp архитектура
 - •MpPархитектура
 - •Гибридная архитектура (numa)
 - •Организация когерентности многоуровневой иерархической памяти.
 - •Pvp архитектура
 - •Кластерная архитектура
 - •Проблемы выполнения сети связи процессоров в кластерной системе.
 - •Лекция 14. Кластерные системы
 - •Концепция кластерных систем
 - •Разделение на High Availability и High Performance системы
 - •Проблематика High Performance кластеров
 - •Проблематика High Availability кластерных систем
 - •Смешанные архитектуры
 - •Лекция 15 Многомашинные системы – вычислительные сети Введение
 - •Простейшие виды связи сети передачи данных
 - •Связь компьютера с периферийным устройством
 - •Связь двух компьютеров
 - •Многослойная модель сети
 - •Функциональные роли компьютеров в сети
 - •Одноранговые сети
 - •Сети с выделенным сервером
 - •Гибридная сеть
 - •Сетевые службы и операционная система
 - •Лекция 17. Сети и сетевые операционные системы Введение
 - •Для чего компьютеры объединяют в сети
 - •Сетевые и распределенные операционные системы
 - •Взаимодействие удаленных процессов как основа работы вычислительных сетей
 - •Основные вопросы логической организации передачи информации между удаленными процессами
 - •Понятие протокола
 - •Многоуровневая модель построения сетевых вычислительных систем
 - •Проблемы адресации в сети
 - •Одноуровневые адреса
 - •Двухуровневые адреса
 - •Удаленная адресация и разрешение адресов
 - •Локальная адресация. Понятие порта
 - •Полные адреса. Понятие сокета (socket)
 - •Проблемы маршрутизации в сетях
 - •Связь с установлением логического соединения и передача данных с помощью сообщений
 - •Синхронизация удаленных процессов
 - •Заключение
 - •Список литературы:
 
Библиотеки стандартных программ и ассемблеры
Первые вычислительные машины вообще не имели никакого общего программного
обеспечения. Программы для решения конкретных задач писались с нуля, в машинных двоичных кодах (для сокращения записи использовалась восьмеричная или шестнадцатеричная система, но это не меняло сути) в абсолютных адресах, они загружались в чистую оперативную память. Процесс был мучительным и трудоемким. Приходилось помнить двоичные коды всех операций, а любую подпрограмму выписывать из справочника в условных адресах, затем вручную привязывать к главной программе, распределять память и т. д. На каждом этапе возникали ошибки, поэтому отладить программу даже в тысячу команд было уже очень трудно. Первоочередной задачей программистов на данном этапе было создание библиотек, которые обеспечивали бы вызов стандартных программ из внешней памяти и автоматически подключали их к
главной программе.
Вторая проблема была связана с мнемоническим кодированием и автоматическим распределением памяти. Впервые она была решена в Кембридже в Великобритании на ЭВМ EDSAC (1949 г.). Вместо того, чтобы записывать коды операций двоичными цифрами программист писал текст программы на символическом языке, пользуясь мнемоническими обозначениями операций и условными адресами, а специальная программа (руководитель проекта Морис Уилкс назвал ее собирающей системой — по английски assembly system) автоматически преобразовывала мнемонические коды в понятные машине двоичные, и распределяла память для выполнения программы. Идея оказалась столь продуктивной, что все последующие поколения программистов на всех ЭВМ отказались от абсолютного кодирования. Языки программирования низкого уровня, в которых коды операций заменены мнемоническими обозначениями, стали называться языками ассемблера или автокодами (мнемокодами), а преобразующие программы — ассемблерами.
Высокоуровневые языки и системы автоматизированного программирования
В 60-е годы объем производства ЭВМ резко возрос, появились разнообразные машины второго поколения, они вышли из узких стен научных и военных учреждений, начали использоваться в бизнесе. Резко расширился круг решаемых задач, соответственно возросло и число людей, занятых программированием. Языки низкоуровневого кодирования, реализованные в ассемблерах, ненамного облегчили их тяжкий труд. Голубой мечтой казалась возможность полной автоматизации программирования, когда программист пишет математические формулы на привычном символическом языке, а компьютер самостоятельно преобразовывает их в тексты машинных программ.
Языки и системы программирования наиболее бурно развивались в 60-е годы, когда были разработаны основные принципы их построения и родились многие сотни языков различного назначения. В результате естественного отбора до конца века дожили немногие «великие языки», в которых воплощены пять основных концепций современного программирования:
• процедурное программирование, составляющее основу классических алгоритмических языков Фортран, Бэйсик, Кобол, Алгол, Си и др.;
• объектно-ориентированное программирование (ООП), в чистом виде присутствующее в языке Smalltalk, и в той или иной степени — во всех современных языках;
• визуально-событийное программирование, являющиеся развитием ООП в части работы с особыми классами визуальных объектов, реализованное в визуальных средах Visual Basic, Delphi, Visual Fux Pro, Visual C++, Visual Age, Java и др.;
• функциональное программирование, реализованное в языке обработки списков Лисп;
• логическое программирование, воплощенное в декларативном языке Пролог.
