ФГОБУ ВПО "СибГУТИ" Кафедра вычислительных систем ОСНОВЫ ПРОГРАММИРОВАНИЯ История вычислительной техники Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» Этапы развития вычислительной техники 1. Домеханический этап 2. Механический этап 3. Первое поколение ЭВМ 4. Второе поколение ЭВМ 5. Третье поколение ЭВМ 6. Персональные ЭВМ © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 2 Этапы развития вычислительной техники Домеханический этап © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 3 Пальцевый счет (счёт на пальцах, дактилономия) Математические вычисления, осуществляемые человеком с помощью сгибания, разгибания или указывания пальцев рук (иногда и ног). Пальцы рук и ног – первая числовая последовательность, полностью отделенная от считаемых объектов. Расположение пальцев на теле человека обусловило появление различных систем счисления (СС): Пятеричной – 5 пальцев на одной руке (страны тропической Африки). Десятиричной – пальцы на двух руках (страны Евразии) Двадцатеричной – все пальцы рук и ног (цивилизация Майа). Способы счета отличаются: 1. Движениями пальцев (разгибание, загибание) 2. Порядком использования пальцев (Римский счет – до 10 000, древнекитайская позиционная десятичная система счёта – до 99 999 999) 3. Значениями пальцев и рук. © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 4 Простейшие приспособления для счета Степени Корни бирки кости Дроби абак китайские счетные палочки счеты палочки Непера Логарифмы логарифмич. линейка Сложение Вычитание Умножение Тригонометрия Деление © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 5 Палочки Непера © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 6 Логарифмическая линейка Логарифмическая линейка – аналоговое вычислительное устройство, позволяющее выполнять несколько математических операций, в том числе умножение и деление чисел, возведение в степень (чаще всего в квадрат и куб) и вычисление квадратных и кубических корней, вычисление логарифмов, вычисление тригонометрических и гиперболических функций и другие операции. © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 7 Принцип работы логарифмической линейки Произведение двух чисел основано на формуле: lg(x) + lg(y) = lg(xy) Для того чтобы вычислить произведение двух чисел: 1. Начало или конец подвижной шкалы совмещают с первым множителем на неподвижной шкале. 2. На подвижной шкале находят второй множитель. 25 x 5 = Напротив него на неподвижной шкале –результат: 1 0 2,5 x 10 + 5x10 = 2,5x5x101 = 1,25x101x101= 1,25x102 С помощью логарифмической линейки находят лишь мантиссу числа, его порядок вычисляют в уме. © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 8 Принцип работы логарифмической линейки (2) Деление двух чисел основано на формуле: lg(x) - lg(y) = lg(x/y) Чтобы разделить числа, на подвижной шкале находят делитель и совмещают его с делимым на неподвижной шкале. Начало (или конец) подвижной шкалы указывает на результат: © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 9 Сложение и вычитание чисел при помощи логарифмической линейки Базовыми действиями на логарифмической линейке являются умножение и деление. Даже такие простые операции, как сложение и вычитание необходимо выражать через них: x + y = (x/y + 1)∙y x – y = (x/y – 1)∙y Пример с long и long long На примере этих операций наглядно демонстрируется принцип понятности алгоритмов. Исполнителю (человеку с логарифмической линейкой) доступен ограниченный набор элементарных операций над вещественными числами, в частности, умножение и деление. Любые инструкции (алгоритмы) для этого исполнителя должны содержать только операции этого набора. Любые другие действия необходимо детализировать до уровня элементарных операций. © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 10 Этапы развития вычислительной техники Механический этап © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 11 Переполнение разряда 5+1=6 5+6=11 © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 12 Леонардо да Винчи Развитие ВТ В 1492 г. Леонардо да Винчи разработал чертеж счетной машины и описал его в своих дневниках, ныне известных, как двухтомник «Мадридский Кодекс» регистр перепол нение Стержни расположены так, чтобы маленькое колесо стержня входило в сцепление с большим колесом на соседнем стержне. Десять оборотов первого стержня приводят к одному полному обороту второго стержня и т.д. Регистр – логическое устройство, используемое для хранения nразрядных двоичных чисел и выполнения преобразований над ними. © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 13 Паскалина Развитие ВТ регистр перепол нение сложение вычитание Изобретатель: Блез Паскаль, 1645 г. Сложение: ввод первого слагаемого, далее последовательное смещение наборных колес на разряды второго слагаемого. Вычитание: замена на сложение (аналог обратного кода в ПК), эксплуатируется ограниченная разрядность. Умножение/деление: многократное сложение/вычитание. © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 14 Вычисляющие часы Изобретатель: математик и астроном Вильгельм Шикард, 1623 г. (раньше Паскалины!) Сложение: аналогично Паскалине Вычитание: установка уменьшаемого, далее обратным вращением колес ввод вычитаемого Умножение и деление: основано на палочках Неппера © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 15 Вычисляющие часы (2) Развитие ВТ регистр перепол нение сложение вычитание умножение деление © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 16 Вычисляющие часы (умножение) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 17 Калькулятор Лейбница Развитие ВТ регистр перепол нение сложение вычитание умножение деление сдвиг Изобретатель: Готфрид Вильгельм Лейбниц, 1673 г. Действия: сложение, вычитание, умножение, деление. Особенности – ускорение операций умножения за счет: 1) запоминания множимого или делимого; 2) сдвиг множителя/делителя на х разрядов: один оборот ГК = 10x оборотов ГК при нулевом сдвиге. © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 18 Арифмометр Полени Развитие ВТ регистр перепол нение сложение вычитание умножение деление сдвиг Источник энергии цикл Изобретатель: Джованни Полени, 1709 г. Особенности: 1. Используется колесо (L) с переменным количеством зубцов (выставляется вручную), с помощью которых вводятся входные данные: 3 сектора – единицы (K), десятки (H), сотни (J) 2. Ручной привод заменен внешним источником энергии (падающий груз F). http://all-ht.ru/inf/history/p_1_10.html © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 19 Арифмометр Полени (2) Алгоритм умножения 254 на 548 1. Выставить на колесе L секторы: K = 4 зубца, H – 5, J – 2. 2. Умножение на единицы (8) Установить штифт E в отверстие (D) напротив цифры 8 и отпустить груз. Промежуточный результат – стрелки B1 – B6. © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 20 Арифмометр Полени (3) Алгоритм умножения 254 на 548 3. Умножение на десятки (4) Повернуть ручку A на 360 градусов (сдвиг, десятки) Установить штифт E в отверстие (D) напротив цифры 4 и отпустить груз. Промежуточный результат – стрелки B1 – B6. © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 21 Арифмометр Полени (4) Алгоритм умножения 254 на 548 3. Умножение на сотни (5) Повторно повернуть ручку A на 360 градусов (сдвиг, сотни) Установить штифт E в отверстие (D) напротив цифры 5 и отпустить груз. Результат – стрелки B1 – B6. © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 22 Перфокарты Жаккара Развитие ВТ регистр Изобретатель: Жозеф Жаккар, 1802 г. Особенности: Программное управление при помощи перфокарт. перепол нение сложение вычитание умножение деление сдвиг Источник энергии цикл Программа © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 23 Аналитическая машина Беббиджа Развитие ВТ регистр Архитектура АУ УУ Вв/Выв. Память Источник энергии Программа цикл Условный переход Изобретатель: Чарльз Бэббидж, 1823-1847 гг. Развитие созданной Бэббиджем разностной машины Прототип современных ЭВМ Машине не была построена, предложен только проект, в котором были заложены важнейшие принципы: 1. Наличие пяти основных устройств: а) арифметическое устройство; б) устройство управления; в) память; г) устройства ввода и вывода. 2. Принцип программного управления: а) работа машины зависит от результатов промежуточных вычислений; б) условное и циклическое выполнение. © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 24 Предшественники ЭВМ первого поколения © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 25 Табулятор Холлерита Изобретатель: Герман Холлерит, 1890 г. Особенности: 1. Входные данные записывались на перфокартах 2. Привод - электрический Использование: перепись населения США. В дальнейшем Г. Холлерит основал компанию IBM (International Business Machines) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 26 Z3 – компьютер на основе реле Изобретатель: Конрад Цузе, 1941 г. Наименование Система счисления Частота Арифм. устройство Значение ДВОИЧНАЯ 5,3 Гц с плавающей точкой Действия +, -, *, /, √ Элем. база реле Разрядность слова 22 бита Объем памяти 64 слова Входные данные десятичные числа с плав. точкой Выходные данные десятичные числа с плав. точкой © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 27 Поколения электронно-вычислительных машин (ЭВМ) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 28 Электронные лампы – замена реле Изобретатель: Ли де Форест, 1906 г. Составные части: 1. Стеклянный баллон с вакуумом или специальным газом. 2. Катод: электрод, подключенный к отрицательному полюсу источника тока. который подогревается для обеспечения эмиссии электронов. 3. Анод: положительный электрод, улавливающий электроны с катода. 4. Сетка: управляющий элемент. При подаче отрицательного напряжения на сетку ток электронов между катодом и анодом прерывается. © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 29 Операция ИЛИ-НЕ (стрелка Пирса) X Y X↓Y 0 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 1 0 0 0 0 0 1 © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 30 Триггер Логическая "1" – сигнал "высокого" напряжения (3,5 – 5 В) Логический "0" – сигнал "низкого" напряжения (0 – 1,5 В) R S Q Q' S – (set trigger) – установка триггера R – (reset trigger) – сброс триггера Q – состояние триггера Q' – инвертированное состояние В режиме хранения на R и S подан логический "0". Для установки триггера в состояние "1" на S подается "1", на R – "0". Для установки триггера в состояние "0" на S подается "0", на R – "1". http://all-ht.ru/inf/pc/mem_sram.html © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 31 Установка триггера в "1" 0 R 1 Q 0 1 1. Установка "1" 1 0 1 S Q' 0 R 1 Q 0 0 1 X Y X↓Y 0 0 1 0 1 0 1 0 0 1 1 0 2. Режим хранения 0 1 S Q' 0 0 © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 32 Установка триггера в "0" 1 R 0 Q 1 0 1. Установка "0" 0 0 0 S Q' 1 R 0 Q 1 1 0 X Y X↓Y 0 0 1 0 1 0 1 0 0 1 1 0 2. Режим хранения 0 0 S Q' 1 1 © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 33 Джон фон Нейман Характеристика ЭВМ ENIAC ЭВМ EDVAC Система счисления Десятичная Двоичная Хранение программы Аппаратная коммутация В памяти компьютера совместно с данными 10 (дес.) ~ 34 (дв.) 44 (дв.) Разрядность слова Объем памяти (слов) Выполнение 1024 Последовательное, циклическое, условные переходы © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 34 ЭВМ первого поколения (1945-1954 гг.) Состав соответствует сформулированным Ч. Бэббиджем: Состав Элементная база Способ программирования принципам центральный процессор (ЦП) арифметико-логическое устройство (АЛУ) управляющее устройство (УУ) оперативная память устройства ввода-вывода (УВВ) электронные лампы Программа на языке ассемблера © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 35 Электрическая проводимость материалов По способности проводить электрический ток вещества можно разделить на: • проводники • полупроводники • диэлектрики В проводниках (медь, алюминий и т.д.) присутствуют свободные носители заряда: часть электронов сравнительно слабо связанных с ядром. Такие электроны могут перемещаться с орбиты одного ядра на орбиту другого под воздействием внешнего электрического поля. К диэлектрикам относят вещества, способные поляризоваться в электрическом поле. В них присутствует незначительное количества свободных электронов и молекул, вытянутых по форме (полярные диполи). Под воздействием внешнего электрического поля связанные заряды диэлектрика смещаются в направлении действующих на них сил, чем выше напряженность поля - и тем больше. В результате поляризации на поверхности диэлектрика образуются заряды разных знаков. Полупроводники (кремний, германий) отличаются от проводников сильной зависимостью удельной проводимости от концентрации примесей, температуры и воздействия различных видов излучения. © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 36 Примесная проводимость полупроводников К полупроводникам относятся элементы IV группы периодической системы элементов Д. И. Менделеева, которые на внешней оболочке имеют четыре валентных электрона. Типичные полупроводники германий Ge и кремний Si. Чистые полупроводники обладают высоким удельным сопротивлением. Для снижения высокого удельного сопротивления в чистые полупроводники вводят примеси (легируют). В качестве легирующих примесей применяют элементы III (бор, алюминий) и V (мышьяк, индий, фосфор) групп периодической системы элементов Д. И. Менделеева. © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 37 p-проводимость полупроводников Чистые полупроводники кристаллизируются в виде решетки. Каждая валентная связь содержит два электрона, оболочка атома имеет восемь электронов и находится в состоянии равновесия. Элементы III группы (бор В) имеют на внешней оболочке три электрона. Поэтому хотя атом бора и «встанет» в кристалл, одного электрона не будет хватать. © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 38 p-проводимость полупроводников (2) При ненулевой температуре с определённой вероятностью четвёртая связь решетки образуется за счет захвата недостающего 4-го электрона у атома кремния. При этом лишенный 4-го электрона атом кремния приобретает положительный заряд (вакансия). Из-за теплового движения электронов вакансия может быть заполнена электроном, отнятым у соседнего атома кремния, при этом тот приобретёт положительный заряд - вакансия переместится на этот атом кремния. Считается, что носителями заряда являются перемещаемые положительно заряженные вакансии (дырки). При приложении электрического поля дырки начинают упорядоченно двигаться к катоду. © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 39 n-проводимость полупроводников Элементы V группы (мышьяк As) имеют на внешней оболочке пять электронов. Поэтому в кристалле один электрон окажется лишним. Примеси, при добавлении которых к полупроводнику образуются свободные электроны, называются донорными. Проводимость в полупроводнике с донорной примесью осуществляется за счет свободных электронов. Такой проводник называется полупроводником n-типа. © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 40 p-n переход n-тип электронная проводимость p-тип "дырочная" проводимость © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 41 Проводимость в одном направлении − + Протекание тока − "Запертое" состояние Прямое включение (ослабляет внутреннее поле) + Обратное включение (усиливает внутреннее поле) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 42 Транзисторы + + + − − © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 43 Схема включения транзистора © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 44 Реализация операции ИЛИ-НЕ А X Y X↓Y 0 0 1 0 1 0 1 0 0 1 1 0 Если на оба входа подан логический "0" (оба транзистора закрыты, их сопротивление близко к ≈ ∞), то на выходе формируется напряжение, V = Uп. Если на любой из входов подана логическая "1", то соответствующий транзистор открывается и через него начинает течь ток. Сопротивление открытого транзистора ≈ 0. В этом случае V – падение напряжения на открытом транзисторе, которое также ≈ 0. © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 45 Второе поколение ЭВМ (1955-1964 гг.) Состав аналогично первому поколению дополнительные процессоры ввода-вывода (снижение нагрузки на ЦП) Элементная база транзисторы Способ программирования Программное обеспечение Высокоуровневые языки программирования Algol, FORTRAN, COBOL Операционная система Компиляторы Библиотеки стандартных подпрограмм © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 46 Третье поколение ЭВМ (1965-1970 гг.) Состав аналогично второму поколению Элементная база интегральные микросхемы Способ программирования Высокоуровневые языки программирования Algol, FORTRAN, COBOL Программное обеспечение Возрастает роль и функции операционной системы Пакеты прикладных программ Рост объема разработок в области технологий программирования и операционных систем Унификация ПО © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 47 Четвертое поколение ЭВМ (1970-1984 гг.) Состав Элементная база аналогично третьему поколению попытки создать функционально-полную ЭВМ на одном кристалле создание микропрцессоров: одна СБИС, реализующая арифметическую и логическую обработку информации. большие и сверхбольшие интегральные схемы (БИС и СБИС) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 48 Пятое поколение ЭВМ (1984 г. – наши дни) Аппаратурная часть Развитие параллельных технологий: многопроцессорные и многоядерные вычислительные системы использование графических сопроцессоров Развитие мобильных технологий: интеграция ПК и мобильных устройств системы на кристалле (System on Chip – SoC) расширение функций мобильных устройств Расширение спектра периферийных устройств © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 49 Пятое поколение ЭВМ (1984 г. – наши дни) Программная часть Совершенствование операционных систем. Совершенствование пользовательского интерфейса, использующего возможности современных периферийных устройств (мышь, тач-пад, сенсорный экран). Создание новых парадигм программирования. Развитие средств разработки, отладки и оптимизации ПО. Виртуализация аппаратурного и программного обеспечения, обеспечение переносимости программ. Создание широкого спектра прикладных программ. Развитие Интернет-технологий. © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 50 Литературные источники 1. История развития ЭВМ [загл. с экрана]. – URL: http://all-ht.ru/inf/history/ 2. История развития ЭВМ [загл. с экрана]. http://ru.wikibooks.org/wiki/История_развития_ЭВМ 3. Компьютерная революция [загл. с экрана]. – http://chernykh.net/content/view/12/36/ 4. Архив рубрики «История возникновения компьютера» [загл. с экрана]. – http://www.compgramotnost.ru/istoria-computera 5. Z3 [загл. с экрана]. – http://ru.wikipedia.org/wiki/Z3 6. Электронная лампа [загл. с экрана]. – http://ru.wikipedia.org/wiki/Электронная_лампа 7. ENIAC [загл. с экрана]. – http://en.wikipedia.org/wiki/ENIAC 8. EDVAC [загл. с экрана]. – http://en.wikipedia.org/wiki/EDVAC 9. Транзистор [загл. с экрана]. – http://ru.wikipedia.org/wiki/Транзистор © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 51 Литературные источники 10. Диоды. For dummies [загл. с экрана]. – http://habrahabr.ru/post/132842/ 11. Биполярные транзисторы. For dummies [загл. с экрана]. – http://habrahabr.ru/post/133136/ 12. Электрические переходы [загл. с экрана]. – http://kurs.ido.tpu.ru/courses/osn_elec/chapter_1/glv_1_page_7.html © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 52