Басқару құрылғысы, АЛУ, регистрлер жұмысы
Ноутбугыңды сатып алғанда «Intel Core i5, 4 ядро, 3.2 ГГц» деген сипаттаманы көресің. Бұл сандар нені білдіреді, компьютердің ІШІНДЕ нақты не болып жатыр? Жауап — 1945 жылы ойлап табылған, бүгінге дейін қолданылатын архитектурада жатыр. Осы сабақта компьютердің «миы» — процессордың қалай жұмыс істейтінін ашамыз.
1945 жылы математик Джон фон Нейман (ЭНИАК компьютерін құрастырған топтың мүшесі) компьютердің жұмыс принципін ұсынды. Қызығы сол — 70 жылдан астам уақыт өтсе де, қазіргі дербес компьютерлердің БАРЛЫҒЫ дәл осы архитектураға негізделген!
1. Екілік кодтау — барлық ақпарат (дерек те, команда да) 0 және 1 түрінде сақталады.
2. Жадтың біркелкілігі — командалар мен деректер БІР жадта, бірдей түрде сақталады — тек қолдану тәсілі ажыратады.
3. Адрестік қағида — жад нөмірленген ұяшықтардан тұрады, әр ұяшыққа адресі арқылы қол жеткізіледі.
4. Программалық басқару — есеп жадта тізбектеліп орналасқан командалар (программа) түрінде шешіледі.
Компьютер үш негізгі бөліктен тұрады: процессор, жедел есте сақтау құрылғысы (ЖЕСҚ) және енгізу/шығару құрылғылары. Барлығы жүйелік шина арқылы байланысады. Процессордың өзі екі негізгі блоктан тұрады — оларды кезекпен қарастырайық.
Арифметикалық-логикалық құрылғы (АЛҚ) — процессордың арифметикалық (қосу, азайту) және логикалық (ЖӘНЕ, НЕМЕСЕ, салыстыру) операцияларды нақты орындайтын орталық бөлігі.
АЛҚ-ға команда «код» түрінде беріледі, ол қандай операция орындау керегін көрсетеді:
| Басқару коды | Функция |
|---|---|
| 000 | A AND B |
| 001 | A OR B |
| 010 | A + B |
| 110 | A − B |
| 111 | SLT (салыстыру) |
Ал АЛҚ өзі не істеу керегін қайдан біледі? Мұны басқа блок шешеді:
Басқару құрылғысы (БҚ) — процессордың барлық компонентінің (жад, АЛҚ, енгізу/шығару) жұмысын үйлестіретін «дирижер» блогы; ағымдағы команданың қандай қадамдармен орындалатынын анықтайтын сигналдар жасайды.
Процессор әр команданы төрт қайталанатын қадаммен орындайды — бұл цикл секундына миллиардтаған рет қайталанады:
| Қадам | Не істейді |
|---|---|
| 1. Таңдау (fetch) | Команда жадтан өз адресі бойынша алынады |
| 2. Декодтау (decode) | Команда процессорға түсінікті нұсқауға аударылады |
| 3. Орындау (execute) | АЛҚ-ға нұсқау беріледі немесе дерек жылжытылады |
| 4. Атқару (жазу) | Нәтиже жадқа жазылады |
Осы циклде «қайда тұрмыз» дегенді қалай білеміз? Мұны сақтайтын арнайы кішкентай жад ұяшықтары бар:
Регистр — екілік кодтар түріндегі ақпаратты жазуға, сақтауға және түрлендіруге арналған, процессордың ІШІНДЕГІ ЕҢ ЖЫЛДАМ жады.
| Регистр түрі | Қызметі |
|---|---|
| Командалар санауышы | Келесі орындалатын команданың адресін сақтайды |
| Командалар регистрі | Ағымдағы команданың кодын уақытша сақтайды |
| Сумматор | Қосылғыштар мен есептеу нәтижесін сақтайды |
Әр команда орындалғаннан кейін командалар санауышы автоматты түрде БІРЛІККЕ артады — келесі команданы көрсету үшін. Ал егер программа тізбектей емес, басқа ретпен орындалуы керек болса (мыс. цикл немесе шартты тармақталу), арнайы өту командасы санауышқа басқа адресті жазады.
Процессордың әртүрлі бөліктері бір-бірімен қалай «сөйлеседі»? Арнайы «жолдар» арқылы:
Шина — сандық ақпаратты тасымалдайтын өткізгіштер тобы. Үш түрі бар: деректер шинасы (деректің өзін тасиды), адрестік шина (қай ұяшыққа бару керегін көрсетеді), басқару шинасы (оқу/жазу сияқты команда сигналдарын жібереді).
Ал ноутбук сатып алғанда көретін сипаттамалар нені білдіреді?
| Сипаттама | Мағынасы |
|---|---|
| Ядролар саны | Бір мезгілде бірнеше қосымшаның жұмыс істеуіне мүмкіндік береді |
| Процессор жиілігі | Деректің шина арқылы жіберілу жылдамдығы |
| Жылу бөлінуі (Ватт) | Салқындату жүйесі қандай қуатпен жұмыс істеу керегін көрсетеді |
- Фон Нейман архитектурасы 4 қағидаға негізделеді: екілік кодтау, жадтың біркелкілігі, адрестік қағида, программалық басқару.
- АЛҚ есептеуді орындайды, БҚ барлық компонентті басқарады.
- Процессор циклі: таңдау → декодтау → орындау → атқару, секундына миллиардтаған рет қайталанады.
- Регистрлер — процессордың ішіндегі ең жылдам, кішкентай жады (командалар санауышы, сумматор және т.б.).
- Үш шина түрі (деректер, адрес, басқару) процессор бөліктерін байланыстырады.