Upload
lyphuc
View
238
Download
3
Embed Size (px)
Citation preview
Программирование и информатика
Лекция 1. Вводная
Святослав Александрович Шлёнов
кафедра общей физики и волновых процессов
История развития
вычислительной техники
Корпоративная среда для студентов,
аспирантов и сотрудников физфака МГУ
@physics.msu.ru
(В сотрудничестве с компанией Google)
Основные службы информационной системы
3
•Почта
•Календарь
•Документы
•Сайты
•Контакты
Web-интерфейс: mail.physics.msu.ru
4
Контактная информация:
Янышев Денис Николаевич
Комната 3-56
Тел. +7(495)939-39-79
07.09.2017 Программирование и информатика: Лекция 1 5
План лекции
Структура курса
Краткое историческое введение(от простейших счет до суперкомпьютеров)
07.09.2017 Программирование и информатика: Лекция 1 6
Мотивация (потребности)
Редакторы,
Пакеты научной
графики,
Аналитические
вычисления
и др.
Общие
Языки
программи-
рования Си, Си++
Численные
методы
Компьютерное
моделирование
Программирование
аппаратуры
Автоматизация
эксперимента
Знакомство
с возможностями
Навыки
работыКурсы по выбору
Программирование и информатика – 1-ый курс
+ дисциплины компьютерной физики – 2-ой курс
07.09.2017 Программирование и информатика: Лекция 1 7
Дисциплины по выбору(2-ой курс)
•Компьютерная физика(текстовые редакторы и пакет для построения научных графиков, символьные
вычисления, графический интерфейс + 2D графика в Си++, финальный проект)
• Параллельное программирование для решения задач
физики
• Система компьютерного моделирования Mathematica и ее
применение для решения физических задач
• Системы твердотельного трёхмерного проектирования
• Использование среды графического программирования
LabView для создания систем автоматизации физического
эксперимента
• Программирование микроконтроллеров
• ПЛИС: Основы проектирования и применение
кафедра общей физики и волновых процессов
07.09.2017 Программирование и информатика: Лекция 1 8
Распределение материала курса«Программирование и
информатика» по семестрам
Язык программирования Си++Объектно-ориентированноепрограммирование
Семинары+практикум
II семестр
Основы программирования на языке СиФундаментальные компьютерные алгоритмы. (сортировка, поиск, работа со списками)Методы и алгоритмы вычислительной физики
Лекции+семинары+практикум5-42 1-31, 1-32
I семестр
В конце семестра – зачет с оценкой
07.09.2017 Программирование и информатика: Лекция 1 10
Краткое историческое
введение
«В мире есть много трудных вещей, но нет
ничего труднее, чем четыре действия
арифметики».
Беда Достопочтенный, 673-735 гг.
Р.С Гутер, Ю.Л. Полунов «От абака до компьютера». М.: Знание, 1981.
07.09.2017 Программирование и информатика: Лекция 1 11
Доисторические примитивные вычислительные устройства
Счеты – первый
калькулятор с
движущимися
механическими
частями
(3000 лет b.c., Вавилон)
07.09.2017 Программирование и информатика: Лекция 1 12
Механические компьютеры
В 1642, в Париже Блез Паскаль (Blaise Pascal, 1623-1662)
построил первую механическую счетную машину – «колесо Паскаля»
Действия: + и –
350х125х75 мм
07.09.2017 Программирование и информатика: Лекция 1 13
Арифметическая машина Паскаля
Около 10 лет - 50 разных экземпляров (из меди, слоновой
кости и т.п.).
Проблемы: материалы, механические, кадровые
Вычислительные: физическое представление чисел (угол!),
ввод и вывод данных, как выполнить операции (+/-)
механическим путем, перенос в разрядах.
Вычитание: сложение с десятичным дополнением
50 - 13 = 50 – (100-87) = 50 + 87 [-100] = 137 = 37
(в Машине Паскаля 6 разрядов, двоично-дополнительное представление в
современных системах)
2: 0000 0010
инвертируем: 1111 1101
+1
-2: 1111 1110
Двоично-дополнительное представ-ление отрицательных чисел
07.09.2017 Программирование и информатика: Лекция 1 14
Знак кодируется старшим битом (в двоичном представлении)
Отрицательное число хранится в двоично-дополнительном
виде: пример -2 при хранении данных в одном байте (8 бит):
210 = 0000 00102
-2: 1000 00102 ?2-2=2+(-2) = 0 ?
0000 0010
1111 1110
0000 0000
+
07.09.2017 Программирование и информатика: Лекция 1 15
Механическиекомпьютеры (продолжение)
В 1673 г. Готфрид Лейбниц (Gottfried Leibniz, 1646-1716)
построил т.н. “Калькулятор Лейбница”
Действия: +, -, *, /, sqrt(x)
Имел коммерческий успех, производился с 1862 по 1930
07.09.2017 Программирование и информатика: Лекция 1 16
Механическиекомпьютеры (продолжение)
“Железный Феликс” прошлого века во многом напоминает
своего собрата, Калькулятор Лейбница
07.09.2017 Программирование и информатика: Лекция 1 17
Механические компьютеры –ткацкий станок Жаккарда
В 1801 г. Жозеф Жаккар
(Joseph-Marie Jacquard)
создал ткацкий станок для
материй с узором с
программным управлением,
в котором использовал
перфоленту.
n n4 Первая
разность
вторая
разность
третья
разность
четвертая
разность
1
2
3
4
5
6
7
8
…
1
16
81
256
625
1296
2401
4096
…
15
65
175
369
671
1105
1695
…
50
110
194
302
434
590
…
60
84
108
132
156
…
24
24
24
24
…
Разностная машина Чарльза Бэббеджа
94 = 24 + 156 + 590 + 1695 +4096 = 6561
0.2 0.4 0.6 0.8 1 1.2 1.4
2
4
6
8
10
12
14
Конвейерная система маркизаде Прони
5 чел. – формулы и методы
7 чел. – численные значения в узловых точках
90 чел. – уплотняют таблицу
07.09.2017 Программирование и информатика: Лекция 1 19
Табулирование
функций (tg(x))
07.09.2017 Программирование и информатика: Лекция 1 20
В 1833 г. Чарльз Бэббидж начал работу над своей аналитической
машиной – первым в мире компьютером общего назначение, который
считывал инструкции с перфокарт (имела память – 1000 регистров,
логарифмические и др. вычисления). Разностная машина была
снабжена печатающим устройством.
В 1842 леди Ада Лавлейс
составила первую программу
(числа Бернулли, язык Ада)
Аналитическая машина Чарльза Бэббеджа
07.09.2017 Программирование и информатика: Лекция 1 21
Механические компьютеры -табулятор Холлерита
В 1896 г. Герман Холлерит
создал первую электро-
механическую машину—
Табулятор Холлерита—
для переписи населения
США
Основал в 1911 г. Tabulating
Machine Company, которая
в 1924 г. переименована в
International Business
Machines Corporation (IBM)
07.09.2017 Программирование и информатика: Лекция 1 22
Компактные механические компьютеры – логарифмическая
линейка“Карманный калькулятор” инженеров до 70-х годов
прошлого века - логарифмическая линейка
Первая логарифмическая линейка была создана
Уильямом Оутредом в Англии в 1622 г.!
«Вы, конечно, шутите, мистер Фейнман?»
07.09.2017 Программирование и информатика: Лекция 1 23
«… чтобы понять, что именно происходит во время
взрыва бомбы, … требовалась намного больше
выкладок, чем мы могли делать. Но один умный
человек по имени Стэнли Френкель сообразил, что
вычисления, можно, сделать на машинах IBM.
Компания IBM выпускала устройства для сложения,
называемые табуляторами, и машины для умножения
– мультипликаторы, в которые можно было
закладывать карточки: машина считывала два числа с
карточки и умножала их. Были также устройства,
которые сравнивали числа, сортировали их и т.д. И
вот Френкель придумал замечательную программу.
Если бы мы собрали довольно много таких машин в
одной комнате, то мы смогли бы взять карточки и
запустить их по циклу.»
07.09.2017 Программирование и информатика: Лекция 1 24
Первые ЭВМ
В 1942 г. Джон Атанасов и Клиффорд Берри создали
в университете штата Айова первую цифровую ЭВМ--ABC
Атанасов сформулировал принципы
цифрового компьютера: в своей
работе он будет использовать
электричество и достижения
электроники:
•его работа будет основана на
двоичной системе счисления;
•основой запоминающего устройства
будут служить конденсаторы;
•будут использованы логические
электронные схемы.
07.09.2017 Программирование и информатика: Лекция 1 25
Первые ЭВМ - ENIAC
В 1946 г. в США Мочли и Эккертом
построена ЭВМ
ENIAC (Electronic Numerical Integrator
and Computer), University of Pennsylvania
Параметры: вес 30 тон, 2 этажа,
18000 ламп, 70000 сопротивлений,
10000 емкостей, 6000 реле
5000 арифм. оп/с;
программирование — перетыкание
проводов
07.09.2017 Программирование и информатика: Лекция 1 26
Архитектура фон Неймана
В 1946 г. фон Нейман
разработал концепцию
архитектуры компьютера
(принцип совместного
хранения программ и данных
в памяти компьютера )
В 1949 г. в Англии создан прототип современной
ЭВМ — EDSAC (ОЗУ, 512 ячеек памяти)
В общем случае - физическое отделение процессорного
модуля от устройств хранения программ и данных.
07.09.2017 Программирование и информатика: Лекция 1 27
А что происходило в СССР?
1947 г., МЭСМ (малая электронно-счетная машина); Киев, ин-т электротехники под рук. акад. С.А. Лебедева
1951 г., запуск в производство
1952-54 гг., БЭСМ-1, Стрела, М-2, М-3(серийно!!!)
1961 г., Раздан-2 – первая транзисторная ЭВМ в СССР
Затем, Минск, Урал, Мир, БЭСМ-4, М-220, БЭСМ-6, …
07.09.2017 Программирование и информатика: Лекция 1 28
ЭВМ БЭСМ-6
Знаменитая ЭВМ БЭСМ-6, во многом предвосхитившая
свое время
07.09.2017 Программирование и информатика: Лекция 1 29
Прогресс технологии -транзистор
В 1947 г. Вильям Шокли,
Джон Бардин и Уолтер Браттейн
(Bell Labs) продемонстрировали первый
транзистор
07.09.2017 Программирование и информатика: Лекция 1 30
Прогресс технологии –интегральные схемы
В 1961 г. – первая ИС
из 4-х транзисторов
(фото)
В 1968 – ИС из 180
транзисторов
07.09.2017 Программирование и информатика: Лекция 1 31
Прогресс технологии -микропроцессор
В 1976 г. – первый 16 рр.
микропроцессор
(20000 транзисторов)
07.09.2017 Программирование и информатика: Лекция 1 32
Прогресс технологии -интегральные схемы
Так выглядит
кремниевая
пластина с
напыленными на
нее ИС
07.09.2017 Программирование и информатика: Лекция 1 33
Поколения ЭВМ
1 Электронные
лампы
1945-55
2 Транзисторы
(п/п триоды)
1955-65
3 Интегральные
схемы (ИС)
1965-70
4 БИС 1970-1980
5 СБИС + новые
технологии
1980-…
07.09.2017 Программирование и информатика: Лекция 1 34
Закон Мура
Закон Мура
гласит, что число
транзисторов на
кристалле
удваивается
каждые два года
wikipedia.org
Высокопроизводительные вычисления (High Performance Computing)
07.09.2017 Программирование и информатика: Лекция 7 35
Области применения
Высокие технологии, научные исследования, шоу
бизнес
Рост производительности
Много процессоров (100, 1000 и больше) –
суперкомпьютеры
Векторные процессоры
SMP – системы (symmetric multiprocessing, разделяют общую
память)
MPP – (massive parallel processing, системы с массовым
параллелизмом)
07.09.2017 Программирование и информатика: Лекция 7 36
Высокопроизводительные вычисления
SMP – системы (symmetric multiprocessing) разделяют
общую память Пример: двухпроцессорные системы
бытового уровня
07.09.2017 Программирование и информатика: Лекция 7 37
Высокопроизводительные вычисления
В MPP (massive parallel processing) системе каждый
процессор имеет собственное ОЗУ
07.09.2017 Программирование и информатика: Лекция 1 38
Высокопроизводительные вычисления
Вычислительный кластер: MPP система, объединяющая
компьютеры- потенциально более дешевая система
07.09.2017 Программирование и информатика: Лекция 7 39
Вычислительные кластеры
Кластер состоит из отдельных машин (узлов) и объединяющей их сети: узлы, фронтальная машина, сервер, рабочая станция для
визуализации)
сеть: Gigabit Ethernet
Myrinet
Scalable Coherent Interconnection (SCI)
Infiniband — высокоскоростная коммутируемая последовательная шина (до 120 ГБит/c)
ПО: ОС Linux, ПО поддержки параллельного программирования и распределения вычислительной нагрузкиПараллельное программирование:
библиотеки MPI и OpenMP
07.09.2017 Программирование и информатика: Лекция 1 40
Проект Beowulf
1994 г., NASA: 16-
процессорный
кластер: 486DX4/100
MHz, 16 MB
10 Mbit Ethernet
07.09.2017 Программирование и информатика: Лекция 1 41
Вычислительный кластер МГУ
07.09.2017 Программирование и информатика: Лекция 1 42
Количество ядер: 5000
Пиковая производительность: 60
Tflop/s
Производительность на Linpack:
47 Tflop/s (78.4 %)
ОЗУ 5.5 Тбайт
Узлы кластера:
Два 4-х ядерных
процессора Intel Xeon
3.0 ГГц, 8 Гбайт ОЗУ
HDD 160 Гбайт
Кластер СКИФ
им. Чебышёва
Суперкомпьютер МГУ
TFlops (терафлопс) – 1012 операций с плавающей точкой в секунду
по тесту LINPAK – решение системы линейных уравнений.
07.09.2017 Программирование и информатика: Лекция 1 43
Число вычислительных узлов:
6199
Пиковая производительность:
1,7 Pflop/s
Производительность на Linpack:
901,9 Tflop/s (53%)
ОЗУ 92 Тбайт
Основные узлы кластера:
Два 4-х ядерных
процессора Intel Xeon
X5570/5670 2.93 ГГц
Кластер «Ломоносов»
Новый суперкомпьютер в МГУ
+ графический процессор Nvidia
X2070
07.09.2017 Программирование и информатика: Лекция 1 44
Высокопроизводительные системы: список Top500, июнь 2017
ww
w.t
op500.o
rg
07.09.2017 Программирование и информатика: Лекция 1 45
Высокопроизводительные системы: список Top500, июнь 2017
ww
w.t
op
500.o
rg
июнь 2011
07.09.2017 Программирование и информатика: Лекция 1 46
Страны в списке Top500www.top500.org
1,4% 7 шт
2011 Россия (8)
Россия (16-19)
0,6% 3 шт
07.09.2017 Программирование и информатика: Лекция 1 47
Архитектура в списке Top500www.top500.org
07.09.2017 Программирование и информатика: Лекция 1 48
Рост производительностиw
ww
.top500.o
rg
07.09.2017 Программирование и информатика: Лекция 1 49
Литература по лекционному материалу
1. Р.С. Гутер, Ю.Л. Полунов. От абака до компьютера. – М.: Знание, 1975, 192 с(2-ое издание – 1981).
2. www.top500.org
Материал лекций доступен на сайте:
http://ofvp.phys.msu.ru/science_education/lections/
- Раздел «Программирование и информатика»