Кіріспе
Комбинациялық логикалық интегралдық схемаларды жобалау әдістемесі – теориялық компьютерлік ғылымның пәні. Интегралдық схемаларды жобалауда динамикалық логика (немесе кейде синхронды логика) – металл-оксидті жартылайөткізгіш (MOS) технологиясында іске асырылатын комбинациялық логикалық схемалар үшін қолданылатын жобалау әдістемесі. Ол статикалық логикадан, ақпаратты өтпелі түрде тарап кеткен және қақпалық сыйымдылықтарда сақтау арқылы ерекшеленеді. 1970-ші жылдары кең таралған және қазіргі кезде жоғары жылдамдықты цифрлық электрониканы, әсіресе орталық процессорларды (CPU) жобалауда қайта қолданылуда. Динамикалық логикалық схемалар көбінесе статикалық схемалардан жылдам жұмыс істейді және кішірек аумақты қажет етеді, бірақ оларды жобалау күрделірек. Динамикалық логикада кернеудің өзгеру жиілігі статикалық логикаға қарағанда жоғарырақ, бірақ ауысатын сыйымдық жүктемелер кішкентай болғандықтан, динамикалық логиканың жалпы қуат тұтынуы түрлі факторларға байланысты жоғары немесе төмен болуы мүмкін. Нақты логикалық отбасы туралы сөз болғанда, жобалау әдістемесін ажырату үшін "динамикалық" деген сөз жеткілікті, мысалы, динамикалық CMOS немесе динамикалық SOI жобалау.
the subject in theoretical computer science
In integrated circuit design, dynamic logic (or sometimes clocked logic) is a design methodology in combinational logic circuits, particularly those implemented in metal–oxide–semiconductor (MOS) technology. It is distinguished from the so called static logic by exploiting temporary storage of information in stray and gate capacitances. It was popular in the 1970s and has seen a recent resurgence in the design of high speed digital electronics, particularly central processing units (CPUs). Dynamic logic circuits are usually faster than static counterparts and require less surface area, but are more difficult to design. Dynamic logic has a higher average rate of voltage transitions than static logic, but the capacitive loads being transitioned are smaller so the overall power consumption of dynamic logic may be higher or lower depending on various tradeoffs. When referring to a particular logic family, the dynamic adjective usually suffices to distinguish the design methodology, e. g. dynamic CMOS or dynamic SOI design.
Статикалық және динамикалық логика
Статикалық және динамикалық логика арасындағы ең үлкен айырмашылық – динамикалық логикада комбинациялық логиканы бағалау үшін такталық сигнал қолданылады. Статикалық логика деп аталатын логикалық жобалаудың көптеген түрлерінде шығысты жоғары немесе төмен деңгейге түсіруге арналған механизм әрқашан болады. Көптеген танымал логикалық стильдерде, мысалы TTL және дәстүрлі CMOS, бұл принцип шығыс пен қуат көзі немесе жер арасында әрқашан төмен кедергілі тұрақты ток (DC) жолы бар деген тұжырымдама ретінде қайта формулировкаланады. Әрине, бұл анықтамада жоғары кедергілі шығыстар үшін, мысалы үш күйлі буферлерде ерекшеліктер бар; алайда, тіпті осы жағдайларда да тізбек шығысты басқаратын механизмі бар үлкен жүйеде қолдануға арналған және олар статикалық логикадан ерекшеленеді деп есептелмейді. Керісінше, динамикалық логикада шығысты жоғары немесе төмен деңгейге түсіретін механизм әрқашан болмайды. Бұл тұжырымдаманың ең көп таралған нұсқасында шығыс такталық циклдің ерекше бөліктерінде жоғары немесе төмен деңгейге түсіріледі. Шығыс белсенді түрде басқарылмайтын уақыт аралықтарында, паразиттік сыйымдылық оны басқарылған деңгейге жақын деңгейде ұстауға мәжбүр етеді. Динамикалық логикаға әр динамикалық қақпаның шығыс күйі такталық циклдің шығыс белсенді түрде басқарылмайтын бөлігінде шығыс сыйымдылығындағы зарядтың ағып кетуіне дейін пайдаланылуы немесе жаңартылуы үшін жеткілікті жылдамдық қажет. Статикалық логиканың ең төменгі такталық жиілігі жоқ – такталық сигнал кез келген уақытта тоқтатылуы мүмкін. Ұзақ уақыт бойы ештеңе жасамаудың пайдасы жоқ сияқты көрінсе де, ол үш артықшылыққа әкеледі: жүйені кез келген уақытта тоқтату мүмкіндігі жөндеу және сынақтарды оңайлатырады, мысалы, қадамдық орындау сияқты техникаларды қолдануға мүмкіндік береді; жүйені өте төмен такталық жиілікте іске қосу мүмкіндігі төмен қуатты электрониканы берілген батареямен ұзақ уақыт жұмыс істеуге мүмкіндік береді; толық статикалық жүйе тоқтаған жерінен бірден қайта басталуы мүмкін; жүйенің іске қосылуын немесе қайта басталуын күтудің қажеті жоқ. Жүйені кез келген уақытта кез келген ұзақтыққа тоқтату мүмкіндігін CPU-ны асинхронды оқиғаға синхрондау үшін де пайдалануға болады. Бұл үшін басқа механизмдер бар, мысалы, үзілістер, сауалнама циклдары, процессордың бос жүріс кіріс тізбектері (мысалы, 6502-дегі RDY) немесе процессор шинасының циклын ұзарту механизмдері, мысалы, WAIT кірістері, бірақ аппараттық құралды статикалық өзекті CPU-ға такталық сигналды басқару үшін пайдалану оңай, уақыт жағынан дәл, бағдарламалық код жадын пайдаланбайды және күту кезінде CPU-да қуатты мүлдем пайдаланбайды. Негізгі жобада күтуді бастау үшін CPU бинарлық кілт битін орнату үшін регистрге жазады, ол процессор тактысымен AND немесе OR операциясынан өтеді, процессорды тоқтатады. Перифериялық құрылғыдан келетін сигнал осы кілтті қайта орнатады, CPU жұмысын қайта бастайды. Аппараттық логика кілттің басқару кірістерін қажет болған жағдайда тұйықтауыштың шығыс ауысуы такталық сигнал деңгейінің бірден өзгеруіне және қалыптыдан қысқа жоғары немесе төмен такталық импульсын тудырмауы үшін басқаруы керек. Әсіресе, көптеген танымал CPU-лар динамикалық логиканы қолданса да, ғарыш спутниктерінде жоғары сәулеленуге төзімділігіне байланысты толық статикалық технологиямен жасалған CPU-лар ғана қолданылады. Дұрыс жобаланған кезде динамикалық логика статикалық логикадан екі еседен астам жылдам болуы мүмкін. Ол тек жылдам NMOS транзисторларын пайдаланады, бұл транзисторлардың өлшемдерін оңтайландыруды жақсартады. Статикалық логика баяу, өйткені оның сыйымдылық жүктемесі екі есе көп, жоғарғы шектері бар және логика үшін баяу PMOS транзисторларын пайдаланады. Динамикалық логикамен жұмыс істеу қиын болуы мүмкін, бірақ өңдеу жылдамдығын арттыру қажет болған кезде ол жалғыз таңдау болуы мүмкін. Қазіргі кезде 2 ГГц-тен жоғары жиілікте жұмыс істейтін электрониканың көп бөлігі динамикалық логиканы қажет етеді, бірақ Intel сияқты кейбір өндірушілер қуатты тұтынуды азайту үшін толық статикалық логиканы қолдана отырып, чиптерді жасады. Қуатты тұтынуды азайту тек батареялар немесе күн батареялары сияқты шектеулі қуат көздерімен жұмыс уақытын ұзартады (ғарыш кемелеріндегідей), сонымен қатар жылу дизайны талаптарын азайтады, қажетті жылу бөлгіштерінің, желдеткіштердің және т.б. көлемін азайтады, бұл өз кезегінде жүйенің салмағы мен құнын азайтады. Жалпы алғанда, динамикалық логика кез келген уақытта қосқан транзисторлардың санын күрт арттырады, бұл статикалық CMOS-қа қарағанда қуатты тұтынуды арттырады. Динамикалық логикаға негіделген жүйеде қуатты үнемдеуге арналған бірнеше техникаларды жүзеге асыруға болады. Сонымен қатар, әрбір желі кез келген сандағы биттерді жеткізе алады және қуатты ысыраптайтын импульстар жоқ. Такталық сигналды басқару және асинхронды техникалар динамикалық логикада табиғирақ.
being able to pause a system at any time makes debugging and testing much easier, enabling techniques such as single stepping. being able to run a system at extremely low clock rates allows low power electronics to run longer on a given battery. a fully static system can instantly resume exactly where it left off; a person doesn't have to wait for the system to boot up or resume. Being able to pause a system at any time for any duration can also be used to synchronize the CPU to an asynchronous event. While there are other mechanisms to do this, such as interrupts, polling loops, processor idling input pins (for example, RDY on the 6502), or processor bus cycle extension mechanisms such as WAIT inputs, using hardware to gate the clock to a static core CPU is simpler, is more temporally precise, uses no program code memory, and uses almost no power in the CPU while it is waiting. In a basic design, to start waiting, the CPU would write to a register to set a binary latch bit which would be ANDed or ORed with the processor clock, stopping the processor. A signal from a peripheral device would reset this latch, resuming CPU operation. The hardware logic must gate the latch control inputs as necessary to ensure that a latch output transition does not cause the clock signal level to instantaneously change and cause a clock pulse, either high or low, that is shorter than normal. In particular, although many popular CPUs use dynamic logic, only static cores—CPUs designed with fully static technology—are usable in space satellites owing to their higher radiation hardness. When properly designed, dynamic logic can be over twice as fast as static logic. It uses only the faster NMOS transistors, which improves transistor sizing optimizations. Static logic is slower because it has twice the capacitive loading, higher thresholds, and uses slow PMOS transistors for logic. Dynamic logic can be harder to work with, but it may be the only choice when increased processing speed is needed. Most electronics running at over 2 GHz these days require dynamic logic, although some manufacturers such as Intel have designed chips using completely static logic to reduce power consumption. Note that reducing power use not only extends the running time with limited power sources such as batteries or solar arrays (as in spacecraft), but it also reduces the thermal design requirements, reducing the size of needed heatsinks, fans, etc., which in turn reduces system weight and cost. In general, dynamic logic greatly increases the number of transistors that are switching at any given time, which increases power consumption over static CMOS. There are several powersaving techniques that can be implemented in a dynamic logic based system. In addition, each rail can convey an arbitrary number of bits, and there are no power wasting glitches. Power saving clock gating and asynchronous techniques are much more natural in dynamic logic.