Симуляторҳои системаҳои компютерӣ: симулятори пурраи платформаи шинос ва ақрабаки соат ва пайраҳаҳои номаълум

Дар қисми дуюми мақола дар бораи симуляторҳои системаҳои компютерӣ, ман сӯҳбатро дар шакли оддии муқаддимавӣ дар бораи симуляторҳои компютерӣ идома медиҳам, яъне дар бораи моделсозии платформаи пурра, ки корбари миёна бо он аксар вақт дучор мешавад ва инчунин дар бораи соатҳои -модели соат ва пайраҳаҳо, ки бештар дар доираҳои таҳиягарон маъмуланд.

Симуляторҳои системаҳои компютерӣ: симулятори пурраи платформаи шинос ва ақрабаки соат ва пайраҳаҳои номаълум

В қисми якум Ман дар бораи он ки симуляторҳо умуман чӣ гунаанд, инчунин дар бораи сатҳҳои симулятсия сӯҳбат кардам. Ҳоло, дар асоси ин дониш, ман пешниҳод мекунам, ки каме амиқтар ғарқ шавам ва дар бораи симулятсияи пурраи платформа, чӣ гуна ҷамъоварӣ кардани пайраҳо, баъдтар бо онҳо чӣ кор кардан лозим аст ва инчунин дар бораи эмуляцияи микроархитектурии соат ба соат сӯҳбат кунам.

Симулятори пурраи платформа ё "Танҳо дар майдон ҷанговар нест"

Агар шумо хоҳед, ки кори як дастгоҳи мушаххасро омӯзед, масалан, корти шабакавӣ ё нармафзори миёнаравӣ ё драйверро барои ин дастгоҳ нависед, он гоҳ чунин дастгоҳро алоҳида тақлид кардан мумкин аст. Аммо дар алодида аз дигар инфраструктура истифода бурдани он чандон қулай нест. Барои иҷро кардани драйвери мувофиқ ба шумо протсессори марказӣ, хотира, дастрасӣ ба автобуси додаҳо ва ғайра лозим аст. Илова бар ин, ронанда барои кор кардан системаи оператсионӣ (OS) ва стеки шабакаро талаб мекунад. Илова бар ин, метавонад генератори бастаи алоҳида ва сервери ҷавобӣ талаб карда шавад.

Симулятори мукаммали платформа барои иҷро кардани стеки мукаммали нармафзор, ки ҳама чизро аз BIOS ва боркунак то худи ОС ва зерсистемаҳои гуногуни он, аз қабили як стек шабака, драйверҳо ва барномаҳои сатҳи корбарро дар бар мегирад, муҳитро эҷод мекунад. Барои ин он моделҳои нармафзори аксари дастгоҳҳои компютериро амалӣ менамояд: протсессор ва хотира, диск, дастгоҳҳои дохилкуни/баромад (клавиатура, муш, дисплей), инчунин як корти шабакавӣ.

Дар зер диаграммаи блоки чипсети x58 аз Intel оварда шудааст. Симуляторҳои компютерии пурплатформа дар ин чипсет татбиқи аксари дастгоҳҳои номбаршударо талаб мекунад, аз ҷумла дастгоҳҳои дар дохили IOH (Hub/Hub) ва ICH (Hub Controller Input/Output), ки дар диаграммаи блок ба таври муфассал тасвир нашудаанд. . Ҳарчанд, чунон ки таҷриба нишон медиҳад, бисёр дастгоҳҳое вуҷуд доранд, ки аз ҷониби нармафзоре, ки мо иҷро карданӣ ҳастем, истифода намешаванд. Моделҳои ин гуна дастгоҳҳо эҷод кардан лозим нест.

Симуляторҳои системаҳои компютерӣ: симулятори пурраи платформаи шинос ва ақрабаки соат ва пайраҳаҳои номаълум

Аксар вақт, симуляторҳои платформаи пурра дар сатҳи дастурамалҳои протсессор амалӣ карда мешаванд (ISA, ба поён нигаред). мақолаи гузашта). Ин ба шумо имкон медиҳад, ки худи симуляторро нисбатан зуд ва арзон созед. Сатҳи ISA низ хуб аст, зеро он дар муқоиса бо сатҳи API/ABI, ки зуд-зуд тағйир меёбад, камтар ё доимӣ боқӣ мемонад. Илова бар ин, татбиқ дар сатҳи дастур ба шумо имкон медиҳад, ки нармафзори дуии бетағйир номидашударо иҷро кунед, яъне коди аллакай тартиб додашударо бидуни тағирот иҷро кунед, ҳамон тавре ки он дар сахтафзори воқеӣ истифода мешавад. Ба ибораи дигар, шумо метавонед нусхаи («партофт») диски сахти худро созед, онро ҳамчун тасвир барои модел дар симулятори пурраи платформа нишон диҳед ва voila! – OS ва дигар барномаҳо дар симулятор бе ягон амали иловагӣ бор карда мешаванд.

Иҷрои симулятор

Симуляторҳои системаҳои компютерӣ: симулятори пурраи платформаи шинос ва ақрабаки соат ва пайраҳаҳои номаълум

Тавре ки дар боло зикр гардид, раванди симулятсияи тамоми система, яъне тамоми дастгоҳҳои он кори хеле суст аст. Агар шумо инчунин ҳамаи инро дар сатҳи хеле муфассал амалӣ кунед, масалан, микроархитектура ё мантиқӣ, он гоҳ иҷро хеле суст мешавад. Аммо сатҳи дастур интихоби мувофиқ аст ва ба OS ва барномаҳо имкон медиҳад, ки бо суръати кофӣ барои корбар барои муоширати бароҳат бо онҳо кор кунанд.

Дар ин ҷо ба мавзӯи иҷрои симулятор дахл кардан бамаврид мебуд. Он одатан дар IPS (дастурҳо дар як сония), дақиқтараш дар MIPS (миллионҳо IPS), яъне шумораи дастурҳои протсессори аз ҷониби симулятор дар як сония иҷрошуда чен карда мешавад. Дар айни замон, суръати симулятсия инчунин аз кори системае, ки худи симулятсия дар он кор мекунад, вобаста аст. Аз ин рӯ, дар бораи «сустшавии» симулятор дар муқоиса бо системаи аввала сухан гуфтан дурусттар аст.

Симуляторҳои маъмултарини платформаи пурра дар бозор, ба монанди QEMU, VirtualBox ё VmWare Workstation, иҷрои хуб доранд. Шояд ҳатто барои корбар пай набарад, ки кор дар симулятор идома дорад. Ин ба шарофати қобилиятҳои махсуси виртуализатсия, ки дар протсессорҳо, алгоритмҳои тарҷумаи дуӣ ва дигар чизҳои ҷолиб амалӣ карда мешаванд, рӯй медиҳад. Ин ҳама мавзӯи мақолаи алоҳида аст, аммо хулоса, виртуализатсия як хусусияти сахтафзори протсессори муосир мебошад, ки ба симуляторҳо имкон медиҳад, ки дастурҳоро тақлид накунанд, балки онҳоро барои иҷро мустақиман ба протсессори воқеӣ фиристанд, агар, албатта, меъмории симулятор ва протсессор якхелаанд. Тарҷумаи дуӣ тарҷумаи рамзи мошини меҳмон ба рамзи ҳост ва иҷрои минбаъда дар протсессори воқеӣ мебошад. Дар натиҷа, симулятсия танҳо каме сусттар аст, 5-10 маротиба ва аксар вақт ҳатто бо суръати ҳамон системаи воқеӣ кор мекунад. Гарчанде ки ба ин омилҳои зиёд таъсир мерасонанд. Масалан, агар мо хоҳем, ки системаро бо якчанд даҳҳо протсессорҳо тақлид кунем, он гоҳ суръат фавран ба ин якчанд даҳҳо маротиба коҳиш меёбад. Аз тарафи дигар, симуляторҳо ба монанди Simics дар версияҳои охирин сахтафзори мизбони бисёрпросессорро дастгирӣ мекунанд ва ядроҳои симулятсияшударо ба ядроҳои протсессори воқеӣ ба таври муассир параллел мекунанд.

Агар мо дар бораи суръати симулятсияи микроархитектурӣ сухан ронем, он гоҳ одатан якчанд фармоиши бузургӣ, тақрибан 1000-10000 маротиба нисбат ба иҷро дар компютери муқаррарӣ, бидуни моделсозӣ сусттар аст. Ва амалияҳо дар сатҳи унсурҳои мантиқӣ бо якчанд фармоиши бузургӣ сусттаранд. Аз ин рӯ, FPGA ҳамчун эмулятор дар ин сатҳ истифода мешавад, ки метавонад ба таври назаррас иҷрои корҳоро афзоиш диҳад.

Графикаи зер вобастагии тахминии суръати моделиронӣ аз тафсилоти моделро нишон медиҳад.

Симуляторҳои системаҳои компютерӣ: симулятори пурраи платформаи шинос ва ақрабаки соат ва пайраҳаҳои номаълум

Симулятсияи задан ба зарба

Сарфи назар аз суръати пасти иҷроиш, симуляторҳои микроархитектурӣ хеле маъмуланд. Моделсозии блокҳои дохилии протсессор барои дақиқ тақлид кардани вақти иҷрои ҳар як дастур зарур аст. Дар ин ҷо нофаҳмӣ пайдо шуда метавонад - дар ниҳоят, чунин ба назар мерасад, ки чаро вақти иҷрои ҳар як дастурро барномарезӣ накунед. Аммо чунин симулятор хеле нодуруст хоҳад буд, зеро вақти иҷрои як дастур метавонад аз занг ба занг фарқ кунад.

Намунаи соддатарин дастури дастрасии хотира мебошад. Агар макони хотираи дархостшуда дар кэш мавҷуд бошад, пас вақти иҷро ҳадди ақал хоҳад буд. Агар ин маълумот дар кэш набошад ("cache miss"), пас ин вақти иҷрои дастурро хеле зиёд мекунад. Ҳамин тариқ, модели кэш барои моделсозии дақиқ лозим аст. Аммо, масъала танҳо бо модели кэш маҳдуд намешавад. Протсессор на танҳо интизор мешавад, ки маълумот аз хотира гирифта шавад, вақте ки он дар кэш нест. Ба ҷои ин, он ба иҷрои дастурҳои навбатӣ оғоз карда, дастурҳоеро интихоб мекунад, ки аз натиҷаи хондан аз хотира вобаста нестанд. Ин иҷрои ба истилоҳ "ғайритартиб" аст (OOO, берун аз тартибот), ки барои кам кардани вақти бекории протсессор зарур аст. Моделсозии блокҳои протсессори мувофиқ кӯмак мекунад, ки ҳамаи ин ҳангоми ҳисоб кардани вақти иҷрои дастурҳо ба назар гирифта шавад. Дар байни ин дастурҳо, ки ҳангоми интизор шудани натиҷаи хондан аз хотира иҷро мешаванд, амалиёти ҷаҳиши шартӣ метавонад рух диҳад. Агар натиҷаи шарт дар айни замон номаълум бошад, пас боз протсессор иҷроро қатъ намекунад, балки "пиндор" мекунад, шохаи мувофиқро иҷро мекунад ва ба таври фаъол иҷро кардани дастурҳоро аз нуқтаи гузариш идома медиҳад. Чунин блок, ки пешгӯии филиал номида мешавад, бояд дар симулятори микроархитектурӣ низ амалӣ карда шавад.

Дар расми зер блокҳои асосии протсессор нишон дода шудааст, донистани он шарт нест, он танҳо барои нишон додани мураккабии амалисозии микроархитектура нишон дода шудааст.

Симуляторҳои системаҳои компютерӣ: симулятори пурраи платформаи шинос ва ақрабаки соат ва пайраҳаҳои номаълум

Фаъолияти ҳамаи ин блокҳо дар протсессори воқеӣ бо сигналҳои махсуси соат ҳамоҳанг карда мешавад ва дар модел низ ҳамин тавр мешавад. Чунин симулятори микроархитектурӣ цикли дақиқ номида мешавад. Мақсади асосии он пешгӯии дақиқи кори протсессори таҳияшаванда ва/ё ҳисоб кардани вақти иҷрои барномаи мушаххас, масалан, бенчмарк мебошад. Агар арзишҳо аз талабот камтар бошанд, пас алгоритмҳо ва блокҳои протсессорро тағир додан ё барномаро оптимизатсия кардан лозим аст.

Тавре ки дар боло нишон дода шудааст, моделсозии соат ба соат хеле суст аст, бинобар ин он танҳо ҳангоми омӯхтани лаҳзаҳои муайяни кори барнома истифода мешавад, ки дар он ҷо суръати воқеии иҷрои барномаро муайян кардан ва баҳодиҳии кори ояндаи дастгоҳе, ки прототипи симулятсия карда мешавад.

Дар ин ҳолат симулятори функсионалӣ барои тақлид кардани вақти боқимондаи кори барнома истифода мешавад. Ин комбинатсияи истифода дар воқеият чӣ гуна сурат мегирад? Аввалан, симулятори функсионалӣ ба кор андохта мешавад, ки дар он ОС ва ҳама чизҳои зарурӣ барои иҷро кардани барномаи мавриди омӯзиш бор карда мешаванд. Охир, мо на ба худи ОС, на ба мархалаи ибтидоии ба кор андохтани барнома, конфигуратсияи он ва гайра манфиатдорем. Аммо, мо низ наметавонем ин қисмҳоро гузаред ва фавран ба иҷрои барнома аз мобайн гузарем. Аз ин рӯ, ҳамаи ин қадамҳои пешакӣ дар симулятори функсионалӣ иҷро карда мешаванд. Пас аз иҷро шудани барнома то лаҳзаи ҷолиби мо, ду вариант имконпазир аст. Шумо метавонед моделро бо модели соат ба давра иваз кунед ва иҷроишро идома диҳед. Реҷаи моделиронӣ, ки рамзи иҷрошавандаро истифода мебарад (яъне файлҳои муқаррарии барномавӣ) симулятсияи иҷрошаванда номида мешавад. Ин маъмултарин варианти симулятсия аст. Равиши дигар низ имконпазир аст - моделиронии пайгирӣ.

Симуляция дар асоси пайгирӣ

Он аз ду марҳила иборат аст. Бо истифода аз симулятори функсионалӣ ё дар системаи воқеӣ, журнали амалҳои барнома ҷамъоварӣ ва ба файл навишта мешавад. Ин сабтро пайгирӣ меноманд. Вобаста аз он, ки тафтиш карда мешавад, пайгирӣ метавонад дастурҳои иҷрошаванда, суроғаҳои хотира, рақамҳои порт ва иттилооти қатъиро дар бар гирад.

Қадами навбатӣ ин «бозӣ» кардани трак аст, вақте ки симулятор соат ба соат пайро мехонад ва тамоми дастурҳои дар он навишташударо иҷро мекунад. Дар охир, мо вақти иҷрои ин порчаи барнома, инчунин хусусиятҳои гуногуни ин раванд, масалан, фоизи боздидҳоро дар кэш мегирем.

Хусусияти муҳими кор бо пайҳо детерминизм аст, яъне тавассути иҷро кардани симулятсия бо усули дар боло тавсифшуда, мо такрор ба такрор як пайдарпаии амалҳоро такрор мекунем. Ин имкон медиҳад, ки тавассути тағир додани параметрҳои модел (кэш, буфер ва андозаи навбат) ва истифодаи алгоритмҳои гуногуни дохилӣ ё танзими онҳо, омӯхта шавад, ки чӣ гуна параметри мушаххас ба кори система таъсир мерасонад ва кадом вариант натиҷаҳои беҳтарин медиҳад. Ҳамаи инро метавон бо модели прототипи дастгоҳ пеш аз сохтани прототипи воқеии сахтафзор анҷом дод.

Мушкилии ин равиш дар зарурати аввал иҷро кардани барнома ва ҷамъоварии пайгирӣ, инчунин андозаи бузурги файли пайгирӣ мебошад. Афзалиятҳо аз он иборатанд, ки тақлид кардани танҳо як қисми дастгоҳ ё платформаи таваҷҷӯҳ кофӣ аст, дар ҳоле ки моделиронӣ тавассути иҷро одатан модели мукаммалро талаб мекунад.

Ҳамин тавр, дар ин мақола мо ба хусусиятҳои симулятсияи пурраи платформа назар кардем, дар бораи суръати татбиқ дар сатҳҳои гуногун, моделиронии соат ба давра ва пайгирӣ сӯҳбат кардем. Дар мақолаи навбатӣ ман сенарияҳои асосии истифодаи симуляторҳоро ҳам барои мақсадҳои шахсӣ ва ҳам аз нуқтаи назари рушд дар ширкатҳои бузург тавсиф мекунам.

Манбаъ: will.com

Илова Эзоҳ