1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
Общие тезисы для понимания работы вычислительной техники
========================================================
Мне давно хотелось написать некое пособие, в котором вкратце рассказывалась
базовая информация об компьютерах в частности и об вычислительной техники в
целом. Таким образом я бы мог ссылаться не на огромные и иногда избыточные тома
Танненбаума или даже Введения в микроЭВМ, а на небольшую методичку, информацию
из которой можно было бы усвоить за один вечер.
Примерный план
--------------
1. История вычислительной техники. Цель создания, исторические катализаторы.
2. Многоуровневая ЭВМ, уровни абстракции: уровень машинных команд, уровень
микрокоманд, уровень ассемблера, уровень прикладных задач. Интерпретация и
компиляция. Почему стоит думать об уровнях ниже, даже если инструменты
позволяют нам это не делать? Положение дел на рынке труда, связанное с
большим количеством работы Java- и С#-программистов. Разделение
программирования на разные области. Системное программирование, олимпиадное
программирование, программирование бизнес-логики...
3. Общая архитектура ЭВМ: АЛУ, УУ, специализированные регистры (аккумулятор,
счётчик команд, регистры команд, данных и адреса), память, виды адресации.
4. БЭВМ без программирования микрокоманд и работы с ВУ.
5. Виды памяти (ПЗУ, ОЗУ, HDD, флеш-память), хранение данных в памяти, наследие
телеграфа, азбуки Морзе, ASCII.
6. Взаимодействие ЭВМ и ВУ, взаимодействие двух ЭВМ. OSI. Прерывания.
Параллельная и последовательная передачи данных.
7. Intel-ассемблер, реальный режим, защищённый режим, x64, объектные файлы,
препроцессинг, линковка (статическая, динамическая), заголовки (PE2, ELF),
8086, BIOS, таблица векторов прерываний, работа с внешними устройствами,
цель создания OS, DOS.
8. Зачем нужен Си? Написание простейших программ, указательная арифметика,
UNIX-way, работа с памятью, препроцессинг, компиляция, линковка (статическая,
динамическая), UNIX.
|