Кіріспе

Комбинациялық логикалық интегралдық схемаларды жобалау әдістемесі – теориялық компьютерлік ғылымның пәні. Интегралдық схемаларды жобалауда динамикалық логика (немесе кейде синхронды логика) – металл-оксидті жартылайөткізгіш (MOS) технологиясында іске асырылатын комбинациялық логикалық схемалар үшін қолданылатын жобалау әдістемесі. Ол статикалық логикадан, ақпаратты өтпелі түрде тарап кеткен және қақпалық сыйымдылықтарда сақтау арқылы ерекшеленеді. 1970-ші жылдары кең таралған және қазіргі кезде жоғары жылдамдықты цифрлық электрониканы, әсіресе орталық процессорларды (CPU) жобалауда қайта қолданылуда. Динамикалық логикалық схемалар көбінесе статикалық схемалардан жылдам жұмыс істейді және кішірек аумақты қажет етеді, бірақ оларды жобалау күрделірек. Динамикалық логикада кернеудің өзгеру жиілігі статикалық логикаға қарағанда жоғарырақ, бірақ ауысатын сыйымдық жүктемелер кішкентай болғандықтан, динамикалық логиканың жалпы қуат тұтынуы түрлі факторларға байланысты жоғары немесе төмен болуы мүмкін. Нақты логикалық отбасы туралы сөз болғанда, жобалау әдістемесін ажырату үшін "динамикалық" деген сөз жеткілікті, мысалы, динамикалық CMOS немесе динамикалық SOI жобалау.

Статикалық және динамикалық логика

Статикалық және динамикалық логика арасындағы ең үлкен айырмашылық – динамикалық логикада комбинациялық логиканы бағалау үшін такталық сигнал қолданылады. Статикалық логика деп аталатын логикалық жобалаудың көптеген түрлерінде шығысты жоғары немесе төмен деңгейге түсіруге арналған механизм әрқашан болады. Көптеген танымал логикалық стильдерде, мысалы TTL және дәстүрлі CMOS, бұл принцип шығыс пен қуат көзі немесе жер арасында әрқашан төмен кедергілі тұрақты ток (DC) жолы бар деген тұжырымдама ретінде қайта формулировкаланады. Әрине, бұл анықтамада жоғары кедергілі шығыстар үшін, мысалы үш күйлі буферлерде ерекшеліктер бар; алайда, тіпті осы жағдайларда да тізбек шығысты басқаратын механизмі бар үлкен жүйеде қолдануға арналған және олар статикалық логикадан ерекшеленеді деп есептелмейді. Керісінше, динамикалық логикада шығысты жоғары немесе төмен деңгейге түсіретін механизм әрқашан болмайды. Бұл тұжырымдаманың ең көп таралған нұсқасында шығыс такталық циклдің ерекше бөліктерінде жоғары немесе төмен деңгейге түсіріледі. Шығыс белсенді түрде басқарылмайтын уақыт аралықтарында, паразиттік сыйымдылық оны басқарылған деңгейге жақын деңгейде ұстауға мәжбүр етеді. Динамикалық логикаға әр динамикалық қақпаның шығыс күйі такталық циклдің шығыс белсенді түрде басқарылмайтын бөлігінде шығыс сыйымдылығындағы зарядтың ағып кетуіне дейін пайдаланылуы немесе жаңартылуы үшін жеткілікті жылдамдық қажет. Статикалық логиканың ең төменгі такталық жиілігі жоқ – такталық сигнал кез келген уақытта тоқтатылуы мүмкін. Ұзақ уақыт бойы ештеңе жасамаудың пайдасы жоқ сияқты көрінсе де, ол үш артықшылыққа әкеледі: жүйені кез келген уақытта тоқтату мүмкіндігі жөндеу және сынақтарды оңайлатырады, мысалы, қадамдық орындау сияқты техникаларды қолдануға мүмкіндік береді; жүйені өте төмен такталық жиілікте іске қосу мүмкіндігі төмен қуатты электрониканы берілген батареямен ұзақ уақыт жұмыс істеуге мүмкіндік береді; толық статикалық жүйе тоқтаған жерінен бірден қайта басталуы мүмкін; жүйенің іске қосылуын немесе қайта басталуын күтудің қажеті жоқ. Жүйені кез келген уақытта кез келген ұзақтыққа тоқтату мүмкіндігін CPU-ны асинхронды оқиғаға синхрондау үшін де пайдалануға болады. Бұл үшін басқа механизмдер бар, мысалы, үзілістер, сауалнама циклдары, процессордың бос жүріс кіріс тізбектері (мысалы, 6502-дегі RDY) немесе процессор шинасының циклын ұзарту механизмдері, мысалы, WAIT кірістері, бірақ аппараттық құралды статикалық өзекті CPU-ға такталық сигналды басқару үшін пайдалану оңай, уақыт жағынан дәл, бағдарламалық код жадын пайдаланбайды және күту кезінде CPU-да қуатты мүлдем пайдаланбайды. Негізгі жобада күтуді бастау үшін CPU бинарлық кілт битін орнату үшін регистрге жазады, ол процессор тактысымен AND немесе OR операциясынан өтеді, процессорды тоқтатады. Перифериялық құрылғыдан келетін сигнал осы кілтті қайта орнатады, CPU жұмысын қайта бастайды. Аппараттық логика кілттің басқару кірістерін қажет болған жағдайда тұйықтауыштың шығыс ауысуы такталық сигнал деңгейінің бірден өзгеруіне және қалыптыдан қысқа жоғары немесе төмен такталық импульсын тудырмауы үшін басқаруы керек. Әсіресе, көптеген танымал CPU-лар динамикалық логиканы қолданса да, ғарыш спутниктерінде жоғары сәулеленуге төзімділігіне байланысты толық статикалық технологиямен жасалған CPU-лар ғана қолданылады. Дұрыс жобаланған кезде динамикалық логика статикалық логикадан екі еседен астам жылдам болуы мүмкін. Ол тек жылдам NMOS транзисторларын пайдаланады, бұл транзисторлардың өлшемдерін оңтайландыруды жақсартады. Статикалық логика баяу, өйткені оның сыйымдылық жүктемесі екі есе көп, жоғарғы шектері бар және логика үшін баяу PMOS транзисторларын пайдаланады. Динамикалық логикамен жұмыс істеу қиын болуы мүмкін, бірақ өңдеу жылдамдығын арттыру қажет болған кезде ол жалғыз таңдау болуы мүмкін. Қазіргі кезде 2 ГГц-тен жоғары жиілікте жұмыс істейтін электрониканың көп бөлігі динамикалық логиканы қажет етеді, бірақ Intel сияқты кейбір өндірушілер қуатты тұтынуды азайту үшін толық статикалық логиканы қолдана отырып, чиптерді жасады. Қуатты тұтынуды азайту тек батареялар немесе күн батареялары сияқты шектеулі қуат көздерімен жұмыс уақытын ұзартады (ғарыш кемелеріндегідей), сонымен қатар жылу дизайны талаптарын азайтады, қажетті жылу бөлгіштерінің, желдеткіштердің және т.б. көлемін азайтады, бұл өз кезегінде жүйенің салмағы мен құнын азайтады. Жалпы алғанда, динамикалық логика кез келген уақытта қосқан транзисторлардың санын күрт арттырады, бұл статикалық CMOS-қа қарағанда қуатты тұтынуды арттырады. Динамикалық логикаға негіделген жүйеде қуатты үнемдеуге арналған бірнеше техникаларды жүзеге асыруға болады. Сонымен қатар, әрбір желі кез келген сандағы биттерді жеткізе алады және қуатты ысыраптайтын импульстар жоқ. Такталық сигналды басқару және асинхронды техникалар динамикалық логикада табиғирақ.