Автор работы: Пользователь скрыл имя, 26 Февраля 2014 в 18:08, реферат
Есептеу моделі (model of computation – MoC) жүйелік деңгейде жобалаудың негізгі ұғымы болып табылады. Бұл ұғым аппараттық деңгейде жобалауда сирек талқыланған, сондықтан көптеген оқырмандарға қызықты болуы мүмкін. Есептеу моделін бейресми түрде модельдеудің нақты стилі ретінде көрсетуге болады. Ол берілген жобаға немесе қолданбалы салаға жақсы сәйкес келетін және сонымен бірге симуляция, синтез және анализда қажет ерекшеліктерге ие. Мысалы,көптеген қосымшалардың сигналдар мен кескіндерді өңдейтін жүйелік модельдерін мәліметтер ағыны моделінің көмегімен, дәлірек айтқанда оның варианттарының бірі SDF (synchronous data flow – мәліметтердің синхронды ағыны) көмегімен құруға болады.
Модельдеу дәлдігі
Есептеу моделі (model of computation – MoC) жүйелік деңгейде жобалаудың негізгі ұғымы болып табылады. Бұл ұғым аппараттық деңгейде жобалауда сирек талқыланған, сондықтан көптеген оқырмандарға қызықты болуы мүмкін. Есептеу моделін бейресми түрде модельдеудің нақты стилі ретінде көрсетуге болады. Ол берілген жобаға немесе қолданбалы салаға жақсы сәйкес келетін және сонымен бірге симуляция, синтез және анализда қажет ерекшеліктерге ие. Мысалы,көптеген қосымшалардың сигналдар мен кескіндерді өңдейтін жүйелік модельдерін мәліметтер ағыны моделінің көмегімен, дәлірек айтқанда оның варианттарының бірі SDF (synchronous data flow – мәліметтердің синхронды ағыны) көмегімен құруға болады. Егер жүйелік модель SDF қағидаттарына сәйкес келсе, онда эффективті симуляциялық модельдер және жүзеге асыру жоспарын жасауға болады. Басқа MoC кейбір формальды анализ әдістерін қолдай алады.
Ресми түрде есептеу моделін үш анықтамамен көрсетуге болады:
Көптеген жобалау тілдері, дәстүрлік HDL тілдер сияқты, бір есептеу моделін қолданады(жүйе семантикасының жинақтылығы үшін «уақыттық интервалдар» сеантикасымен қатар жүретін, жалпы «уақыттық шкалада» реттелген бөлек мәселе). Дегенмен SystemC да өзінің тіліне және симуляциялық өзегіне жазылған бір есептеу моделін қолданады, бұл модель жалпы және оның үстіне әртүрлі жеке есептеу модельдерін жазуға болады. Ол күйге келтірілген оқиғалар мен синхронизация мүмкіндігін, мамандандырылған каналдар, порттар, интерфейстер және модульдерді құру мүмкіндігін қолдайды. Сонымен бірге оған жалпы уақыттық модель кіреді. Осының барлығы мамандандырылған есептеу модельдерін құруға мүмкіндік береді. Толық мамандандырылған бір MoC класына кіретін жүйелік модельдер жағдайында, берілген МоС класының эффективтілігі артығырақ симуляциясына қол жеткізу үшін SystemC симуляциялық өзегін оңтайландыруға болады. Мысалы, статикалық жоспарланған мәліметтер ағыны жағдайында айтарлықтай тез орындалатын статикалық жоспарланған симуляциялық модельдіжасауға болады.
SystemC тілі мүмкін есептеу
модельдерінің көбін қолдайды
және оның ашықтығы көп
Жүйелік деңгейдегі жобалық модельдердің VSIA (Virtual Socket Iterface Alliance) классификациялау жағдайындағыдай, кез-келген модельді зерттеп және оны ақырғы жүзеге асырумен салыстыра отырып, біз модельдің дәлдігін бірнеше тәуелсіз бағыттармен өлшей аламыз. Мұнда құрылымдық дәлдік кіреді: модель мен нақты жүзеге асыру құрылымы арасындағы айырмашылық дәрежесі. Модель функционалдық модуль мен оның сыртқы интерфейсінің дәл мінез-құлықтық көрінісі бола алады, бірақ сонымен бірге оның ішкі құрылымы IP блок немесе модульдың ақырғы жүзеге асыру құрылымынан қатты ерекшеленуі мүмкін. Мысалы, модульде аппараттық және бағдарламалық жүйе бөліктері болуы мүмкін, бірақ сонда да абстрактілі функционалды модель осы ішкі құрылымдардың кез-келгенін көрсетпеуі де мүмкін. Аппаратты жүзеге асырылған IP блоктарда сигналдар негізіндегі толық интерфейсті шығысы болады, бірақ интерфейс моделінің құрылымы модельдің орындалу эффекивтілігі артығырақ болу үшін мәліметтер типі қиынырақ болатын абстрактілі интерфейсті қолдана алады.
Жүйелік модельдердің уақыттық дәлдігі өте қатты өзгере алады. Басында уақыт дәлдігі оқиғаларды реттеу деңгейінде болуы мүмкін. Сондықтан уақыт наносекунд немесе такттарда шығарылса да, маңыздысы модельдердің орындалу реттілігі. Сондай-ақ уақыт жүзеге асыру деңгейіндегі шектеу ретінде қарастырыла алады және уақытқа шектеу қойылған жүйелік модельдің орындалуы көбінесе анализдің орындалу дәлдігі мен жалпы жүйенің өндірімділігі үшін жүргізілуі мүмкін. Жүйелік деңгейде ең дәл уақыт негізінде тактарға дейін дәл болады. Дәл уақыттық сипаттамалар негізінен жүзеге асыру деңгейінде мағызды.
Функционалдық дәлдік – жүйелік модель ақырғы жүзеге асырудың толық функционалдығын қаншалықты дәл жаңғыртатынын көрсетеді. Модельді жеңілдету мақсатымен, оның жасалуына кететін уақытты азайту немесе орындалу жылдамдығын арттыру, жобалық командалар қиын немесе сирек қолданылатын функционалдық аспектілерді қалдырып кете алады. Мысалы, егер олар сирек қоладанылатын болса, әртүрлі диагностикалық немесе тесттік режимдерді тастап кете алады; DSP қосымшасы жағдайында, функционалдық модель арифметика мен құбылмалы үтірлі мәліметтерді қолдана алады,ақырғы жүзеге асыру фиксацияланған үтірлі арифметиканы қолданса да. Бұл жағдайда модель ақырғы жүзеге асыруды анық көрсетпесе де, құбылмалы үтірлі модельдеу тезірек орындалады.
Сонымен бірге модельдер дәлдігі мен мәліметтерді ұйымдастыру толықтығына байланысты ерекшеленеді. Бұл модельдегі және ақырғы жүзеге асырудағы мәліметтердің орналасуы арасындағы үйлесімділік деңгейін білдіреді. Модельде ақырғы жүзеге асырудағыға қарағанда мәліметтерді тез орналастыратын схемалар қолданылуы мүмкін. Дәлдіктің басқа бағыты коммуникациялық интерфейстер мен протоколдарды модельдеумен байланысты. Аппараттық деңгейде дәл сигналдық интерфейстер мен протоколдардан ерекше, транзакциялар және мәліметтердің абстрактілі құрылымы негізіндегі, абстрактілі коммуникацияларды модельдеу,керек дәлдікті жоғалтпай, алдындағысынан тез жұмыс істейтін модельді құруға мүмкіндік береді.
Жүйенің функционалдық моделі – орындалатын спецификация ретінде белгілі. Жалпы бұл SystemC-да модель және модельдер иерархиясын таратқан жобалық спецификациялар мен талаптар. Бұл функционалдық модельдер мүмкін жүзеге асырумен байланыссыз деп болжанған. Бірақ қарапайым жағдайда функционалдық модельдерді бөліктерге және құрылымына бөлгенде, оған модель кем дегенде бір платформада жүзеге асырылу мүмкіндігі жайлы жобалаушының кейбір ойлары салынады. Мысалы, теориядамәліметтерді кодтау немесе қайта кодтау моделі, жобалық спецификацияның кез-келген аппараттық және бағдарламалық компоненттерге бөлінуіне тәуелсіз, бір процесс бола алса, алгоритм қалай жүзеге асатынын өзіне алдын-ала елестететін жобалаушы, мүмкін басқа жүйелердегі ұқсас алгоритмдері бар алдыңғы тәжірибелері негізінде, екі немесе одан көп тізбектес процесстерден тұратын модель жасай алады. Олардың кейбіреуі аппараттық жүзеге асыруға арналған, ал кейбіреулері RISC немесе DSP процессорларында орындауға арналған. Сондықтан жүзеге асыруға тәуелсіз атқарылатын спецификацияны талап ету қиын; кейде функционалдық модельдің құрылымында көрсетілген жобалау тәжірибесі, ескермеу үшін өте бағалы болып табылады.
Функционалдық модельдер уақыттық (уақытқа тәуелді (timed)) немесе уақытқа тәуелсіз (untimed) бола алады. Біз функционалдық спецификациямен жұмыс істейтініміздіктен, бәсеңдейтін жобалау процесінде (top-down) уақытқа тәуелсіз функционалдық модельден бастап, ары қарай талдап тексеру процесінде кідіріс туралы ақпаратты кірістерген жөн.Бірақ, функционалдық модель жүзеге асыруға тәуелсіз болғандықтан, бұл кідіріс туралы ақпарат нақтылы жүзеге асырудың бөлігі ретінде қарастырылмауы керек. Бұл– жүзеге асырылу процесіне берілуі қажет қарапайым уақыттық шектеулер, жобаланатын жүйе және оның сипаттамаларымен қондырылған минималды жүйе өнімділігіне қойылатын талаптар.
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ