Kompyuter qanday ishlaydi
2-bob

Ma'lumot qanday ifodalanadi

Matn, rasm, tovush, video, dastur kodi — kompyuter ichida hammasi sonlar, sonlar esa 0 va 1 lar ketma-ketligi.

Kompyuter ichida harflar, rasmlar yoki tovushlar yo'q. U yerda faqat elektr signallari bor va ular ikki holatdan birida bo'ladi: yuqori kuchlanish (masalan, ~1 volt) yoki past kuchlanish (~0 volt). Biz ularni 1 va 0 deb belgilaymiz. Bu ikki holatli tizim ikkilik (binar) tizim deyiladi, bitta 0 yoki 1 esa bit (binary digit) deb ataladi.

Nega aynan ikki holat? Chunki elektronikada ikki holatni bir-biridan ajratish juda oson va ishonchli. Agar o'n holat (0 dan 9 gacha) ishlatilganda, kuchlanishdagi kichik shovqin 5 ni 6 ga aylantirib yuborishi mumkin edi. Ikki holat bilan esa "tok bor yoki yo'q" degan savolga javob berish kifoya — xato ehtimoli juda kichik.

2.1. Ikkilik sanoq tizimi

Biz odatda o'nlik tizimda sanaymiz: har bir xona o'ng tomondagisidan 10 barobar katta (birlar, o'nlar, yuzlar...). Ikkilik tizimda esa har bir xona 2 barobar katta: 1, 2, 4, 8, 16, 32, 64, 128 va hokazo. Ikkilik sonni o'nlikka o'girish uchun 1 turgan xonalarning qiymatlarini qo'shib chiqamiz.

Registr · 8 bit = 1 bayt LED ni bosib bitni o'zgartiring ossillograf: simdagi kuchlanish 1.0 V 0 V vaqt → Displey CPU shunday o'qiydi o'nlik 181 yig'indi hex0xB5 ASCII— 2⁸ = 256 xil qiymat: 0..255 Simda ~1 V — bu 1, ~0 V — bu 0. 0.1 V shovqin bo'lsa ham ikkalasini ajratish oson, shuning uchun ikkilik tizim.
0–255 (1 bayt)
KuchlanishBitlarYig'indiNatija
Pastga suring: ossillograf simdagi kuchlanishni bit-bit o'qiydi.
2-rasm. 10110101 ikkilik sonini o'nlik tizimga o'girish

Teskari yo'nalish — o'nlik sonni ikkilikka o'girish uchun sonni ketma-ket 2 ga bo'lib, qoldiqlarni yozib boramiz, keyin ularni pastdan yuqoriga o'qiymiz. Masalan, 13: 13/2 = 6 (qoldiq 1), 6/2 = 3 (0), 3/2 = 1 (1), 1/2 = 0 (1). Pastdan o'qisak: 1101. Tekshiramiz: 8 + 4 + 0 + 1 = 13.

son bo'linma qaytadi Kirish registri 13 o'nlik son ALU · ÷ 2 13 ÷ 2 = 6 qoldiq 1 Natija registri qoldiq → bit
Bo'lishQoldiq → bitBo'linma qaytadiNatija
Son kiriting va tugmani bosing: ALU sonni 2 ga bo'lib, qoldiqlarni bit sifatida yozadi.
O'nlikdan ikkilikka. Har qadamda 2 ga bo'lamiz, qoldiq (0 yoki 1) — navbatdagi bit. Qoldiqlar pastdan yuqoriga o'qiladi.
2-jadval. Sanoq tizimlari o'rtasidagi moslik
O'nlikIkkilikO'n oltilik (hex)
000000
100011
501015
910019
101010A
131101D
151111F
2551111 1111FF

Dasturchilar ko'pincha o'n oltilik (hexadecimal) tizimdan foydalanadi, chunki 4 bit aynan bitta hex raqamga to'g'ri keladi va uzun ikkilik sonlarni qisqa yozish mumkin bo'ladi. CSS'dagi #FF5733 rang kodi yoki xotira manzili 0x7FFE — bular hex yozuvi.

2.2. Bit, bayt va o'lchov birliklari

8 bit birlashib baytni tashkil qiladi. Bir bayt 28 = 256 xil qiymatni (0 dan 255 gacha) ifodalay oladi. Undan kattaroq birliklar:

3-jadval. Ma'lumot hajmi birliklari
BirlikHajmiMisol
1 bayt (B)8 bitbitta lotin harfi
1 kilobayt (KB)1024 baytqisqa matn xabari
1 megabayt (MB)1024 KBbitta sifatli rasm (~3 MB)
1 gigabayt (GB)1024 MBbitta HD film (~2-4 GB)
1 terabayt (TB)1024 GB~250 000 ta rasm

Diqqat: internet tezligi odatda bitda (Mbit/s), fayl hajmi esa baytda (MB) o'lchanadi. 100 Mbit/s tezlikda sekundiga taxminan 12.5 MB yuklab olinadi (100 / 8).

2.3. Matn: ASCII va Unicode

Harflarni saqlash uchun har bir belgiga son biriktiriladi. 1963-yilda yaratilgan ASCII standartida 128 ta belgi bor: lotin harflari, raqamlar va tinish belgilari. Masalan, katta 'A' = 65, kichik 'a' = 97, '0' raqami = 48. Kompyuter "Salom" so'zini aslida beshta son sifatida saqlaydi.

Klaviatura USB HID skan-kod: — CPU skan-kod → ASCII jadval (ASCII, 1963) — 1 belgi = 1 bayt = 8 bit Ekran _ Xotira (RAM) har katak — 1 bayt
TugmaSkan-kodASCII baytXotiraEkran
So'zni yozing va "Terib ko'rsat" ni bosing: har harf bayt bo'lib xotiraga tushadi.
3-rasm. "Salom" so'zining kompyuter xotirasidagi ko'rinishi

ASCII faqat ingliz alifbosi uchun yetarli edi. Kirill, arab, xitoy yozuvlari va emojilar uchun Unicode standarti yaratildi — unda 150 000 dan ortiq belgi bor. Unicode belgilarini xotirada saqlashning eng keng tarqalgan usuli UTF-8: lotin harflari 1 bayt, kirill harflari 2 bayt, xitoy ieroglifi 3 bayt, emoji esa 4 bayt egallaydi. Shu sababli JavaScript'da '😀'.length natijasi 2 ga teng chiqadi — bu dasturchilar tez-tez duch keladigan tuzoq.

2.4. Rasm: piksellar

Raqamli rasm — bu kichik kvadratchalar, ya'ni piksellar to'ri. Har bir piksel rangi uchta son bilan beriladi: qizil (R), yashil (G) va ko'k (B) komponentlar. Har bir komponent 0 dan 255 gacha bo'ladi, ya'ni 1 bayt. Demak bitta piksel 3 bayt, 1920x1080 o'lchamdagi siqilmagan rasm esa 1920 × 1080 × 3 ≈ 6.2 MB joy egallaydi. JPEG, PNG, WebP kabi formatlar maxsus algoritmlar yordamida bu hajmni 10-20 barobar kamaytiradi.

Kadr buferi (VRAM) 10×10 px · 300 bayt RGB … 0x00 … 0x12B: har piksel uchun 3 bayt ketma-ket manzil 3 bayt GPU skanlash 60 Hz SCAN piksel (x=—, y=—) manzil = (y·10 + x)·3 R = — G = — B = — rang 24 bit = 16.7 mln rang HDMI Monitor 10 × 10 piksel Full HD: 1920 × 1080 × 3 bayt = 6.2 MB har kadr; 60 Hz da sekundiga 373 MB kadr buferidan o'qiladi.
Kadr buferiSkanlashManzil3 baytPiksel
Pastga suring: GPU kadr buferini o'qib ekranni chizadi.
4-rasm. Rasm — piksellar to'ri, har bir piksel — uchta son

2.5. Tovush va video

Tovush — havo bosimining uzluksiz o'zgarishi, ya'ni to'lqin. Mikrofon uni elektr signaliga aylantiradi, so'ng analog-raqamli o'zgartirgich (ADC) bu to'lqinni juda tez-tez o'lchaydi. CD sifatida sekundiga 44 100 marta o'lchov olinadi va har bir o'lchov 16 bitli son sifatida saqlanadi. Ijro etishda teskari jarayon — DAC sonlarni yana to'lqinga aylantiradi.

Mikrofon analog signal analog: uzluksiz to'lqin +1 V−1 V ADC 16 bit · 44 100 Hz — −32768 … +32767 o'lchov 0 Xotira (RAM) har o'lchov 2 bayt … 44 100 × 16 bit = 88 KB/s (mono) DAC son → kuchlanish kutilmoqda ijro: teskari yo'l DAC chiqishi: zinapoya to'lqin Karnay tovush CD sifati: 44 100 o'lchov/s × 16 bit × 2 kanal = 1 411 kbit/s. MP3 buni ~10 barobar siqadi.
MikrofonADC o'lchaydiXotiraDAC tiklaydiXulosa
Pastga suring: ADC to'lqinni sonlarga aylantiradi, DAC ularni yana to'lqinga.
5-rasm. Tovushni raqamlashtirish (diskretizatsiya)

Video esa sekundiga 24-60 marta almashadigan rasmlar ketma-ketligi va ularga biriktirilgan tovush. Siqilmagan Full HD video sekundiga ~370 MB bo'lar edi, shuning uchun H.264, H.265, AV1 kabi kodeklar faqat kadrlar orasidagi farqni saqlaydi va hajmni yuzlab marta kamaytiradi.

Xulosa: matn, rasm, tovush, video, dastur kodi — hammasi oxir-oqibat sonlar, sonlar esa bitlar ketma-ketligi. Kompyuter ma'lumot turini "bilmaydi"; uni qanday talqin qilishni dastur hal qiladi.
Tekshirish: yuqoridagi test va 2-savol, 3-savol