Смекни!
smekni.com

История создания компьютеров и современное их развитие (стр. 5 из 9)

Операндлар ва операция натижаларининг манзиллари сифатида асосий хотира қурилмасининг уяларидан фойдаланишга қодир бўлган процессор архитектураси “хотира – хотира” турига мансуб архитектура деб аталади. Бунда, бир амалдан бошқасига ўтиш мобайнида ишчи регистрлар ичидагиларни рўйхатга олиш учун сарф этиладиган вақт истисно қилинади. Бироқ, оралиқ маълумотлар ички регистрлар ичида эмас, балки DSEG ичида сақланиши боис, ушбу маълумотларга кириб бориш тезлиги сустлашади. Бундай муаммо DSEGнинг бир қисми МзП билан бирга битта кристаллда жойлаштирилиши ҳамда ХТСҚнинг ушбу ички сегментини иш соҳалари сифатида қўлланилиши билан ҳал этилади. Intel фирмасининг MCS-96 оиласига мансуб микроконтоллерларни ушбу тузилишга мисол тариқасида келтириш мумкин.

Деярли барча замонавий МПларда “стек” (хипчин) номи берилган мустақил хотира соҳаси ажратилади. Умуман бу соҳа бажарилаётган амалларга параметрлар узатиш ва ушбу амаллардан қайтиш манзилларини сақлаш учун ишлатилади. Стек МП ичида ёки унинг ташқарисида жойлашган, DSEG ёхуд RSEG манзилига оид маконнинг бир қисмини эгаллаган ҳолда ёки улардан алоҳида жойлашган бўлиши мумкин. Стек DSEG ёки RSEGдан алоҳида жойлашган бўлса “аппаратли стек” тўғрисида мулоҳаза юритилади. Аккумулятор бажарадиган вазифаларнинг стек чўққисига узатилиши “стекли архитектура” яратилишига олиб келади. МП архитектурасининг стекли русумда тузилиши кодлари энг қисқа узунликка эга манзилсиз командалардан фойдаланиш имконини беради. Ушбу манзилсиз командалар стек чўққисида ва бевосита чўққи остида мавжуд маълумотлар билан муомала қилади. Операция бажарилаётганида дастлабки операндлар стек ичидан чиқариб олинади, натижа эса стек чўққисига узатилади. Стекли архитектура ҳисоблаш амалларининг юксак самарасига эга. Манзилсиз командалар асосида тузилган махсус FORTH юқори даража услуби (тили) мавжуд. Бундай архитектура юқори унумдорликка эга ихтисослаштирилган процессорларда, хусусан RISC-процессорларда қўлланилади.

МП ичида жойлашган хизмат регистрлари МП ишининг бошқарилишига оид турли вазифалар бажарилиши ҳамда таркибий қисмларининг ҳолатига индекс бериб борилиши учун мўлжалланган. Ушбу регистрларнинг таркиби ва тузилиши процессорнинг маълум архитектурасига боғлиқ бўлиб, ҳар бир муайян ҳолатда фарқланиб туради. Махсус вазифалар бажарадиган регистрлар орасида тез-тез дуч келиб турадиган регистрлар жумласига: PC “дастурий ҳисоблагич” (ингл. Program Counter), SP “стек кўрсаткичи” (ингл. Stack Pointer) ва PSW “дастур ҳолатига оид сўз” (ингл. Program Status Word) регистрлари киради. Вақтнинг ҳар бир маълум фурсатида PC дастурий ҳисоблагич регистри жорий фурсатда CSEG ичида бажарилаётган команда ортида борадиган команда манзилига эга бўлади. SP стек кўрсаткичи регистри стек чўққисининг жорий манзилини сақлайди. PSW дастур ҳолатига оид сўз регистри операция ижроси натижасининг жорий аломатлари тўпламидан ташкил топади. Натижанинг ҳар бир аломати билан PSWнинг муайян битига мувофиқ келадиган бир зарядли ўзгарувчи-байроқча боғланади. Тез-тез дуч келиб турадиган байроқча-аломатлар жумласига:

- IF (Interrupt Flag) – арифметик-мантиқий қурилманинг катта разрядидан олиб ўтиш байроқчаси. Агар арифметик операция ёки кўчириш операцияси ижроси хотимасида натижанинг катта разрядидан олиб ўтилиши рўй берса 1 га тенг бўлади;

- ZF (Zero Flag) – ноль аломатининг байроқчаси. 1 га тенг бўлади, агар операция натижаси нолга тенг бўлса;

- SF (Sign Flag) – натижа белгисининг байроқчаси. Операция натижасининг белгили разрядини такрорлайди;

- AF (Auxilinary Carry Flag) – қўшимча олиб ўтиш байроқчаси. Агар арифметик операция ёки кўчириш операцияси ижроси хотимасида натижанинг кичик тетрадасидан катта тетрадасига олиб ўтишлиши рўй берса, 1 га тенг бўлади. Иккилик-ўнлик арифметикасида тез-тез қўлланилиб турилади;

- OF (Owerfow Flag) – тўлиб кетиш байроқчаси. Агар арифметик операция ижроси хотимасида натижанинг разрядли тўри тўлиб кетиши рўй берса, 1 га тенг бўлади.

- PF (Parity Flag) – сонлар жуфтлигининг байроқчаси. Агар операция натижасида 1 сони тоқ ва аксинча бўлса, 1 га тенг бўлади;

- CF (Carry Flag) – узилишга рухсат бериш байроқчаси. Тизимда узилишга рухсат берилган-берилмаганлигига индекс беради.

Ҳар бир маълум байроқча амалга оширилган олдинги команда натижасини таҳлил қилиш ва дастур ижросининг давоми юзасидан қарор қабул қилиш учун дастур томонидан қўлланилади. Махсус регистрлар DSEG ёки RSEG манзилига оид маконнинг бир қисмини эгаллаши ёхуд улардан алоҳида жойлашиши мумкин.

Манзил регистрлари ёки кўрсаткичлардан МПдаги муайян командаларда қўлланиладиган операндларга манзил белгилашнинг у ёхуд бу усулларини амалга ошириш учун фойдаланилади. Ушбу регистрларнинг аниқ тўплами ва бажарадиган вазифалари МПнинг муайян моделида манзил белгилашнинг қайси усуллари жорий этилганига боғлиқ.

Манзил белгилаш усули тушунчаси остида операнд манзилини ёки команда кодидаги операция натижасининг манзилини кодлаштириш тушунилади.

Аксарият ҳолларда МП командасининг кодини қуйидагича тасаввур этиш мумкин:

ОпК 1ОММ 2ОММ ... НММ

бунда,

ОпК – операция коди;

1ОММ – биринчи операнд манзилининг майдони; 2ОММ – иккинчи операнд манзилининг майдони; НММ – натижа манзилининг майдони.

ОпКдан ташқари бошқа мустақил майдонларнинг мавжуд бўлиши муайян команда томонидан ва МП тури билан белгиланади. Операндлар манзиллари майдонлари ҳамда натижа манзилининг майдонидаги ахборот муайян команда ичида қўлланиладиган манзил белгилашнинг маълум усули билан белгиланади.

МПларнинг бугунги моделларида қўлланиладиган манзил белгилашнинг кенг тарқалган усуллари жумласига қуйидаги усуллар киради:

регистрли манзил белгилаш. Бунда операнд регистр ичида бўлади. Регистр манзили эса операция коди таркибига киритилган.

Команда ичида манзил майдони бўлмайди; тўғридан-тўғри манзил белгилаш. Бунда операнднинг жисмоний

манзили тегишли манзил майдонида жойлашади; бевосита манзил белгилаш. Бунда операнднинг бевосита

қиймати тегишли манзил майдонида жойлашади; билвосита манзил белгилаш. Бунда операнднинг жисмоний манзили DP (Data Pointer) билвосита манзил регистри ичида жойлашади. Регистр манзили эса операция коди таркибига киритилган. Команда ичида манзил майдони йўқ. DP сифатида умуммақсадли регистрлар ёки махсус манзил регистри чиқиши мумкин; билвосита автоинкремент/автодекремент манзил белгилаш. Бунда операнднинг DP жисмоний манзили билвосита манзил регистри ичида жойлашади. Ушбу регистр манзили эса операция коди таркибига киритилган. Команда ичида манзил майдони йўқ. Операция ижросидан сўнг (ёки операция бажарилгунга қадар) DP ичидаги маълумотлар, жадвалнинг навбатдаги элементига ишора қилиниши учун инкрементация/декрементация бўлади; силжиган таянч бўйича манзил белгилаш. Бунда операнднинг

таянч манзили BP (Base Pointer) таянч регистри ичида жойлашади. Ушбу регистр манзили эса операция коди таркибига киритилган. Операнд манзилининг таянч регистрига нисбатан силжиш ҳолати манзилнинг тегишли майдонида рўй беради. BP сифатида умуммақсадли регистрлар ёки махсус манзил регистри чиқиши мумкин; индексли манзил белгилаш. Бунда операнд манзили манзилнинг тегишли майдонида жойлашади. Ушбу регистр манзили эса операция коди таркибига киритилган. Операнд манзилининг таянч манзилига нисбатан силжиш ҳолати X (Index) индексли регистр ичида рўй беради. X сифатида умуммақсадли регистрлар ёки махсус манзил регистри чиқиши мумкин; индексли таянч бўйича манзил белгилаш. Бунда операнднинг таянч манзили BP таянч регистри ичида жойлашади. Операнд манзилининг таянч манзилига нисбатан силжиш ҳолати X индексли регистр ичида рўй беради. Регистрлар манзиллари операция коди таркибига киритилган. Команда ичида манзил майдони йўқ. X ва BP сифатида умуммақсадли регистрлар ёки махсус манзил регистрлари чиқиши мумкин; сегмантли манзил белгилаш. Бунда жамики хотира муайян ҳажмга эга сегментларга бўлиб чиқилган. Сегмент манзили SR (Segment Register) сегмент регистри ичида сақланади, манзилнинг сегмент бошига нисбатан силжиш ҳолати манзилнинг тегишли майдонида ёки X индексли регистр ичида рўй беради. X сифатида умуммақсадли регистрлар ёки махсус манзил регистри чиқиши мумкин.

Муайян процессор, манзил белгилашнинг қайси усуллари унда жорий этилганлигига боғлиқ ҳолда, у ёки бу манзил регистрларига эга бўлади. Манзил белгилашнинг усуллари қанчалик мураккаб бўлса, операнд манзилининг ҳисоблаб чиқарилиши учун шунча кўп вақт талаб қилинади. Микропроцессорлар архитектураси ривожининг бугунги йўналишларидан бири – жоиз командалар сонининг қисқартирилиши орқали ҳар қандай команданинг битта машина цикли давомида бажарилишига эришишга асосланади. Бундай процессорлар RISCпроцессорлар (Reduced Instruction Set Computer) деб аталади. Бундай қурилмага мисол тариқасида Motorola фирмасининг PowerPC микропроцессорини келтириш мумкин.