Kompyuter qanday ishlaydi
5-bob

Kompyuter arxitekturasi

Dastur ham, ma'lumot ham bitta xotirada — shu oddiy g'oya 80 yildan beri barcha kompyuterlarning asosi.

1945-yilda matematik Jon fon Neyman kompyuter qurilishining umumiy sxemasini taklif qildi. Bu sxema fon Neyman arxitekturasi deb ataladi va bugungi deyarli barcha kompyuterlar unga asoslanadi. Uning asosiy g'oyasi: dastur ham, ma'lumot ham bitta xotirada saqlanadi. Bungacha kompyuterni qayta dasturlash uchun simlarni qo'lda qayta ulash kerak edi (ENIAC'ni qayta dasturlash bir necha kun olardi). Endi esa yangi dasturni xotiraga yuklash kifoya.

Markaziy protsessor (CPU) ichki shina bitta umumiy shina manzil · ma'lumot · boshqaruv (o'qi / yoz) Boshqaruv (CU) FETCH DECODE EXEC STORE xotira kutilmoqda: 0 marta buyruq kutilmoqda ALU AB Registrlar PC0keyingi buyruq manzili IR— ACC—akkumulyator Kirishklaviatura, mouse signal Chiqishmonitor, printer _ Xotira (RAM) dastur + ma'lumot birga
5 ta buyruq: a + b ni hisoblab, xotiraga yozadi va chiqaradi. Har xotiraga murojaatda CPU kutib turadi.
FetchDecodeExecuteStoreXulosa
"Boshla" tugmasini bosing yoki pastga suring: sahna o'zi boshlanadi.
11-rasm. Fon Neyman arxitekturasi. Dastur ham, ma'lumot ham bitta xotirada; buyruq ham, ma'lumot ham bitta shinadan o'tadi. Shuning uchun har murojaatda protsessor xotirani kutadi — tor bo'g'iz.

Arxitekturaning beshta asosiy qismi bor: (1) arifmetik-mantiqiy qurilma (ALU) — hisob-kitob va taqqoslashni bajaradi; (2) boshqaruv qurilmasi (CU) — buyruqlarni o'qib, qolgan qismlarga nima qilish kerakligini aytadi; (3) xotira — dastur va ma'lumotlarni saqlaydi; (4) kirish qurilmalari; (5) chiqish qurilmalari. ALU, CU va registrlar birgalikda markaziy protsessor — CPU'ni tashkil qiladi.

5.1. Fon Neyman "tor bo'g'izi"

Bu arxitekturaning zaif tomoni ham bor. Protsessor juda tez ishlaydi, lekin xotiraga murojaat ancha sekin. Buyruq ham, ma'lumot ham bitta yo'ldan (shinadan) o'tgani uchun protsessor ko'pincha xotiradan ma'lumot kelishini kutib, "bekor" turadi. Bu muammo fon Neyman tor bo'g'izi (bottleneck) deyiladi. Zamonaviy kompyuterlar uni kesh xotira, konveyer, parallel ishlov berish kabi usullar bilan yumshatadi — ular haqida keyingi boblarda gaplashamiz. Ba'zi tizimlar (mikrokontrollerlar, DSP) esa dastur va ma'lumot uchun alohida xotira ishlatadigan Garvard arxitekturasidan foydalanadi.

5.2. Abstraksiya qatlamlari

Kompyuterni tushunishning eng yaxshi usuli — uni qatlamlar sifatida ko'rish. Har bir qatlam o'zidan pastdagi qatlamning murakkabligini yashiradi va yuqoridagi qatlamga oddiy "interfeys" taqdim etadi. Siz JavaScript'da kod yozganingizda tranzistorlar haqida o'ylamaysiz — va aynan shu tufayli murakkab dasturlar yaratish mumkin bo'ladi. Bu darslik pastdan yuqoriga qarab harakatlanadi: biz fizika va tranzistorlarni ko'rib chiqdik, endi protsessor ichiga kiramiz.

Qatlamlar: yuqorida odam, pastda fizika IlovaTelegram bot, sayt Dasturlash tiliJS, Python Operatsion tizimLinux, Windows Mashina kodi (ISA)x86, ARM buyruqlari Mikroarxitekturakonveyer, kesh Mantiqiy sxemalaryig'uvchi, registr VentillarAND, OR, NOT Tranzistorlarkalit Fizikaelektronlar, kremniy Shu qatlamda bitta harakat qanday ko'rinadi harakat: /start keldi, bot "Salom!" deb javob beradi Ilova /start → bot 'Salom!' Har qatlam pastdagisining murakkabligini yashiradi va yuqoridagiga oddiy interfeys beradi. Dasturchi 2-qatlamda yozadi. Bitta sendMessage() → minglab buyruq → milliardlab tranzistor ulanishi.
IlovaTilOSISAMikroarx.SxemaVentilTranzistorFizika
Bitta harakat 9 qatlam bo'ylab pastga tushadi. Sahna o'zi boshlanadi.
12-rasm. Kompyuterning abstraksiya qatlamlari: fizikadan ilovagacha
Tekshirish: yuqoridagi test va 7-savol