Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lection 7-14.docx
Скачиваний:
23
Добавлен:
13.03.2015
Размер:
394.29 Кб
Скачать

14 Дәріс тақырыбы. Аккумулятор регистрі. Жақшалық стек. Күй регистрі.

14.1 Аккумулятор регистрі.

Екі 32–биттік аккумулятор – ол жалпы тағайындалу регистрлері, байттарды, сөзді және екілік сөздерді өңдеуге пайдаланылады. Сіз константаларды және мәндерді жадыдан алып операнд ретінде аккумуляторға жүктеп, олармен логикалық операциялар орындай аламыз. Және де аккумулятор 1-ден операция нәтижесін көрсетілген адрес бойынша бере аласыз. 14.1 суретте аккумулятор облысы көрсетілген. Аккумуляторды басқару үшін стектік механизм келесідей болады:

- Жүктеу командалары аккумулятор 1 әсер етеді және ескі мәліметтер аккумулятор 2 сақаталады.

- Беру командалары аккумуляторды өзгертпейді (TAR1 және TAR2 командаларынан басқа).

- TAR командасы аккумулятор 1 және 2 құрамын ауыстырады

14.1 –сурет. Аккумулятор облысы

14.2 Жақшалық стек

Жақшалық стек – бұл, ені бір байтты жады облысы. Бұл жады облысы жақшалық командалармен пайдаланылады A(, O(, X(, AN(, ON(, XN(. Бұл командалар логикалық (RLO) операциясының ағымдағы нәтижесін жақшалық стекте сақтап, жаңа логикалық тізбекті бастайды. Жақшалық стек жеті жазбаны қабылдай алады. Жақшалық стек жазбасы RLO, BR және OR биттерінен, сөз күйінен және функция кодынан тұрады, қандай бульдік логикалық операциялар (A, AN, O, ON, X немесе XN) қолданылатынын көрсетеді. «)» командасы жақшалық өрнекті аяқтайды, келесі функцияларды орындайды:

- Жақшалық стектен жазбаны алады

- OR және BR биттерін қалпына келтіреді

- Жаңа RLO анықтайды, функция кодына сәйкес RLO стек жазуын ағымдағы RLO логикалық біріктіреді (яғни жақша ішіндегі RLO)

14.2-сурет жақшалық стектегі жазба құрылымын көрсетеді. Осы сурет астында жақшалық стек байттың биттерін түсіндіреді.

14.2 –сурет. Жақшалық стектегі жазба құрылымы

Жақшалық стек байты келесі биттерден тұрады:

- тағайындалмаған биттер (7 және 6 биттері «0» күй сигналымен)

- сақталынатын екілік нәтиже (BR)

- логикалық операцияның сақталатын нәтижелер (RLO)

- A( және AN( функцияларда сақталынатын OR биті. Қалған барлық функцияларда ноль сақталынады

- функция коды (2, 1 және 0 биттері)

Функция коды

«)» командасының кодтық функция көмегімен, ағымдағы RLO мен жақшалық стек жазу RLO байланыстыру үшін қолданатын функцияны анықтайды. 2–12 кесте әрбір функция түріне функция кодының биттер комбинациясын көрсетеді:

Жазба және көрсеткіштері бар жақшалық стек

Осы стектің көрсетекіші мен жақшалық стек үзу стегінде сақталуы тиіс немесе бір енгізу деңгейінен екіншіге өткен кезде одан алынуы керек. Жақшалық стек көрсеткішіндегі саны, осы стектегі бар жазба санын көрсетеді.

Сурет -14.3. Жазба және көрсеткіштері бар жақшалық стек құрылымы

14.3 Күй регистрі (Сөз жағдайы)

Сөз жағдайы, бит және сөздермен орындалатын, логикалық команда операндарында қатынай алатын биттерден тұрады. 14.4-сурет сөз жағдайының құрылымын көрсетеді. Осы суреттен кейінгі бөлімдер 0-ден 8-ге дейінгі биттердің мәнін түсіндіреді.

14.4 – сурет. Сөз жағдайының құрылымы

Бірінші сұраныс

Сөз жағдайының 0 биті бірінші сұраныс биті деп аталады (бит FC, сурет 14.6). FC битінде сигналдың 0 күйі, осы нүкеден кейін сіздің программаңызда логикалық команда жаңа логикалық операция тізбегін бастайтынын көрсетеді. (FC үстіндегі сызықша осы бит теріс мәнмен алынатынын көрсетеді). Әр логикалық команда FC битінің сигнал күйіне және де ол қатынайтын операнд сигналының күйіне де сұраным жасайды. Егер FC биті нольге тең болса, онда команда сигнал күйін сұраным нәтижесін сөз күйінің логикалық операция нәтиженің битінде сақтайды және FC битін бірге орнатады. Бұл үрдіс бірінші сұраныс деп атайды (сурет 14.6). Егер FC битінің сигнал күйі бірге тең болса, онда команда операнд сигналының күйін сұрау нәтижесін логикалық түрде алдыңғы RLO битінде сақталған мәнмен байланыстырады. Логикалық командалар тізбегі ардайым шығару командасымен (S, R немесе =), логикалық операция нәтижесімен (JC) немесе жақшалық командалардың біреуімен A(, O(, X(, AN(, ON( немесе XN( байланысты. Осындай командалар FC битін нолге орнатады.

Логикалық операция нәтижесі

Сөз күйінің 1 биті RLO биті деп аталады (RLO келесіні білдіреді «result of logic operation [логикалық операция нәтижесі]). Бұл бит биттік логикалық операция нәтижесін немесе салыстыру операциясын сақтайды. Мысалы, биттік логикалық операция тізбегінде екінші команда операнд сигнал күйін сұрайды және 1 немесе 0 нәтижесін береді. Содан кейін бұл команда осы нәтижені логикалық түрде бульдік логика ережелерімен сәйкес сөз күйі RLO битінде сақталған мәнімен байланыстырады. Осы логикалық операция нәтижесі алдыңғы RLO мәнін ауыстырып, сөз күйі RLO битінде сақталынады. Әр келесі тізбектегі команда екі нәтижелі логикалық операцияларды орындайды: операнд командасымен сұраныс жасаған нәтиже және RLO ағымдағы мәні. Сіз RLO мәнін бірге SET командасының көмегімен орната аласыз ; RLO ны CLR командасының көмегімен нолге түсіре аласыз. RLO ға биттік жадының ұяшық құрамының күйін меншіктеу үшін, бірінші сұраныс кезінде бульдік биттік логикалық команданы пайдалана аласыз. RLO ны өту командаларын қосу үшін пайдалана аласыз.

14.6 – сурет.FC бит сигналының күйі логикалық операцияларға әсері

Күй биті

Күй биті (бит STA) қатынайтын бит мәнін сақтайды. Жадыдан (A, AN, O, ON, X, XN) оқуға рұқсаты бар биттік команда күйі, осы командамен сұралатын бит мәніне тең (яғни логикалық операция орындайтын бит). Жадыдан (S, R, =) жазуға рұқсаты бар биттік команда күйі, команда жазатын бит мәніне тең немесе жазба жүргізілмесе, онда ол команда қатынап тұрған бит мәніне тең, Бит күйі жадыға қатынамайтын биттік командалар үшін мәнсіз болады. Бұндай командалар бит күйін бірге оранатады (STA=1). Бит күйі командамен сұраным жасаламайды. Ол тек программаны тестілеген кезде ғана интерпреттеледі (программа статусы).

OR биті

ИЛИ операциясын логикалық И операцияның алдында орындаған кезде OR командасын пайдалансаңыз, OR биті қажет. И функциясы келесі командалардан тұруы мүмкін: A, AN A(, AN(, ) немесе NOT. OR биті осы командаларға И функциясының орындалуы 1 мәнін бергенін көрсетеді. Битті өңдейтін кез келген басқа команда OR битін түсіріп тастайды.

Аса толу биті

Аса толу биті (бит OV) қатені көрсетеді. Ол қате болғанда арифметикалық командамен немесе үтірі бар сандарды салыстыру командаларымен орнатылады (аса толу, мүмкін емес операция, үтірі бар мүмкін емес сан). Бұл бит келесі арифметикалық команда нәтижесіне немесе салыстыру командаға сәйкес орнатылады.

Сақталатын аса толу биті

Сақталатын аса толу биті (бит OS) OV битімен бірге орнатылады, қате болған кезде. Қатені жойғаннан кейін де OS биті орнатылған болып қалғандықтан, OV битінің күйін сақтайды және алдында орындалған командаларда қателер болғанын көрсетеді. Келесі командалар OS битін түсіріп тастайды: JOS (сақталатын аса толудан кейін өту), блокты шақыру командалары және блок соңы командалары.

1 шарт коды және 0 шарт код

CC 1 және CC 0 биттері (шарт кодтары) келесі нәтижелер немесе бит туралы ақпаратты береді:

- Арифметикалық операция нәтижесі

- Салыстыру операция нәтижесі

- Сандық операция нәтижесі

- Ығысу командаларымен немесе циклдық ығысумен жылжытылған биттер

2–13 –2–18 кестелер cіздің программаңыз белгілі бір командалар орындағаннан кейін CC 1 және CC 0 мәндерін көрсетеді

Екілік нәтиже биті

Екілік нәтиже биті (бит BR) бит пен сөзді өңдеу арасында байланысты құрады. Сөз опреациясының нәтижесін интерпритациялау тиімді әдісі екілік нәтиже сияқты және осы нәтижені екілік логикалық тізбекке орналастыру. Осы көз қарастан BR биті ішкі машиналық бит жадысы болып келеді, сөзбен операция жасау RLО өзгертеді, яғни онда осы RLO сақталады, осы операциядан кейін үзілген биттік тізбекті орындау үшін RLO қол жетерлік болады. Мысалы, BR биті функционалды блокты (FB) немесе функцияны (FC) оператор тізімі (AWL) ретінде жазуға мүмкіндік береді, содан соң FB немесе FC контактілі планнан (КОР) шақыра алады. КОР дан шақырғыңыз келетін функционалды блок немесе функцияны AWL немесе КОР жазғаныңызға қарамай, сіз BR битін басқаруына жауап бересіз. BR биті КОР блогының рұқсат шығысына(ENO) сәйкес келеді. Сіз RLO –ны BR битінде сақтауыңыз үшін SAVE командасын немесе катушка ---(SAVE) (КОР-та) пайдалануыңыз қажет, бірақ келесі қағидаларға сәйкес:

    • RLO –ны BR битінде 1 мәнімен сақтаңыз, егер FB немесе FC қатесіз орындалса

    • RLO –ны BR битінде 0 мәнімен сақтаңыз, егер FB немесе FC қатемен орындалса

Сіздер бұл командаларды FB немесе FC соңында программалауыңыз қажет, олар блокта орындалып отырған соңғы командалар болуы керек. Өзіңіздің программаңызда жүйелік функционалдық блок (SFB) немесе жүйелік функция (SFC) шақырған кезде, SFB немесе SFC келесіні көрсетеді, CPU функцияны қатесіз немесе қатемен орындағанын және екілік бит нәтиже ретінде келесі ақпаратты береді:

- Орындау кезінде қателік болған кезде, BR биті 0-ге тең болады.

- Егер функция қатесіз орындалса, онда BR биті 1-ге тең болады.

Негізгі әдебиет:3[123-130]

Қосымша әдебиет:6[45-65]

Бақылау сұрақтары:

1. Екі 32-битті аккумулятор дегеніміз не?

2. Аккумуляторды басқару үшін стектік жады қандай болады?

3. Жақшалық стектің анықтамасын беріңіз?

4. Келесі команда «)» қанлдай функцияны орындайды ?

5. CC 1 және CC 0 (шартты кодтар) биттері қандай ақпаратты береді?

6. Жақшалық стектің байттары қандай биттерден тұрады?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]