Кіріспе
Буль функцияларын орындайтын құрылғы. Логикалық қақпа – бір немесе бірнеше бинарлық кіріс бойынша логикалық операцияны орындайтын және бір бинарлық шығыс беретін құрылғы. Контекстке қарай, бұл термин нөлдік өрбу уақыты және шексіз таралуы бар идеалды логикалық қақпаны немесе идеалды емес физикалық құрылғыны білдіруі мүмкін (салыстыру үшін идеалды және нақты операциялық күшейткіштерді қараңыз). Логикалық қақпаларды құрудың негізгі әдісі – электрондық коммутаторлар ретінде жұмыс істейтін диодтар немесе транзисторларды пайдалану. Бүгінде логикалық қақпалардың көпшілігі MOSFET-терден (металл-оксид-жартылайөткізгіштік өріс эффекті транзисторлары) жасалады. Оларды вакуумдық түтіктерді, релелік логикасы бар электромагниттік релелерді, сұйықтық логикасын, пневматикалық логиканы, оптиканы, молекулаларды, акустиканы, тіпті механикалық немесе жылу элементтерін қолдана отырып құруға болады. Логикалық қақпалар Буль функцияларын құрастыру сияқты каскадты түрде жалғануы мүмкін, бұл Буль логикасының барлық физикалық моделін жасауға және демек, Буль логикасымен сипатталатын барлық алгоритмдер мен математиканы құруға мүмкіндік береді. Логикалық тізбектерге мультиплексорлар, тіркегіштер, арифметикалық-логикалық құрылғылар (АЛҚ) және компьютерлік жад сияқты құрылғылар кіреді, тіпті 100 миллионнан астам логикалық қақпаларды қамтитын толық микропроцессорларға дейін. AND OR Invert (AOI) және OR AND Invert (OAI) күрделі логикалық қақпалары схемаларды жобалауда жиі қолданылады, өйткені MOSFET-терді пайдалану арқылы оларды құру жеке қақпалардың жиынтығынан қарапайым және тиімдірек.
A logic gate is a device that performs a Boolean function, a logical operation performed on one or more binary inputs that produces a single binary output. Depending on the context, the term may refer to an ideal logic gate, one that has, for instance, zero rise time and unlimited fan out, or it may refer to a non ideal physical device (see ideal and real op amps for comparison). The primary way of building logic gates uses diodes or transistors acting as electronic switches. Today, most logic gates are made from MOSFETs (metal–oxide–semiconductor field effect transistors). They can also be constructed using vacuum tubes, electromagnetic relays with relay logic, fluidic logic, pneumatic logic, optics, molecules, acoustics, or even mechanical or thermal elements. Logic gates can be cascaded in the same way that Boolean functions can be composed, allowing the construction of a physical model of all of Boolean logic, and therefore, all of the algorithms and mathematics that can be described with Boolean logic. Logic circuits include such devices as multiplexers, registers, arithmetic logic units (ALUs), and computer memory, all the way up through complete microprocessors, which may contain more than 100 million logic gates. Compound logic gates AND OR Invert (AOI) and OR AND Invert (OAI) are often employed in circuit design because their construction using MOSFETs is simpler and more efficient than the sum of the individual gates.
Тарих және дамуы
Бинарлық сан жүйесін Готфрид Вильгельм Лейбниц жетілдірді (1705 жылы жарияланды), оған ежелгі И Цингс бинарлық жүйесі әсер еткен. Лейбниц екілік жүйені қолдану арифметика мен логика принциптерін біріктіретінін анықтады. 1886 жылғы хатында Чарльз Сандерс Пирс логикалық операцияларды электрлік айналдыру тізбектері арқылы жүзеге асыруға болатынын сипаттады. Алғашқы электромеханикалық компьютерлер вакуумдық түтіктердің (термиондық клапандардың) немесе транзисторлардың (кейінірек электрондық компьютерлерде қолданылған) кейінгі жетістіктерінен гөрі коммутаторлар мен релелік логикадан құралды. Людвиг Витгенштейн 16 қатарлы шындық кестесінің нұсқасын «Tractatus Logico Philosophicus» (1921) еңбегіндегі 5.101-қадам ретінде енгізді. Вальтер Боте, кездейсоқ тізбекті ойлап тапқан, 1954 жылы алғашқы заманауи электрондық ЖӘНЕ қақпасы үшін физика саласындағы Нобель сыйлығының бір бөлігін алды. Конрад Цузе өзінің Z1 компьютері үшін (1935 жылдан 1938 жылға дейін) электромеханикалық логикалық қақпаларды жобалап, құрастырды. 1934-1936 жылдары NEC инженерлері Акира Накасима, Клод Шеннон және Виктор Шестаков бірқатар мақалалар арқылы айналдыру тізбегі теориясын ұсынды. Олар тәуелсіз түрде ашқан екі мәнді Буль алгебрасы айналдыру тізбектерінің жұмысын сипаттауға болатынын көрсетті. Электрлік коммутаторлардың осы қасиетін логиканы іске асыру үшін пайдалану – барлық электрондық цифрлық компьютерлердің негізі болып табылатын маңызды ұғым. Айналдыру тізбегі теориясы цифрлық тізбектерді жобалаудың негізіне айналды, өйткені ол Екінші дүниежүзілік соғыс кезінде және одан кейін электр инженерлері қауымдастығында кеңінен танымал болды, бұрын қолданылған тәжірибелік әдістер теориялық тұжырымдамалармен ығыстырылды. Кейіннен екі түрі де біріктіріліп, 1963 жылы Fairchild Semiconductor компаниясында Чи Тан Сах және Фрэнк Ванласс комплементарлы MOS (CMOS) логикасына бейімделді.
Деректерді сақтау және ретті логика
Логикалық қақпалар деректерді сақтауға мүмкіндік беретін күйді де ұстай алады. Сақтау элементін бірнеше қақпаны "құлыптағыш" тізбегінде қосу арқылы жасауға болады. Құлыптағыш схемасы статикалық кездейсоқ сәйкес жадта қолданылады. Сағат сигналдарын пайдаланатын және сағаттың өрлеу немесе төмендеу жиегінде ғана өзгеретін күрделі конструкциялар жиекке сезімтал "флип-флоптар" деп аталады. Ресми түрде флип-флоп – бистабильді схема, себебі ол шексіз сақтауға болатын екі тұрақты күйге ие. Бірнеше биттік мәнді сақтау үшін бірнеше флип-флопты параллель қосу тіркегіш деп аталады. Осы қақпалардың кез келгенін пайдаланғанда, жүйе жадқа ие болады; ол реттік логикалық жүйе деп аталады, өйткені оның шығысына бұрынғы күйлері әсер ете алады, яғни кіріс күйлерінің тізбесінен. Ал комбинациялық логиканың шығысы – тек қазіргі кірістерінің комбинациясы, ол бұрынғы кіріс және шығыс күйлеріне тәуелді емес. Бұл логикалық тізбектер компьютер жадында қолданылады. Олардың өнімділігі жылдамдық, күрделілік және сақтаудың сенімділігі сияқты факторларға байланысты өзгереді, ал көптеген әртүрлі конструкциялар қолданылу саласына қарай қолданылады.
Электрондық қақпалар
Функционалдық жағынан толық логикалық жүйе релелерден, клапандардан (вакуумдық түтіктерден) немесе транзисторлардан құралуы мүмкін. Электрондық логикалық қақпалар релелік және ажыратқыш эквиваленттерінен едәуір өзгеше. Олар әлдеқайда жылдам, әлдеқайда аз қуатты тұтынады және әлдеқайда кішкентай (көп жағдайда миллион немесе одан да көп есе). Сонымен қатар, негізгі құрылымдық айырмашылық бар. Ажыратқыш тізбегі кірісі мен шығысы арасында ток ағыны үшін үздіксіз металл жолды жасайды (екі бағытта). Ал жартылай өткізгіш логикалық қақпа, керісінше, жоғары күшейтуге ие кернеу күшейткіші ретінде әрекет етеді, кірістегі шағын токты сіңіріп, шығыста төмен кедергілі кернеуді тудырады. Жартылай өткізгіш логикалық қақпаның кірісі мен шығысы арасында ток ағуы мүмкін емес. Шағын масштабты логика үшін дизайнерлер қазір Texas Instruments компаниясының TTL 7400 сериясы, RCA компаниясының CMOS 4000 сериясы және олардың соңғы ұрпақтары сияқты құрылғылар отбасыларынан алдын ала дайындалған логикалық қақпаларды қолданады. Бұл тұрақты функциялық логикалық қақпалар бағдарламаланатын логикалық құрылғылармен ауыстырылуда, бұл дизайнерлерге бір интегралдық схемаға көптеген аралас логикалық қақпаларды орналастыруға мүмкіндік береді. FPGA сияқты бағдарламаланатын логикалық құрылғылардың өрісте бағдарламаланатын мүмкіндігі аппараттық құралдың "қатаңдығын" азайтады; енді аппараттық жүйенің логикалық дизайнын оның кейбір компоненттерін қайта бағдарламалау арқылы өзгертуге болады, соның арқасында логикалық жүйенің аппараттық іске асырылуының мүмкіндіктері немесе функциясы өзгеруі мүмкін. 7400 және 4000 отбасылары сияқты стандартталған интегралды схемалардың маңызды артықшылығы – оларды каскадтауға болады. Яғни, бір қақпаның шығысын бір немесе бірнеше басқа қақпалардың кірістеріне қосуға болады, және т.б. Әр түрлі күрделіліктегі жүйелерді құруға болады, мұнда дизайнер қақпалардың ішкі жұмысына ерекше назар бөлмейді, әрбір интегралды схеманың шектеулерін ескере отырып. Бір қақпаның шығысы басқа қақпалардың кірістеріне шектеулі санды ғана қоректетей алады, бұл сан "желдеткіштің шегі" деп аталады. Сонымен қатар, қақпаның кірісіндегі өзгерістен оның шығысындағы сәйкес өзгеріске дейін әрқашан "таралу кешігуі" деп аталатын кешігу болады. Қақпалар каскадталғанда, жалпы таралу кешігуі шамамен жеке кешігулердің қосындысына тең, бұл жоғары жылдамдықты синхронды тізбектерде проблема тудыруы мүмкін. Көптеген кірістер бір шығысқа қосылғанда қосымша кешігу пайда болуы мүмкін, себебі барлық кірістер мен сымдардың таралатын сыйымдылығы және әрбір шығыс ұсына алатын токтың шекті мөлшері болады.
Үш күйлі логикалық қақпалар
Үш күйлі логикалық қақпа – үш түрлі шығысқа ие болатын логикалық қақпа: жоғары (H), төмен (L) және жоғары кедергі (Z). Жоғары кедергі күй логикада қандай да рөл атқармайды, ол қатаң түрде бинарлы болып табылады. Бұл құрылғылар CPU шиналарында бірнеше чиптің деректерді жіберуіне мүмкіндік беру үшін қолданылады. Тиісті басқару тізбегімен желіге сигнал беретін үш күйдің тобы негізінен мультиплексерге баламалы, ол жеке құрылғыларға немесе қосымша карталарға физикалық түрде бөлінуі мүмкін. Электроникада жоғары шығыс – шығыстың оң қуат терминалынан (оң кернеуден) ток алатынын білдіреді. Төмен шығыс – шығыстың теріс қуатқа (нөлдік кернеуге) ток беріп тұрғанын білдіреді. Жоғары кедергі – шығыстың тізбектен тиімді түрде ажырылғанын білдіреді.
Электрондық емес логикалық қақпалар
Электрондық емес іске асырулар әртүрлі, бірақ олардың көпшілігі практикалық қолданыстарда қолданылмайды. Гарвард Mark I сияқты көптеген ерте электромеханикалық цифрлық компьютерлер электромеханикалық релелерді пайдаланып, релелік логикалық қақпалардан құрастырылған. Логикалық қақпалар пневматикалық құрылғыларды, мысалы, Сортеберг релесін немесе механикалық логикалық қақпаларды, тіпті молекулалық деңгейде жасауға болады. Молекулаларды (молекулалық логикалық қақпалар) пайдалана отырып, әртүрлі типтегі негізгі логикалық қақпалар жасалды, олар химиялық кірістерге және спектроскопиялық шығыстарға негізделген. Логикалық қақпалар ДНК-дан жасалды (ДНК нанотехнологиясына қараңыз) және MAYA (MAYA II қараңыз) деп аталатын компьютер құру үшін пайдаланылды. Логикалық қақпалар кванттық механикалық эффекттерден жасалуы мүмкін, кванттық логикалық қақпаны қараңыз. Фотоникалық логикалық қақпалар сызықтық емес оптикалық эффекттерді пайдаланады. Принцип бойынша, функционалды толық қақпаға (мысалы, NOR немесе NAND қақпасы) әкелетін кез келген әдіс кез келген цифрлық логикалық тізбекті жасау үшін қолданылуы мүмкін. Автобус жүйелері үшін үш күйлі логиканы пайдалану міндетті емес, оны тек қарапайым логикалық қақпаларды (мысалы, NAND қақпалары, NOR қақпалары немесе AND және OR қақпалары) пайдаланып құрастырылатын цифрлық мультиплекстерлермен алмастыруға болады.