Кіріспе
Компьютерлік архитектура мен инженерияда секвенсер немесе микросеквенсер басқару сақтағышының микропрограммасы бойынша қадамдармен өтуге қажетті адрестерді жасайды. Ол CPU басқару блогының бір бөлігі ретінде немесе адрестік диапазонды генерациялау үшін жеке түрде қолданылады. Әдетте, адрестерді есептегіш, микроинструкциядан алынған өріс және нұсқаулар тізілімінің бір бөлігінің үйлесімі құрайды. Есептегіш, келесі микроинструкция орындалуы тиіс стандартты жағдай үшін қолданылады. Микроинструкциядан алынған өріс секірулер немесе басқа логикалық операциялар үшін пайдаланылады. CPU-лар нұсқаулар жиынтығын іске асыратындықтан, нұсқаулардың биттерін тікелей секвенсерге кодтау арқылы CPU нұсқауларын орындау үшін микроинструкциялар жиынтығын таңдау өте тиімді. Көптеген қазіргі заманғы CISC процессорлары бір сағат циклында орындалатын қарапайым опкодтарды өңдеу үшін конвейерлік логиканы және бірнеше сағат циклын қажет ететін опкодтарды іске асыру үшін микрокодты қолданады. Бірінші интеграцияланған микрокодталған процессорлардың бірі IBM PALM процессоры болды, ол процессордың барлық нұсқауларын микрокодпен эмуляциялап, IBM 5100 компьютерінде қолданылды – ол алғашқы жеке компьютерлердің бірі. Соңғы ашық микросекуенсерлік процессорлардың мысалдары – MicroCore Labs MCL86, MCL51 және MCL65 ядролары, олар Intel 8086/8088, 8051 және MOS 6502 нұсқаулар жиынтықтарын толығымен микрокодпен эмуляциялайды.
Қарапайым мысал
Digital Scientific Corp. Meta 4 Series 16 компьютерлік жүйесі 1970 жылы алғаш рет қолжетімді болған, пайдаланушы микропрограммалайтын жүйе болды. Микрокод тізбегіндегі тармақталу үш түрлі жолмен жүзеге асырылады. Тармақ микроинструкциясы келесі инструкцияның адресін шартты немесе шартсыз түрде анықтайды. Логикалық индекс (IX) опциясы 16 биттік Link регистрінің мәнін логикалық түрде тармақ адресімен біріктіреді (OR), осылайша қарапайым индекстелген тармақ мүмкіндігін қамтамасыз етеді. Барлық арифметикалық/логикалық инструкциялар секіру (J) модификаторын қолдайды, ол орындауды Link регистрісінде көрсетілген микроинструкцияға бағыттайды. Барлық арифметикалық/логикалық инструкциялар кері санау (D) және секіру (J) модификаторларын қолдайды. Бұл жағдайда 8 биттік цикл санағышы кемітіледі. Егер ол нөлге тең болмаса, тармақ Link регистрісіндегі мәнге жүзеге асырылады. Егер ол нөлге тең болса, орындау келесі инструкциямен жалғасады. Бранч инструкциясы үшін қолданылатын тағы бір реттілік опциясы – execute (XQ) опциясы. Белгіленген кезде, тармақ адресіндегі бір ғана инструкция орындалады, бірақ орындау бастапқы тармақ инструкциясынан кейін жалғасады. IX опциясын XQ опциясымен бірге қолдануға болады.
one of three ways. A branch microinstruction specifies the address of the next instruction, either conditionally or unconditionally. The logical index (IX) option causes the 16 bit Link register to be logical ORed into the branch address, thus providing a simple indexed branch capability. All the arithmetic/logical instructions allow the jump (J) modifier, which redirects execution to the microinstruction addressed by the Link register. All the arithmetic/logical instructions allow both the decrement counter (D) and jump (J) modifiers. In this case, the 8 bit loop counter register is decremented. If it is then not zero, a branch is taken to the contents of the Link register. If it is zero, execution continues with the next instruction. One more sequencing option allowed on a branch instruction is the execute (XQ) option. When specified, the single instruction at the branch address is executed, but then execution continues after the original branch instruction. The IX option can be used with the XQ option.
Қарапайымдастыру
Бұл сипаттама жеңілдетілген. Ол келесі мүмкіндіктерді ескермейді. 40-шы модель CPU режимінде немесе арна режимінде жұмыс істей алады. Сипаттама тек CPU режимін қамтиды. Егер микронұсқау функционалдық тармақталу форматында болмаса және CD өрісі 1 немесе 3 болса, келесі адрестің 1-биті әрқашан 0 болады. Бұл жағдайда CD және CB өрістерінің мәндері белгілі бір басқару сызығын қосуды анықтайды.