În electronică, un sumător cu comutare de transport este un tip special de implementare a unui sumător , care este o poartă logică care calculează suma de biți a numerelor de doi biți. Adderul comutator de transport este simplu, dar mai rapid, având un nivel de adâncime a porții de .
Un sumator cu comutator de transport constă în mod obișnuit din două sumatoare de transport în serie și un multiplexor . Adăugând două numere de n biți, sumatorul cu comutare de transport face două sumatoare (de unde necesitatea a două sumatoare de transport consecutive) pentru a efectua calculul de două ori, o dată cu estimarea de transfer de zero și cealaltă presupunând una. După ce sunt calculate cele două rezultate, suma corectă și transportul corect sunt apoi selectate de multiplexor odată ce este cunoscută transportul corect.
Numărul de biți din fiecare bloc de comutare de transport poate fi sau nu același. În cazul blocurilor de aceeași dimensiune, întârzierea optimă are loc pentru un bloc de dimensiune . În cazul blocurilor de dimensiuni inegale, dimensiunea blocului trebuie să aibă o întârziere, de la intrările termenilor A și B la ieșirea de transport, egală cu întârzierea lanțului de multiplexor înaintea acestuia, astfel încât transportul de ieșire să fie calculat o singură dată. . întârzierea este o derivată a mărimii blocurilor identice, unde numărul ideal de elemente de adunare completă per bloc este egal cu rădăcina pătrată a numărului de biți adăugați, deoarece aceasta va da un număr egal de întârzieri multiplexer.
Mai sus este blocul de bază al unui agregator cu comutare de transport, unde dimensiunea blocului este de 4. Două sumătoare de transport în serie de 4 biți sunt multiplexate împreună, unde biții de transport și sumă rezultați sunt comutați de intrarea de transport. Deoarece un sumator de transport în serie presupune o intrare de transport de 0, iar celălalt presupune o intrare de transport de 1, comutarea căruia adăugător a avut estimarea corectă cu intrarea de transport reală produce rezultatul dorit.
Din trei astfel de blocuri și un adunător de 4 biți de transport la secvență poate fi creat un agregator de comutare de transport pe 16 biți cu blocuri identice de dimensiunea 4. Deoarece transportul de intrare este cunoscut de la începutul calculului, blocul comutator de transport nu este necesar pentru primii patru biți. Întârzierea acestui sumator va fi de patru întârzieri de sumator complet, plus trei întârzieri multiplexer.
În mod similar, poate fi creat un agregator de comutare de transport pe 16 biți cu dimensiuni de bloc inegale. Aici am arătat un sumator cu blocuri de dimensiunea 2-2-3-4-5. Această partiție este ideală atunci când întârzierea totală a sumătorului este egală cu întârzierea multiplexorului, ceea ce este puțin probabil. Întârzierea totală este de două întârzieri de sumător complet și patru întârzieri multiplexer. Am încercat să egalăm întârzierea prin cele două lanțuri de transport și întârzierea de transport din etapa anterioară.
Acest design de adunator poate fi suplimentat cu un adunator de report pentru a genera intrări multiplexer, oferind astfel o performanță și mai bună decât un sumator de prefix paralel, reducând în același timp suprafața. Un exemplu este prezentat în articolul Cogge-Stone Adder .