Лекция 5 3 октября 2017 г.prog.tversu.ru/chemlections/lection5.pdf · Ада...

Post on 06-Aug-2020

7 views 0 download

Transcript of Лекция 5 3 октября 2017 г.prog.tversu.ru/chemlections/lection5.pdf · Ада...

Лекция 53 октября 2017 г.

1) Первый период (1945 – 1955) – ламповые машины

2) Второй период (1955 – 1965) – транзисторные машины

3) Третий период (1965 – 1980) – машины на интегральных схемах

4) Четвертый период (1980 – почти наши дни) – машины на больших интегральных схемах

5) Пятый период (наши дни) – невидимые машины

Чарльз Бэббидж

Английский математик. Считается изобретателем первого компьютера.

К сожалению, его «разностная машина» так и не смогла по настоящему заработать, потому что технологии того времени не удовлетворяли требованиям по изготовлению деталей точной механики, которые были необходимы для вычислительной техники.

Ада Августа Лавлейс

Дочь знаменитого английского поэта Джорджа Гордона Байрона.

Первый в мире программист.

В середине 40-х были созданы первые ламповые вычислительные устройства.

• В то время одна и та же группа людей участвовала и в проектировании, и в эксплуатации, и в программировании вычислительной машины. Это была скорее научно-исследовательская работа в области вычислительной техники, а не использование компьютеров в качестве инструмента решения каких-либо практических задач из других прикладных областей.

• Программирование осуществлялось исключительно на машинном языке.

• Об операционных системах не было и речи, все задачи организации вычислительного процесса решались вручную каждым программистом с пульта управления.

Первая ЭВМ – ENIAC

От 30 до 50 инженеров и техников и большое число рабочих в течение трех с половиной лет ежедневно трудились над созданием машины. Была окончательно готова к концу 1945 года.

Огромное П-образное сооружение имело около 2,5 метров в высоту и 24 метра в длину, весило примерно 30 тонн и потребляло около 160кВт электроэнергии – мощность, достаточную для работы небольшого завода.

АРИФМОМЕТР

ЭНИАК

Появилась новая техническая база – полупроводниковые элементы. • Компьютеры второго поколения стали более надежными, теперь они

смогли непрерывно работать настолько долго, чтобы на них можно было возложить выполнение действительно практически важных задач.

• Именно в этот период произошло разделение персонала на программистов и операторов, эксплуатационников и разработчиков вычислительных машин.

• В эти годы появились первые алгоритмические языки, а, следовательно, и первые системные программы – компиляторы.

• Появились первые системы пакетной обработки, которые просто автоматизировали запуск одной программ за другой и тем самым увеличивали коэффициент загрузки процессора.

В технической базе произошел переход от отдельных полупроводниковых элементов типа транзисторов к интегральным микросхемам.

Для этого периода характерно также создание семейств программно-совместимых машин. Первым семейством программно-совместимых машин, построенных на интегральных микросхемах, явилась серия машин IBM/360.

Операционные системы приобретают большинство основных качеств, характерных современным операционным системам.

IBM/360

PDP-7

На этом миникомпьютере родился UNIX.

ТРЕТИЙ ПЕРИОД (1965 – 1980)

• Появились большие интегральные схемы (БИС). В эти годы произошло резкое возрастание степени интеграции и удешевление микросхем. Компьютер стал доступен отдельному человеку, и наступила эра персональных компьютеров.

• Компьютеры стали широко использоваться неспециалистами, что потребовало разработки «дружественного» программного обеспечения, это положило конец кастовости программистов.

• В середине 80-х стали бурно развиваться сети персональных компьютеров, работающие под управлением сетевых или распределенных ОС.

Тип Цена ($) Сфера примененияОдноразовые компьютеры 1 Поздравительные открытки

Встроенные компьютеры 10 Часы, машины, различные приборы

Игровые компьютеры 100 Домашнее развлечение

Персональные компьютеры 1’000 Настольные и портативные ПК

Серверы 10’000 Сетевые серверы

Рабочие станции 100’000 Мини-суперкомпьютеры

Большие компьютеры 1’000’000 Обработка данных в банке

Суперкомпьютеры 10’000’000 Предсказание погоды на длительный срок

Компьютер – это машина, которая может решать задачи, выполняя данные ей команды.

1) сложить два числа

2) проверить равенство числа нулю

3) скопировать содержимое одной ячейки памяти в другую

1) Microsoft Office

2) Doom

3) Internet

4) …

Возможно ли это?

Как перейти от одного к другому?

процессор может… компьютер может…

Цифровой логический уровеньУровень 1

Микроархитектурный уровеньУровень 2

Уровень архитектуры командУровень 3

Уровень операционной системыУровень 4

Уровень языка ассемблераУровень 5

Язык высокого уровняУровень 6

Уровень аппаратного обеспеченияУровень 0

Джон фон Нейман

Выдающийся венгерский математик. В соавторстве с группой ученых сформулировал общие принципы построения электронных вычислительных машин, которые используются и по сей день.

...учась в институте, он посещал лекции известнейших математиков Германа Вейля и Джорджа Пойа. Последний вспоминал: “Он был единственным студентом, которого я всегда боялся. Если во время лекции я говорил о нерешенной проблеме, была вероятность того, что по окончании лекции он подойдет ко мне с полным решением, записанным несколькими каракулями на клочке бумаги”...

1) «Так как машина является в первую очередь средством для осуществления вычислений, она чаще всего будет выполнять элементарные арифметические операции. Следовательно, в ее составе должны быть специализированные органы для выполнения таких операций; эти органы образуют центральную арифметическую часть машины.»

2) «Логическое управление машиной, т.е. управление последовательностью ее операций, должна осуществлять центральная управляющая часть.»

3) «Машина, выполняющая длительную и сложную последовательность операций, должна обладать внутренней памятью большой емкости, которая могла бы хранить не только исходные данные, таблицы, промежуточные результаты вычислений и т.д., но и команды, определяющие тип операций, выполняемых машиной. Команды должны быть представлены числовым кодом, что позволяло бы осуществлять над ними различные операции.»

непрограммируемый калькулятор CITIZEN

первая ламповая ЭВМ ENIAC

“Программа”, вычисляемая “вычислительной системой”, “зашита” в аппаратную часть. Ничего кроме этой “программы” ВС делать не умеет.

A,B,C,D

add, adc, sub, imul, idiv, mov, …

32

−+

DBCA

32

−+

DBCA

MOV AX, 2IMUL AMOV BX, DXMOV CX, AXMOV AX, BIMUL CADD AX, CXADC DX, BXMOV CX, DSUB CX, 3IDIV CXMOV X, AX 3

2−+

DBCA

MOV AX, 2IMUL AMOV BX, DXMOV CX, AXMOV AX, BIMUL CADD AX, CXADC DX, BXMOV CX, DSUB CX, 3IMUL CXMOV X, AX

)3()2( −×+ DBCA

A, B, C, D

A, B, C, D

не фон неймановская архитектура

фон неймановская архитектура

Процессор(АЛУ, УУ)

Устройствавывода

Устройстваввода

Память(ОЗУ, ПЗУ) Внешняя память

Передача данныхУправление

АЛУ – арифметико-логическое устройство

УУ – управляющее устройство

• Центральный процессор – мозг компьютера. Выбирает из памяти инструкции и выполняет их. Обычный цикл работы центрального процессора выглядит так: он читает первую команду из памяти, декодирует ее, выполняет, затем считывает, декодирует и выполняет вторую, третью и так далее...

• Для каждого центрального процессора существует набор команд, который он в состоянии выполнить. Например, процессор Pentium не может обработать программы, написанные для SPARC, а процессор SPARC, не может выполнить программы, написанные для Pentium.

• Команды, выполняемые процессором, в общем случае являются простейшими: сложение, вычитание, умножение, деление двух чисел, различные логические операции, перемещение значения ячейки памяти из одного места в другое, и т.д.

В идеале память должна быть максимально быстрой (быстрее, чем обработка одной инструкции, чтобы работа центрального процессора не замедлялась обращениями к памяти), достаточно большой и чрезвычайно дешевой. На данным момент не существует технологий, удовлетворяющих всем этим требованиям, поэтому используется другой подход – иерархический:

регистры

кэш-память

основная память

магнитный диск

магнитная память оптический диск

время доступа,емкость

ценаза 1 байт

дай 0на 0

Когда процессор запрашивает какие-то данные из основной памяти, сначала проверяется кэш на наличие этих данных. Если они есть в кэше, то они из него и берутся. Если запрашиваемых данных в кэше нет, то они берутся из основной памяти и копируются не только в регистры процессора, но и в кэш память, чтобы следующее обращение к этим данным было максимально быстрым.

кэш основная память

0 1 2 3 4 5 ...0

3

4дай 1

дай 1на 11

на 1

дай 3на 3дай 1на 1

Универсальный принцип локальности:

Соседние в пространстве и времени объекты имеют схожие свойства.

Это применяется в кэше следующим образом: загружается не только тот “байт”, который нужен, но и несколько соседних с ним. Эмпирически доказано, что вероятность следующего обращения в память к близлежащей ячейке очень высока.

8 9 10 11 12

I обр.

II обр. (вероятнее всего)

в кэш загружается целый блок данных

Все остальные ресурсы компьютера можно отнести к ресурсам ввода-вывода, которые предоставляются устройствами ввода-вывода.

Каждое устройство ввода-вывода состоит из двух частей –контроллера (набор микросхем, физически управляющих устройством) и самого устройства.

Шина – это информационный канал, связывающий все компоненты компьютера в единое целое. По шине происходит взаимодействие центрального процессора, памяти и устройств ввода-вывода.

Центральный процессор

память

контроллер видеопамяти

монитор

контроллер жесткого диска

жесткий диск

шина