
Sayısal elektronikte kod çözücü (İngilizce: decoder), n bitlik bir ikili girişi 2n çıkıştan tam olarak birini 1 yapan çıkışa çeviren birleşik bir devredir. Herhangi bir anda çıkışlardan yalnızca biri 1'dir ve hangisinin 1 olacağını girişlerdeki ikili değer belirler. Böyle bir çıkışa, her an en çok bir bitin 1 olduğu ve her bitin bir değeri temsil ettiği tek-sıcak kod (İngilizce: one-hot) denir; kod çözücü böylece bir sayıyı ikili koddan tek-sıcak koda çevirir. Boyutu, giriş ve çıkış sayıları yan yana yazılarak gösterilir: üç girişli ve sekiz çıkışlı bir kod çözücü 3×8 kod çözücü diye anılır. Çoğu kod çözücünün bir de etkinleştirme girişi vardır; bu giriş 0 iken bütün çıkışlar 0 olur.
Kod çözücüler işlemcilerde ve bellek yongalarında adreslerin çözülmesinde, yazmaç öbeğinde yazılacak yazmacın seçilmesinde, sayıların yedi parçalı göstergelerde gösterilmesinde ve Boole fonksiyonlarının gerçeklenmesinde kullanılır. Etkinleştirme girişi veri girişi olarak kullanıldığında kod çözücü bir tekleyici olarak çalışır.
Kod çözücü sözcüğü haberleşmede ve veri sıkıştırmada, kodlanmış bir veriyi özgün biçimine geri çeviren devre ya da yazılım için de kullanılır. Bu madde sayısal mantıktaki ikili kod çözücüyü anlatır.
Çalışma ilkesi

| Girişler | Çıkışlar | |||||
|---|---|---|---|---|---|---|
| E | x | y | D0 | D1 | D2 | D3 |
| 0 | – | – | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 0 | 1 | 0 | 0 |
| 1 | 1 | 0 | 0 | 0 | 1 | 0 |
| 1 | 1 | 1 | 0 | 0 | 0 | 1 |
Kod çözücünün her çıkışı, girişlerin bir birleşimine karşılık gelen mini terimdir; girişlerin her değeri için bu mini terimlerden tam olarak biri 1 olur. Bu yüzden kod çözücü, DEĞİL kapılarıyla birlikte kullanılan VE kapılarından oluşur. Etkinleştirme girişli bir 2×4 kod çözücünün çıkış denklemleri şöyledir:
- D 0 = x ¯ ⋅ y ¯ ⋅ E , D 1 = x ¯ ⋅ y ⋅ E , D 2 = x ⋅ y ¯ ⋅ E , D 3 = x ⋅ y ⋅ E {\displaystyle D_{0}={\overline {x}}\cdot {\overline {y}}\cdot E,\quad D_{1}={\overline {x}}\cdot y\cdot E,\quad D_{2}=x\cdot {\overline {y}}\cdot E,\quad D_{3}=x\cdot y\cdot E}
İki DEĞİL kapısı girişlerin tümleyenlerini üretir, dört üç girişli VE kapısı da bu hatlardan uygun ikisini ve E'yi alır. 3×8 bir kod çözücüde aynı yapı üç giriş, üç DEĞİL kapısı ve sekiz VE kapısıyla kurulur; çıkışlar D 0 = x ¯ ⋅ y ¯ ⋅ z ¯ {\displaystyle D_{0}={\overline {x}}\cdot {\overline {y}}\cdot {\overline {z}}} ile D 7 = x ⋅ y ⋅ z {\displaystyle D_{7}=x\cdot y\cdot z} arasındaki sekiz mini terimdir.
Tümleşik devrelerde kapılar çoğunlukla VE yerine VE DEĞİL kapılarıyla kurulur ve çıkışlar etkin düşük olur: seçilen çıkış 0, ötekiler 1'dir. Texas Instruments'ın SN7442 kod çözücüsü sekiz DEĞİL kapısı ile on dört girişli VE DEĞİL kapısından oluşur. SN74HC138'de de seçilen çıkış düşük düzeye çekilir, öteki çıkışların hepsi yüksek kalır.
Devre şemalarında kod çözücü çoğunlukla bir dikdörtgen kutu olarak çizilir. Bazı kaynaklar yamuk simgesini de kullanır: çözülecek sinyal kısa kenardan girer, çıkışlar uzun kenardan çıkar, etkinleştirme girişi de kenarlardan birine bağlanır.
Etkinleştirme girişi ve birleştirme

Etkinleştirme girişi kod çözücünün bütün çıkışlarını birlikte açar ya da kapatır: bu giriş 0 iken hangi değer gelirse gelsin bütün çıkışlar 0'dır. Bu özellik küçük kod çözücülerden büyüklerini kurmayı sağlar. Örneğin iki 2×4 kod çözücüden bir 3×8 kod çözücü kurulabilir: alt iki bit y ile z iki kod çözücüye birlikte verilir, en anlamlı bit x ise birinin etkinleştirme girişine doğrudan, ötekininkine bir DEĞİL kapısı üzerinden bağlanır. x = 0 iken yalnızca ilk kod çözücü çalışır ve D0–D3 çıkışlarından biri 1 olur; x = 1 iken ikincisi çalışır ve D4–D7 çıkışlarından biri 1 olur.
Üreticiler yongalarına bu amaçla birden çok etkinleştirme girişi koyar. Texas Instruments'ın SN74HC138 yongasında ikisi etkin düşük, biri etkin yüksek üç etkinleştirme girişi vardır. Veri sayfasına göre bu düzen yongalar birleştirilirken dış kapı gereksinimini azaltır: 24 çıkışlı bir kod çözücü hiç dış DEĞİL kapısı kullanmadan, 32 çıkışlı bir kod çözücü ise tek bir DEĞİL kapısıyla kurulabilir. Stanford Üniversitesi'nin ders notlarında küçük kod çözücülerden kurulan büyük bir kod çözücünün tek parça bir tasarıma göre daha hızlı, daha küçük ve daha az güç harcayan bir çözüm olabileceği belirtilir.
Boole fonksiyonlarının gerçeklenmesi

Kod çözücünün çıkışları girişlerin bütün mini terimlerini ürettiği için her Boole fonksiyonu bir kod çözücü ile bir VEYA kapısıyla gerçeklenebilir: fonksiyonun 1 olduğu satırlara karşılık gelen çıkışlar VEYA kapısında toplanır. Kod çözücünün çıkışları, girişlerin doğruluk tablosunun hangi satırını seçtiğini gösterir. MIT'nin bilgisayar yapıları dersinde bu yolla bir tam toplayıcının iki çıkışı, üç girişli bir kod çözücünün çıkışlarından kurulur. Örneğin F(x, y, z) = Σ(1, 2, 6, 7) fonksiyonu 3×8 bir kod çözücünün D1, D2, D6 ve D7 çıkışları dört girişli bir VEYA kapısına verilerek elde edilir.
Aynı iş bir çoklayıcının veri girişlerine sabit 0 ve 1 değerleri verilerek de yapılabilir. Aradaki fark, tek bir kod çözücünün mini terimlerinin birçok fonksiyon arasında paylaşılabilmesidir: her fonksiyon için ayrı bir VEYA kapısı yeter, oysa bir çoklayıcı yalnızca bir fonksiyon üretir. Bu yaklaşım, programlanabilir mantık dizilerinde (İngilizce: programmable logic array, PLA) istenen fonksiyonların yeniden yapılandırılabilir biçimde üretilmesine olanak vermiştir.
Tekleyici ile ilişkisi
Etkinleştirme girişli bir kod çözücüde etkinleştirme girişi sabit bir değere bağlanmak yerine veri girişi olarak kullanılırsa, seçilen çıkış verinin değerini taşır ve öteki çıkışlar etkin olmayan düzeyde kalır; devre bu durumda tekleyici olarak çalışır. Bu yüzden üreticiler bu yongaları "kod çözücü/tekleyici" adıyla birlikte sunar. Texas Instruments'ın SN74154 yongası için ilk kataloğunda, dört ikili girişi birbirini dışlayan on altı çıkıştan birine çözdüğü ve bir giriş hattındaki veriyi on altı çıkıştan herhangi birine dağıtarak tekleyici işlevini de gördüğü belirtilir. SN74HC138'in veri sayfası da etkinleştirme girişlerinden birinin tekleyici uygulamalarında veri girişi olarak kullanılabileceğini yazar.
Yedi parçalı gösterge kod çözücüleri

Kod çözücülerin bir türü, dört bitlik bir ikili kodlu onluk (BCD) sayıyı yedi parçalı bir göstergenin a–g parçalarını süren yedi çıkışa çevirir. Bu devre ikili koddan tek-sıcak koda değil, göstergenin kendi koduna çevirme yaptığı için genel anlamda bir kod dönüştürücüdür, ama üreticiler de onu kod çözücü diye adlandırır.
Texas Instruments'ın CD74HC4511 yongası, BCD girişini içinde saklayabilen, çözen ve göstergeyi doğrudan süren bir BCD'den yedi parçalıya kod çözücü ve sürücüdür. D0–D3 adlı dört adres girişine ek olarak göstergeyi söndüren etkin düşük BL girişi, bütün parçaları yakarak göstergeyi sınamaya yarayan LT girişi ve saklamayı denetleyen LE girişi vardır. LE yüksekken yonga BCD girişlerini saklar; düşükken saklama devre dışı kalır ve çıkışlar BCD girişlerini doğrudan izler. CMOS 4000 ailesindeki CD4511B'nin veri sayfası da bu girişlerin görevlerini göstergeyi sınamak, söndürmek ya da parlaklığını ayarlamak ve bir BCD kodunu saklamak diye sıralar.
Bu türün TTL ailesindeki öncülleri, SN7446A ile SN7449 arasındaki BCD'den yedi parçalıya kod çözücü/sürücülerdir; Texas Instruments'ın ilk tümleşik devre kataloğunda bunlar VE DEĞİL kapıları, giriş sürücüleri ve yedi VE-VEYA-DEĞİL kapısından oluşan yongalar olarak tanıtılır. Aynı katalogdaki SN7442 ise BCD girişi on çıkıştan birine çeviren bir BCD'den onluğa kod çözücüdür.
Tümleşik devre olarak kod çözücüler
Kod çözücüler TTL mantık ailesinin ilk yıllarından beri hazır tümleşik devre olarak üretilmektedir. Texas Instruments'ın 1967-68 tarihli tümleşik devre kataloğunda 7400 serisi SN7400 ile SN7480 arasındaki yongalardan oluşur ve bunların arasında kod çözücü yoktur. Şirketin The Integrated Circuits Catalog for Design Engineers adlı kataloğunun ilk baskısında ise "kod çözücüler/tekleyiciler" başlığı altında BCD'den onluğa SN7442, 4×16 SN74154, çift 2×4 SN74155 ve SN74156 ile BCD'den yedi parçalıya SN7446A-SN7449 yer alır.
Bugün en yaygın örnekler yüksek hızlı CMOS serisindedir. 3×8 SN74HC138'in veri sayfası yongayı yüksek hızlı bellek kod çözme ve veri iletimi uygulamaları için tasarlanmış olarak tanıtır. 4×16 CD74HC154'te iki etkinleştirme girişi vardır ve bunlardan herhangi biri yüksekken bütün çıkışlar yüksek duruma zorlanır.
İşlemcilerde ve bellekte kullanımı

Yazmaç öbeği. Bir işlemcinin yazmaç öbeğine yazarken hangi yazmacın yazılacağını bir kod çözücü seçer. MIT'nin bilgisayar yapıları dersinde tasarlanan işlemcide 5 bitlik yazma adresi bir kod çözücüye verilir; kod çözücü 32 yazmacın yükleme girişlerinden hangisinin 1 olacağını belirler. Cornell'in ders notlarında da yazmaç öbeği her yazma kapısı için bir 5×32 kod çözücüyle, her okuma kapısı için ise bir çoklayıcıyla kurulur. Buyruk bir yazmaca sonuç yazmıyorsa, kod çözücünün etkinleştirme girişini süren yazma sinyali 0 olur ve hiçbir yazmaç değişmez.
Bellek. Bir bellek dizisinde okunacak ya da yazılacak satırı adres kod çözücüsü seçer. MIT'nin ders notlarında sekiz sözcüklük bir SRAM örneğinde adres kod çözücüsü sekiz sözcük hattından birini yüksek düzeye çekerek o satırı erişime açar; öteki sözcük hatları düşük kalır ve denetledikleri hücreleri devre dışı bırakır. Bellek yongalarının kendilerini seçmek için de adresin üst bitleri bir kod çözücüye verilir; SN74HC138 bu işe yönelik olarak tasarlanmıştır.
Buyruk kod çözme. İşlemcinin buyruk yürütme adımlarından biri buyruğun çözülmesidir: buyruğun işlem kodu alanı veri yolunu yöneten denetim sinyallerinin değerlerini belirlemek için kullanılır. MIT'nin tasarladığı işlemcide bu iş, 6 bitlik işlem koduyla adreslenen bir salt okunur bellek ile yapılır. Böyle bir bellek de içinde, adresi çözen bir kod çözücü taşır.
Kaynakça
- ^ a b c "4.1 Annotated Slides, Combinational Logic". 6.004 Computation Structures, Spring 2017 (İngilizce). MIT OpenCourseWare. 23 Eylül 2026 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Eylül 2026.
- ^ a b c Dally, William J.; Levis, Philip (16 Ocak 2008). "Lecture 3: Combinational Building Blocks" (PDF). EE108A (İngilizce). Stanford Üniversitesi. Erişim tarihi: 23 Eylül 2026. KB1 bakım: Birden fazla ad: yazar listesi (link) Arşivlenmesi gereken bağlantıya sahip kaynak şablonu içeren maddeler (link)
- ^ a b c d e f Lumetta, Steven S. (2016). "Decoders" (PDF). ECE 120: Introduction to Computing (İngilizce). Illinois Üniversitesi Urbana-Champaign. Erişim tarihi: 23 Eylül 2026. Arşivlenmesi gereken bağlantıya sahip kaynak şablonu içeren maddeler (link)
- ^ a b Redekopp, Mark. "EE101 Lecture 9" (PDF) (İngilizce). Güney Kaliforniya Üniversitesi. Erişim tarihi: 23 Eylül 2026. Arşivlenmesi gereken bağlantıya sahip kaynak şablonu içeren maddeler (link)
- ^ a b c d e "The Integrated Circuits Catalog for Design Engineers" (PDF) (İngilizce) (1 bas.). Texas Instruments. CC-401. 23 Ağustos 2025 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 23 Eylül 2026.
- ^ a b c d e "SNx4HC138 3-Line To 8-Line Decoders/Demultiplexers" (PDF) (İngilizce). Texas Instruments. Ekim 2021. SCLS107G. Erişim tarihi: 23 Eylül 2026. Arşivlenmesi gereken bağlantıya sahip kaynak şablonu içeren maddeler (link)
- ^ "CD54HC4511, CD74HC4511, CD74HCT4511 BCD-to-7 Segment Latch/Decoder/Drivers" (PDF) (İngilizce). Texas Instruments. Ağustos 2022. SCHS279E. Erişim tarihi: 23 Eylül 2026. Arşivlenmesi gereken bağlantıya sahip kaynak şablonu içeren maddeler (link)
- ^ "CD4511B CMOS BCD-to-7-Segment Latch Decoder Drivers" (PDF) (İngilizce). Texas Instruments. Temmuz 2003. SCHS072B. Erişim tarihi: 23 Eylül 2026. Arşivlenmesi gereken bağlantıya sahip kaynak şablonu içeren maddeler (link)
- ^ "Integrated Circuits" (PDF) (İngilizce). Texas Instruments. 1967. 23 Ağustos 2025 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 23 Eylül 2026.
- ^ "CD54HC154, CD74HC154, CD54HCT154, CD74HCT154 High-Speed CMOS Logic 4- to 16-Line Decoder/Demultiplexer" (PDF) (İngilizce). Texas Instruments. Haziran 2004. SCHS152D. Erişim tarihi: 23 Eylül 2026. Arşivlenmesi gereken bağlantıya sahip kaynak şablonu içeren maddeler (link)
- ^ a b "13.1 Annotated Slides, Building the Beta". 6.004 Computation Structures, Spring 2017 (İngilizce). MIT OpenCourseWare. 23 Eylül 2026 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Eylül 2026.
- ^ Bracy, Anne. "State and Memory" (PDF). CS 3410, Spring 2016 (İngilizce). Cornell Üniversitesi. 27 Mart 2016 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 23 Eylül 2026.
- ^ "14.1 Annotated Slides, Caches and the Memory Hierarchy". 6.004 Computation Structures, Spring 2017 (İngilizce). MIT OpenCourseWare. Erişim tarihi: 23 Eylül 2026. Arşivlenmesi gereken bağlantıya sahip kaynak şablonu içeren maddeler (link)
