Кешігуге сезімтал емес тізбектер: Асинхронды есептеулер және қолданылуы
Delay insensitive circuit
Кез келген кешігуге сезімтал емес тізбектер – синхронды емес схемалар, дерек ағынымен жұмыс істейді. Сағат сигналы қажет емес, дерек алмасу "қол алысу" арқылы жүзеге асырылады.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
Кідіруге сезімтал емес схема – бұл асинхронды схеманың бір түрі, ол көбінесе есептеу процессор чипіндегі сандық логикалық операцияны орындайды. Сағат сигналдарын немесе басқа жаһандық басқару сигналдарын пайдаланудың орнына, кідіруге сезімтал емес схемадағы есептеудің реттілігі дерек ағынымен анықталады. Дерек бір схема элементінен екіншісіне «қол алысу» арқылы, яғни кернеудің ауысу тізбегін пайдаланып, деректерді қабылдауға немесе ұсынуға дайын екенін көрсетеді. Әдетте, схема модулінің кірістері қабылдауға дайын екенін көрсетеді, бұл деректерді жіберу арқылы қосылған шығыспен «құпталатын» болады (деректерді қабылдаушы тікелей анықтай алатындай етіп кодталған), ал деректер қауіпсіз қабылданғаннан кейін, қабылдаушы оны нақты құптайды, бұл жіберушіге деректерді жоюға мүмкіндік береді, осылайша қол алысу аяқталады және басқа деректерді беруге болады. Сондықтан, кідіруге сезімтал емес схемада есептеуді бастау уақытын анықтау үшін сағат сигналын берудің қажеті жоқ. Оның орнына, субсхеманың кірісіне деректердің келуі есептеуді бастауға түрткі болады. Нәтижесінде, келесі есептеуді бірінші есептеу аяқталғаннан кейін бірден бастауға болады. Мұндай схемалардың басты артықшылығы – деректерге немесе сұралған функцияға байланысты кез келген уақытты алуға болатын әрекеттерді өңдеуді оңтайландыру мүмкіндігі. Аяқталу уақыты өзгермелі процестердің мысалы – математикалық бөлу немесе деректерді қалпына келтіру, онда мұндай деректер кэште сақталуы мүмкін. Кідіруге сезімтал емес (DI) класы – барлық асинхронды схемалардың кідіру модельдерінің ең сенімдісі. Ол сымдар мен қақпалардың кідіруі туралы ешқандай болжам жасамайды. Бұл модельде қақпалар мен сымдардағы барлық ауысулар қайтадан ауысудан бұрын мойындалуы керек. Бұл жағдай көрінбейтін ауысуларды тоқтатады. DI схемаларында кірістегі қақпаға кез келген ауысу, сол кірістегі келесі ауысуға рұқсат берілмес бұрын, қақпаның шығысында көрінуі керек. Бұл кейбір кіріс күйлерін немесе тізбектерді заңсыз етуге мәжбүрлейді. Мысалы, OR қақпалары ешқашан екі кірісі де бір болатын күйге енбеуі керек, өйткені осы күйге кіру және одан шығу қақпаның шығысында көрінбейді. Бұл модель өте сенімді болғанымен, DI схемаларында айқын шарттылықтардың болмауына байланысты практикалық схемалар жасау мүмкін емес. Оның орнына, Квази-кідіруге сезімтал модель – пайдалы есептеу схемаларын жасауға қабілетті ең кішкентай компромистік модель. Осы себепті схемалар көбінесе кідіруге сезімтал емес деп қате айтылады, бірақ олар жартылай кідіруге сезімтал.
A delay insensitive circuit is a type of asynchronous circuit which performs a digital logic operation often within a computing processor chip. Instead of using clock signals or other global control signals, the sequencing of computation in delay insensitive circuit is determined by the data flow. Data flows from one circuit element to another using "handshakes", or sequences of voltage transitions to indicate readiness to receive data, or readiness to offer data. Typically, inputs of a circuit module will indicate their readiness to receive, which will be "acknowledged" by the connected output by sending data (encoded in such a way that the receiver can detect the validity directly), and once that data has been safely received, the receiver will explicitly acknowledge it, allowing the sender to remove the data, thus completing the handshake, and allowing another datum to be transmitted. In a delay insensitive circuit, there is therefore no need to provide a clock signal to determine a starting time for a computation. Instead, the arrival of data to the input of a sub circuit triggers the computation to start. Consequently, the next computation can be initiated immediately when the result of the first computation is completed. The main advantage of such circuits is their ability to optimize processing of activities that can take arbitrary periods of time depending on the data or requested function. An example of a process with a variable time for completion would be mathematical division or recovery of data where such data might be in a cache. The Delay Insensitive (DI) class is the most robust of all asynchronous circuit delay models. It makes no assumptions on the delay of wires or gates. In this model all transitions on gates or wires must be acknowledged before transitioning again. This condition stops unseen transitions from occurring. In DI circuits any transition on an input to a gate must be seen on the output of the gate before a subsequent transition on that input is allowed to happen. This forces some input states or sequences to become illegal. For example OR gates must never go into the state where both inputs are one, as the entry and exit from this state will not be seen on the output of the gate. Although this model is very robust, no practical circuits are possible due to the lack of expressible conditionals in DI circuits. Instead the Quasi Delay Insensitive model is the smallest compromise model yet capable of generating useful computing circuits. For this reason circuits are often incorrectly referred to as Delay Insensitive when they are Quasi Delay Insensitive.