Кіріспе

Компьютердің негізгі жұмыс циклы

Нұсқау циклы (сондай-ақ, іздеу-декодтау-орындау циклы немесе жай ғана іздеу-орындау циклы деп аталады) – орталық процессордың (CPU) компьютерді қосудан бастап, өшіруге дейін нұсқауларды өңдеу үшін орындалатын циклы. Ол үш негізгі кезеңнен тұрады: іздеу кезеңі, декодтау кезеңі және орындау кезеңі. Қарапайым процессорларда нұсқау циклы тізбектеп орындалады, әрбір нұсқау келесісі басталар алдында өңделеді. Көптеген қазіргі заманғы процессорларда нұсқау циклдары синхронды түрде, көбінесе параллельді түрде, нұсқау құбыры арқылы орындалады: келесі нұсқау алдыңғы нұсқау аяқталмас бұрын өңделе бастайды, бұл цикл жеке қадамдарға бөлінгендіктен мүмкін болады.

Құралымдардың рөлі

Бағдарлама санағы (ПК) – орындалатын келесі нұсқаудың жад мекенжайын сақтайтын арнайы тіркегіш. Алу кезеңінде ПК-де сақталған мекенжай жад адресі тіркегішіне (MAR) көшіріледі, содан кейін ПК келесі орындалатын нұсқаудың жад мекенжайына "нұсқау" беру үшін арттырылады. Процессор содан кейін MAR-да сипатталған жад мекенжайы бойынша нұсқауды алады және оны жад деректері тіркегішіне (MDR) көшіреді. MDR жадтан алынған деректерді немесе жадқа сақталуын күтіп тұрған деректерді сақтайтын екі бағытты тіркегіш ретінде де әрекет етеді (осы себепті ол жад буферлік тіркегіші (MBR) деп те аталады). Соңында, MDR-дегі нұсқау қазіргі нұсқау тіркегішіне (CIR) көшіріледі, ол жадтан алынған нұсқауды уақытша сақтайды. Декодтау кезеңінде басқару блогы (ББ) CIR-дегі нұсқауды декодтайды. ББ содан кейін процессордың басқа компоненттеріне, мысалы, арифметикалық-логикалық құрылғыға (АЛҚ) және қозғалатын нүктелік құрылғыға (ҚНҚ) сигналдар жібереді. АЛҚ қосу, алу сияқты арифметикалық операцияларды, сондай-ақ қайта-қайта қосу арқылы көбейту және қайта-қайта алу арқылы бөлуді орындайды. Ол сонымен қатар AND, OR, NOT және бинарлық ығысулар сияқты логикалық операцияларды орындайды. ҚНҚ қозғалатын нүктелік операцияларды орындау үшін арналған.

Іске қосу

Цикл жүйеге қуат қосылғанда басталады, жүйе архитектурасымен алдын ала анықталған бастапқы PC мәнімен. Мысалы, Intel IA 32 процессорларында алдын ала анықталған PC мәні 0xfffffff0 болып табылады. Әдетте, бұл мекенжай тек оқуға арналған жадта (ROM) сақталған нұсқаулар жиынтығына сілтеме жасайды, ол операциялық жүйені жүктеу (немесе қосу) процесін бастайды.

Декодтау кезеңі

Декодтау процесі процессорға орындалуға тиіс нұсқауды анықтауға мүмкіндік береді, соның арқасында CPU нұсқауды орындау үшін қанша операндты алу керектігін біледі. Жадтан алынған опкод келесі қадамдар үшін декодталады және тиісті тіркелгілерге (регистрлерге) жылжытылады. Декодтау әдетте CPU-ның басқару блогындағы екілік декодерлермен жүзеге асырылады.

Нақты мекенжайын оқу

Бұл қадамда орындалатын операцияның түрі анықталады. Егер ол жад операциясы болса, компьютер оның тікелей немесе жанама жад операциясы екенін тексереді:
Тікелей жад операциясы – Ешқандай әрекет жасалмайды. Жанама жад операциясы – Тиімді мекенжай жадтан оқылады. Егер ол кіріс-шығыс немесе регистрлік нұсқау болса, компьютер оның түрін тексереді және нұсқауды орындайды.

Орындау кезеңі

CPU кодталған нұсқауды басқару сигналдары жиынтығы ретінде тиісті компьютер компоненттеріне жібереді. Егер нұсқау арифметикалық немесе логикалық операцияларды қамтитын болса, ALU пайдаланылады. Бұл нұсқау циклінің соңғы пайдаланушы үшін пайдалы жалғыз кезеңі. Қалғанның бәрі орындалу қадамын жүзеге асыру үшін қажетті қосымша жұмыс.