Kompyuter qanday ishlaydi
14-bob

Hammasi birgalikda

Bitta tugma bosilishini boshidan oxirigacha kuzatsangiz, kitobning barcha qatlamlari 10–30 millisekund ichida birin-ketin ishga tushganini ko'rasiz.

Endi o'rgangan barcha bilimlarni birlashtirib, oddiy bir harakat — klaviaturada 'A' harfini bosish — paytida kompyuter ichida nima sodir bo'lishini boshidan oxirigacha kuzatamiz. Bu jarayonda tranzistordan tortib operatsion tizim va ilovagacha deyarli barcha qatlamlar ishtirok etadi.

PCIe x16 HDMI USB IRQ Klaviatura A matritsa q2 · u1 kontakt skan 1 kHz MCU · HID kontrollerskan-kod: 0x04 ('A')hisobot 8 B: 00 00 04 00 … USB · 1.5 Mbit/sso'rov (poll) har 1 ms USB xHCI port 3 · HIDpaket qabul qilindi — IRQ → CPU (MSI) CPU Yadro 0Telegram Yadro 1bo'sh APIC · IRQ 0x21 → IDTholat saqlanadi → ishlovchi rejim: foydalanuvchi (halqa 3) 3.2 GHz · 1 ms = 3.2 mln takt RAM (DDR5 DIMM) Kernel (halqa 0) usbhid: 0x04 → KEY_A input · tartib: 'A' U+0041 faol oyna: Telegram → hodisa Telegram (halqa 3) · matn buferi Hodisalar jurnali (vaqt) GPU draw call: matn "SalomA" shrift → 'A' glifi 7×9 piksel shader yadrolari × 2048 VRAM · kadr buferi 0xB0000000 + (y·1920+x)·4 Monitor · 60 Hz Salom_ vsync kutilmoqda · 16.7 ms HDMI · 1920×1080 Bitta tugma: klaviatura → USB → CPU uzilishi → kernel → ilova → GPU → kadr buferi → monitor. Hammasi 10–30 ms ichida.
8 bosqich, taxminan 10–30 ms
TugmaMCUUSBIRQKernelIlovaGPUMonitorXulosa
Pastga suring yoki "Tugmani bos": 'A' harfining ekranga yo'li.
32-rasm. Tugma bosilishidan ekranda harf paydo bo'lishigacha
  1. Tugma bosilganda klaviatura matritsasidagi ikki o'tkazgich tutashadi.
  2. Klaviatura mikrokontrolleri buni aniqlaydi va 'A' tugmasining skan-kodini (0x04 USB HID standartida) hosil qiladi.
  3. Kompyuterning USB kontrolleri bu paketni qabul qiladi va protsessorga uzilish yuboradi.
  4. Protsessor joriy ishini to'xtatib, holatini saqlaydi va yadrodagi uzilish ishlovchisiga o'tadi.
  5. USB va klaviatura drayverlari skan-kodni "A tugmasi bosildi" hodisasiga aylantiradi; OS klaviatura tartibini (lotin, kirill) hisobga olib, uni 'A' belgisiga (Unicode U+0041) o'giradi va hozir faol oynaga ega ilovaga — masalan, Telegram'ga — uzatadi.
  6. Telegram ilovasi hodisani oladi va xabar matni saqlanadigan xotira sohasiga 65 sonini (01000001) qo'shadi.
  7. Ilova interfeysni qayta chizish kerakligini bildiradi; grafik tizim shriftdan 'A' harfining shaklini olib, GPU yordamida uni piksellarga aylantiradi va kadr buferiga yozadi.
  8. Monitor navbatdagi yangilanishda (1/60 soniyadan keyin) yangi kadrni ko'rsatadi.

Bu barcha bosqichlar taxminan 10-30 millisekund ichida bajariladi. Shu vaqt ichida protsessor o'nlab million buyruqni bajaradi, milliardlab tranzistorlar esa ulanib-uziladi. Va bularning barchasi — kuchlanish bor yoki yo'q degan oddiy g'oyaga asoslangan.

14.1. Yakuniy xulosa

Kompyuterni tushunishning kaliti — abstraksiya. Pastki darajada faqat elektronlar va kremniy bor. Ulardan tranzistor — boshqariladigan kalit yasaladi. Tranzistorlardan mantiqiy ventillar, ventillardan yig'uvchilar va xotira elementlari quriladi. Ulardan protsessor va xotira hosil bo'ladi. Protsessor faqat oddiy buyruqlarni bajaradi, lekin juda tez. Operatsion tizim apparatni boshqaradi va dasturlarga qulay interfeys beradi. Dasturlash tillari esa odamga o'z fikrini mashinaga tushunarli qilib ifodalash imkonini beradi. Har bir qatlam o'zidan pastdagisini yashiradi — shuning uchun siz tranzistorlar haqida o'ylamasdan, Telegram bot yoza olasiz.

kitobda Qatlam Ko'rinadigan narsa pastdan yuqoriga ↑ har qatlam pastdagisini yashiradi
FizikaTranzistorVentillarSxemalarMikroarx.ISAOSTilIlovaXulosa
Pastga suring: pog'onalar pastdan yuqoriga yonadi.
Abstraksiya qatlamlari. Elektronlardan Telegram botgacha: har bir qatlam faqat o'zidan bir pog'ona pastdagisiga tayanadi.
Dasturchi uchun amaliy foyda: bu bilimlar tufayli siz nega ba'zi kodlar sekin ishlashini (kesh, xotira, tarmoq kechikishi), nega server xotirasi to'lib qolishini (heap, xotira oqishi), nega bitta oqimli Node.js ko'p foydalanuvchiga xizmat qila olishini (asinxron I/O) va nega HTTPS zarurligini tushunasiz. Yaxshi dasturchi abstraksiyadan foydalanadi, lekin uning ostida nima borligini ham biladi.
Tekshirish: yuqoridagi test va barcha savollar