Лого на 91. НЕГ „Проф. Константин Гълъбов“

Модул 1 · Урок 1

Компютърът

Какво е компютър, видове, архитектура на фон Нойман, основни хардуерни компоненти и как се изпълнява програма.

Какво е компютър

Компютърът е електронно устройство, което приема данни (вход), обработва ги по правила, зададени от програма, и връща резултат (изход). Същността му не е в това „да смята" — а в това да изпълнява последователност от инструкции произволно много пъти, бързо и точно.

Запомни

Компютърът прави само три неща: чете данни, обработва ги по програма и запазва или извежда резултат.

Видове компютри

ВидПримериХарактерно
Персонален (PC)настолен, лаптопза общо ползване — учене, работа, забавление
Сървъруеб сървър, БД сървъробслужва много потребители едновременно, работи 24/7
Мобиленсмартфон, таблетограничени батерия и ресурси, сензори
Вграденпералня, кола, медицински апаратедна специфична задача
Суперкомпютърза научни симулации, AI обучениехиляди процесори, паралелни изчисления

Архитектура на фон Нойман

Почти всички съвременни компютри са устроени по модела, предложен от математика Джон фон Нойман през 1945 г. Основната му идея е революционна за времето си: програмата и данните се пазят в една и съща памет. Това позволява една и съща машина да изпълнява различни задачи — само като ѝ заредим различна програма.

Процесор (CPU)Управляващо у-во (CU)АЛУРегистриПамет (RAM)програма + данниВходно/Изходни у-ваклавиатура · монитор · дискшинашина
Фиг. 1 — Архитектура на фон Нойман: процесор, памет и входно/изходни устройства, свързани с шини

Моделът съдържа четири основни части:

  • Процесор (CPU) — извършва изчисленията. Съдържа АЛУ (Аритметично-логическо у-во), CU (Управляващо у-во) и регистри (свръхбърза малка памет).
  • Памет — съхранява програмата (инструкциите) и данните, върху които процесорът работи в момента.
  • Входни устройства — клавиатура, мишка, микрофон, сензори, мрежова карта.
  • Изходни устройства — монитор, принтер, слушалки, мрежова карта.

Защо „шина"?

Шина (bus) е група проводници, по които се пренасят данни между компонентите. Има шина за данни (какво се пренася), адресна шина (откъде/накъде) и управляваща шина (команди като „чети", „пиши").

Процесорът отвътре

Процесорът е „мозъкът" на компютъра. Скоростта му се измерва в херци (Hz) — колко такта прави за секунда. Съвременен процесор работи на около 3–5 GHz (3–5 милиарда такта в секунда) и обикновено има няколко ядра — отделни процесорни единици, които могат да работят паралелно.

АЛУ — Аритметично-логическо устройство

Извършва аритметичните операции (събиране, изваждане, умножение, деление) и логическите (И, ИЛИ, НЕ, сравнение).

CU — Управляващо устройство

Чете следващата инструкция от паметта, разпознава какво трябва да се направи, и нарежда на АЛУ и другите модули да го изпълнят.

Регистри

Свръхбърза, но много малка памет вътре в процесора — обикновено десетки места по 64 бита. Тук се държат стойностите, върху които АЛУ работи в момента.

Цикъл „вземане — изпълнение"

Това, което прави процесорът непрекъснато (милиарди пъти в секунда), е един прост цикъл:

1. Fetchвземи инстр.2. Decodeразпознай3. Executeизпълни4. Storeзапишиповтаря се
Фиг. 2 — Fetch-Decode-Execute цикълът се повтаря, докато компютърът работи

Памет — видове и йерархия

В компютъра има няколко вида памет, които се различават по скорост, обем и дали запазват съдържанието си, когато ги изключим. Колкото една памет е по-бърза, толкова е по-скъпа и по-малка.

Регистри (в CPU)най-бързо< 1 KBКеш (L1/L2/L3)много бързоMBRAM (опер. памет)бързоGBSSD / HDDбавноTBОблак / Мрежанай-бавно
Фиг. 3 — Йерархия на паметта: горните нива са по-бързи, но по-малки
RAM (Random Access Memory)ROM / HDD / SSD
Енергозависима?Да — губи всичко при изключванеНе — запазва данните и без ток
СкоростВисокаПо-ниска (особено HDD)
За каквоТекущо изпълнявани програми и данниДългосрочно съхранение на файлове
Обем8–64 GB обикновено256 GB – няколко TB

Защо RAM е важна за програмиста?

Когато една програма работи бавно, често причината е, че работи с много данни, които не се събират в RAM, и системата започва да чете от диска. Това е стотици пъти по-бавно. Затова добрите алгоритми пестят памет.

Как се изпълнява една програма

Когато стартирате Visual Studio и пуснете C# програма, под капака се случва приблизително следното:

  1. Двойно щракване на иконата → операционната система намира файла на диска (HDD/SSD).
  2. Файлът се зарежда в RAM — паметта, до която процесорът има бърз достъп.
  3. CU чете първата инструкция от RAM и я подава на АЛУ или съответния модул (Fetch → Decode → Execute).
  4. Резултатите се записват в регистрите или обратно в RAM.
  5. При нужда, програмата чете от клавиатурата или показва нещо на монитора (вход/изход).
  6. Когато програмата приключи, мястото в RAM се освобождава.

Кодът на C#, който ще пишете, ще премине през още един етап преди това: компилиране — превод в инструкции, които процесорът разбира. За това ще говорим в следващия урок.

Двоично представяне — кратко въведение

Колкото и сложно нещо да прави компютърът, дълбоко вътре той работи само с 0 и 1 — защото токът или тече, или не тече. Една такава клетка се нарича бит.

ЕдиницаКолкоПример
1 бит (b)0 или 1вкл./изкл.
1 байт (B)8 битаедна буква на латиница
1 KB1024 байта≈ кратък имейл
1 MB1024 KB≈ една снимка
1 GB1024 MB≈ 1 час видео
1 TB1024 GB≈ голяма филмова библиотека

Бележка

Всичко — числата, буквите, изображенията, звукът, програмите — се кодира като последователност от битове. Различните типове данни (за които ще говорим в урок 3) просто казват как да четем тези битове.

Какво трябва да запомниш

  • Компютърът = вход → обработка по програма → изход.
  • Архитектура на фон Нойман: CPU + памет + В/И, свързани с шини. Програмата и данните са в една и съща памет.
  • CPU = АЛУ (смята) + CU (управлява) + регистри (свръхбърза малка памет).
  • RAM е енергозависима и бърза; HDD/SSD са трайни, но по-бавни.
  • Процесорът непрекъснато повтаря Fetch–Decode–Execute.
  • Всичко в компютъра се представя с битове (0 и 1); 8 бита = 1 байт.