9.63M
Категория: ИнформатикаИнформатика

Устройство компьютера. Занятие 2

1.

Jav
a
Как и о чем
думает комп
Занятие 2. Устройство компьютера.

2.

Повестка дня
История
Процессор
Ассемблер
Проследим историю
вычислительной техники
от ламповых до
квантовых компьютеров
Посмотрим как
транзисторы позволяют
процессору совершать
миллиарды операций в
секунду
Напишем программу для
процессора на
низкоуровневом языке
ассемблера

3.

Не бывает глупых вопросов
—девиз нашего курса

4.

Код Морзе
Один из первых широко
распространенных двоичных кодов.
Был придуман в 1838 г. для передачи
сообщений через телеграф.
Техника и коды
Компьютеры передают информацию
также с помощью двоичного кода, только
вместо точек и тире 1 и 0

5.

Телеграф
Для передачи кода Морзе по
проводам использовался телеграф.
Короткий удар ключом
соответствовал точке из азбуки
Морзе, длительное нажатие —
тире.

6.

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

7.

Компьютер на
лампах
Ламповые компьютеры были популярны
в середине XX века и использовали
вакуумные лампы для обработки
информации. Они были очень
громоздкими и требовали большого
количества энергии.

8.

27 тонн
вес известного лампового компьютера ЭНИАК

9.

Работа транзистора
Если приложить напряжение к базе, то
канал открывается и транзистор передает
единицу.
При отсутствии напряжения “ключ
закрыт” и ток не течет. Это ноль.

10.

Добавляем логику
Логические вентили
собираются из
транзисторов и
позволяют изменять
выходное значения по
особым правилам.
0 AND 0 = 0
1 AND 0 = 0
0 AND 1 = 0
1 AND 1 = 1
0 XOR 0 = 0
1 XOR 0 = 1
0 XOR 1 = 1
1 XOR 1 = 0
0 OR 0 = 0
1 OR 0 = 1
0 OR 1 = 1
1 OR 1 = 1

11.

Сохранение данных
Простейший триггер из логических
вентилей позволяет хранить один
бит информации. Если 1 приходит на
вход Установка, то на выходе тоже 1,
если же на Сброс, то выход
соответственно сбрасывается в 0

12.

Регистр
Если соединить 8
триггеров между
собой получится 8
битный регистр. 8
бит = 1 байт

13.

Вычисления
Полусумматор позволяет складывать
2 одноразрядных числа. 10 в
двоичной системе счисления
равняется 2 в десятичной.
0 AND 0 = 0 0 XOR 0 = 0 0+0= 00
0 AND 1 = 0 0 XOR 1 = 1 0+1= 01
1 AND 0 = 0 1 XOR 0 = 1 1+0= 01
1 AND 1 = 1 1 XOR 1 = 0 1+1= 10

14.

10.000.000.000
столько примерно транзисторов содержат современный
процессоры

15.

Упрощенная схема процессора

16.

Упрощенная схема компьютера

17.

Примерное устройство команд процессора
Код операции Код регистра
Что необходимо сделать с
числовыми данными,
например, сложить.
Число
Номер одного из регистров Просто число, в данном
процессора, например DX примере это число 11
Когда процессор
прочитает данную
инструкцию он
поймет, что ему
нужно прибавить к
числу, которое
хранится в регистре
DX число 11 и
положить в
результат в этот же
регистр.
1111 1011 1100 1011

18.

Команды ассемблера
MOV
ADD
Команда для пересылки
и записи чисел в
регистры процессора
Команда для сложения
чисел
mov 12, R0
такой командой мы
запишем число 12 в
регистр R0
add 12, R0
прибавить 12 к тому
числу, которое лежит в
регистре R0, результат
записать в R0
OUT
Команда для отправки
числа на внешний порт
(например, чтобы
отправить данные на
монитор)
out R0, P1
отправить число из
регистра R0 в порт P1

19.

IT релакс
Как работает
процессор

20.

Пишем на
ассемблере
Скачаем тренажёр Лампанель с сайта
https://kpolyakov.spb.ru/prog/lamp.htm
и напишем программу на ассемблере

21.

Устройство программы
Это ламповая панель,
каждому ряду лампочек
соотвествует свой порт
от P0 до P7
Это регистры
процессора и данные
которые в них хранятся,
в двоичной системе
счисления
Сюда пишется код
программы
Тут в оперативной памяти
хранится программа

22.

Как зажечь лампочку?
0000000000000010
Чтобы зажечь лампочку,
в числе которое
записано в порт этого
ряда, на том месте, где
находится лампочка,
должна находиться 1
В порт P0 записано число 2 в
шестнадцатеричной системе
счисления, что равно 10 в
десятичной, поэтому горит вторая
лампочка

23.

Как зажечь лампочку?
Допустим мы хотим чтобы зажглась 4 справа
лампочка в 3 сверху ряду, это порт P2
Значит число которое мы должны записать в
этот порт 000000000001000 в двоичной
системе, что равно 0008 в шестнадцатеричной
(для перевода удобно использовать
специальные сайты
Код на ассемблере: mov 8, R0
out R0, P2
Сначала число 8 нужно записать в регистр с помощью команды MOV, а потом из регистра
отправить в порт с помощью команды OUT. Profit!

24.

Задача 1
Напиши программу, которая зажигает 4
только центральные лампочки.

25.

Задача 2
Напиши программу, которая выводит
первую букву вашего имени.

26.

А зачем это
вообще знать?
Знание архитектуры компьютера
помогает программисту лучше понимать
свой рабочий инструмент т.е. компьютер.

27.

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

28.

Интресное по теме
https://www.iphones.ru/iNotes/775559
—статья про устройство процессора
https://habr.com/ru/companies/ua-hosting/articles/395497/
—легендарные компьютеры истории
Чарльз Петцольд - Код. Тайный язык информатики
—книга об устройстве ЭВМ простым языком
English     Русский Правила