Kirish-chiqish qurilmalari va GPU
Bosilgan tugma qanday aniqlanadi, tasvir xotiradan ekranga qanday yetib boradi va nega sun'iy intellekt uchun aynan videokarta kerak.
Kompyuter tashqi dunyo bilan kirish-chiqish (I/O) qurilmalari orqali muloqot qiladi. Kirish qurilmalari: klaviatura, sichqoncha, sensorli ekran, mikrofon, kamera, skaner. Chiqish qurilmalari: monitor, karnay, printer. Ikkala yo'nalishda ham ishlaydigan qurilmalar: tarmoq kartasi, disklar, USB fleshka.
10.1. Klaviatura va sichqoncha
Klaviatura ichida tugmalar qatorlar va ustunlardan iborat matritsa shaklida ulangan. Klaviatura mikrokontrolleri sekundiga yuzlab marta har bir qatorga navbatma-navbat signal berib, qaysi ustunda tok paydo bo'lishini tekshiradi — shu tarzda bosilgan tugma aniqlanadi. So'ng tugmaning skan-kodi USB orqali kompyuterga yuboriladi. Optik sichqonchada esa kichik kamera sekundiga minglab marta stol yuzasini suratga oladi va rasmlar orasidagi siljishdan harakat yo'nalishi va tezligini hisoblaydi.
10.2. Monitor
Monitor ekrani piksellar matritsasidan iborat. Har bir piksel uchta kichik subpikseldan tashkil topgan: qizil, yashil va ko'k. Ularning yorqinligini o'zgartirish orqali ko'z millionlab rang ko'radi. LCD ekranlarda orqa yorug'lik manbai va har bir subpiksel oldida yorug'likni o'tkazadigan yoki to'sadigan suyuq kristall bor. OLED ekranlarda esa har bir subpikselning o'zi yorug'lik chiqaradi, shuning uchun qora rang haqiqiy qora bo'ladi.
Ekranga chiqariladigan tasvir videokarta xotirasidagi kadr buferida saqlanadi. 60 Hz monitor sekundiga 60 marta shu buferni o'qib, har bir pikselni yangilaydi. O'yinchilar uchun 144-240 Hz monitorlar harakatni silliqroq ko'rsatadi.
10.3. GPU — grafik protsessor
GPU (videokarta) dastlab 3D grafikani chizish uchun yaratilgan. 3D sahna millionlab uchburchaklardan iborat va ekrandagi har bir pikselning rangini hisoblash kerak — bu bir xil turdagi, lekin bir-biriga bog'liq bo'lmagan juda ko'p hisob. CPU bunday ish uchun qulay emas: unda bir nechta, lekin juda "aqlli" yadrolar bor. GPU'da esa minglab oddiy yadrolar bor, ular bir vaqtning o'zida bitta amalni turli ma'lumotlar ustida bajaradi.
O'xshatish: CPU — bu bir nechta professor, ular har qanday murakkab masalani yecha oladi. GPU — bu minglab boshlang'ich sinf o'quvchisi, ularning har biri faqat oddiy qo'shish-ko'paytirishni biladi, lekin birgalikda million misolni bir zumda yechib tashlaydi. Sun'iy intellekt modellarini (masalan, neyron tarmoqlarni) o'qitish aynan shunday — milliardlab oddiy matritsaviy ko'paytirishlar. Shuning uchun bugun GPU'lar AI inqilobining asosiy dvigateliga aylandi. PyTorch'da model.to('cuda') yozganingizda, hisoblar NVIDIA GPU yadrolariga o'tkaziladi.
10.4. Qurilmalar bilan aloqa: drayverlar va DMA
Har bir qurilma o'zining "tilida" gapiradi. Operatsion tizim ular bilan drayver — qurilma ishlab chiqaruvchisi yozgan maxsus dastur orqali muloqot qiladi. Katta hajmdagi ma'lumotni (masalan, diskdan faylni) ko'chirishda protsessorni band qilmaslik uchun DMA (to'g'ridan-to'g'ri xotiraga murojaat) texnologiyasi ishlatiladi: protsessor faqat "shu ma'lumotni diskdan RAM'ning mana bu joyiga ko'chir" deb buyruq beradi va o'z ishini davom ettiradi. Ko'chirish tugagach, qurilma uzilish orqali xabar beradi.