Кодування інформації у комп’ютері
Поговоримо про те, як фізично представлена інформація у комп'ютері. Ось на аркуші підручника літери представлені друкарською фарбою, в людському мозку інформація представлена електричними імпульсами, що передаються з однієї нервової клітини мозку до іншої. У комп'ютері прийнятий той самий спосіб уявлення, що і в мозку - з одного пристрою комп'ютера до іншого та всередині пристроїв інформація передається електричними імпульсами. Подивимося детальніше, як електричні імпульси несуть інформацію.
Насамперед зауважимо, що у комп'ютері - це програми чи дані, із якими ці програми працюють.
З чого складається програма? Програма мовою програмування складається з команд, записаних за допомогою букв, цифр, символів математичних дій, розділових знаків та інших символів [4]. Будемо розуміти підсимволом будь-який знак (літеру, цифру, знак математичної дії, розділовий знак та ін), який розуміє комп'ютер. Більшість символів можна бачити на клавіатурі.
З чого складаються дані? Якщо це числові чи текстові дані, вони теж складаються з символов[5]. Про графічні дані (зображення) і звук поговоримо трохи нижче.
Таким чином, значна частина інформації в комп'ютері складається із символів. Подивимося, як на комп'ютері представлені символи. Для цього пригадаємо, як кодуються символи в абетці Морзе, яка активно використовувалася недавно для передачі повідомлень на відстань. Кожен символ (літера, цифра) представлений у ній ланцюжком крапок та тирі. Наприклад, буква А представлена як.-, буква Ч - як---.. У комп'ютері кожен символ теж кодується, але по-іншому – ланцюжком із восьми одиниць та нуліків. Наприклад, буква А представлена як 10000000, буква Ч - як 10010111, а цифра 7 як00110111.
До речі, ось корисне завдання для майбутнього програміста: Скільки всього символів можна закодувати ланцюжком з восьми одиниць та нуліків?
Поки ми з вами говорили про символи та їхнє кодування безвідносно до того, якими фізичними процесами вони представлені в комп'ютері. Ми були на так званому «логічному» рівні. Тепер перейдемо на фізичний рівень. Нехай пам'ять передає на принтер букву Ч. У цьому випадку вона посилає по шині протягом, скажімо, восьми мікросекунд, серію восьми електричних імпульсів або проміжків між імпульсами:
Перша мікросекунда – імпульс
Друга мікросекунда – проміжок
Третя мікросекунда – проміжок
Четверта мікросекунда – імпульс
П'ята мікросекунда – проміжок
Шоста мікросекунда – імпульс
Сьома мікросекунда - імпульс
Восьма мікросекунда – імпульс
Як бачите, послідовність імпульсів і проміжків у серії відповідає послідовності одиниць і нуліків у коді літери Ч. Величина імпульсу не відіграє жодної ролі, всі імпульси в мікросхемах комп'ютера мають зазвичай одну й ту саму величину, скажімо 3 вольти.
Таким же приблизно обмінюються групами з 8 імпульсів всі пристрої комп'ютера. У пам'яті ці групи живуть у "замороженому" вигляді. У кожному байті оперативної пам'яті або пам'яті на диску вміщується одна така група, тому кажуть, що пристрої обмінюються байтами інформації.
У оперативної пам'яті одиниця є наявністю електричного потенціалу у певній точці електронної мікросхеми, а нулик - його відсутністю. У пам'яті на магнітних дисках одиниця є наявністю намагніченості в певній точці диска, а нулик - його відсутністю або намагніченістю в іншому напрямку. Укомпакт-диска одиниця - це борозенка або горбок у певній точці диска, а нулик - його відсутність, тобто ділянку з дзеркальною поверхнею.
Коли кодується зображення, то кодується інформація про кожен піксел зображення (у вигляді групи одиниць і нуліків). Наприклад,
Код 111 – піксел горить білим кольором
Код 100 – піксел горить синім кольором
Код 010 – піксел горить червоним кольором
Код 001 – піксел горить зеленим кольором
Код 000 – піксел не горить (чорний)
Якщо програма призначена для друку зображення з екрана монітора на кольоровому принтері, то вона просто посилає на принтер по черзі коди інформації про кожен піксел зображення.
При кодуванні звуку використовуються різні способи, але факт те, що результатом кодування є ті самі групи одиниць і нуликів.
Насамкінець зазначу дві неточності в моєму викладі матеріалу цього пункту. Я говорив, що одиночки в різних пристроях комп'ютера є наявністю потенціалу або намагніченості або борозенок і т.д., а ось нулі - їх відсутністю. Насправді в окремих пристроях може бути і навпаки - одиниці це відсутність, а нулі - наявність. Це не принципово.
Друге: коди чисел у комп'ютері часто є сукупністю кодів цифр, ці числа утворюють. Так, число 88 часто не представляється ланцюжком 00111000 00111000, а кодування чисел використовується інший, більш економний спосіб.
Вивод – будь-яка інформація в комп'ютері закодована у вигляді ланцюжків, що складаються з одиниць і нулів, і в такому закодованому вигляді передається всередині пристроїв та між пристроями комп'ютера. Зазвичай довжина ланцюжка дорівнює 8 і тоді такий ланцюжок називаєтьсябайтом, а кожен з восьми нуликів або одиниць називаєтьсябітом. Таким чином, 1 байт = 8 бітів.
________ _ _________
Мені здається, тих відомостей, які ви отримали в цій частині, достатньо для того, щоб приступити до свідомого програмування на Паскалі.