<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Carry-Select-Addierer</id>
	<title>Carry-Select-Addierer - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Carry-Select-Addierer"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Carry-Select-Addierer&amp;action=history"/>
	<updated>2026-05-25T23:25:13Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Carry-Select-Addierer&amp;diff=749366&amp;oldid=prev</id>
		<title>imported&gt;Aka: /* Laufzeiten */ Halbgeviertstrich</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Carry-Select-Addierer&amp;diff=749366&amp;oldid=prev"/>
		<updated>2018-11-21T13:45:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Laufzeiten: &lt;/span&gt; Halbgeviertstrich&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Belege fehlen}}&lt;br /&gt;
Der &amp;#039;&amp;#039;&amp;#039;Carry-Select-Addierer&amp;#039;&amp;#039;&amp;#039; (von {{enS|carry}} Übertrag, {{lang|en|&amp;#039;&amp;#039;select&amp;#039;&amp;#039;}} (aus-)wählen) oder kurz CSCA ist ein beschleunigtes [[Addierwerk|Addiernetz]], welches zur Addition mehrstelliger [[Binärzahl]]en verwendet wird.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
[[Datei:Carry-Select-Addierer.png|mini|Beispiel eines 9-Bit Carry-Select-Addierers]]&lt;br /&gt;
&lt;br /&gt;
Der CSCA unterteilt die gesamte &amp;#039;&amp;#039;[[Datenwort|Wortbreite]] n&amp;#039;&amp;#039; in &amp;#039;&amp;#039;M Blöcke&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Im gegebenen Bildbeispiel sind die Blockbreiten 2, 3 und 4 [[Bit]].&amp;lt;br /&amp;gt;&lt;br /&gt;
Es handelt sich also um eine Addition von zwei 2 + 3 + 4 = 9 Bit breiten Binärzahlen.&lt;br /&gt;
&lt;br /&gt;
Das Prinzip dieses Addiernetzes lässt sich mit dem Begriff „parallelisierte Vorabberechnung“ beschreiben, denn jeder der Blöcke besteht aus jeweils zwei [[Carry-Ripple-Addierer]]n (kurz CRA), die gleichzeitig die Berechnung für ihren Bit-Anteil der Binärzahlen ausführen. Dabei liegt an einem der CRA ein Übertragsbit an (c=1), während der Carry-Eingang des anderen auf c=0 gesetzt ist. Somit werden pro Block beide möglichen Fälle parallel ausgerechnet und an einen [[Multiplexer]] angelegt.&lt;br /&gt;
Dieser schaltet schließlich in Abhängigkeit vom höchstwertigen Übertragungsbit des vorherigen Blocks auf die richtige Lösungsvariante, welche im Idealfall schon fertig berechnet ist.&lt;br /&gt;
&lt;br /&gt;
== Laufzeiten ==&lt;br /&gt;
Um eine optimale [[Laufzeit (Informatik)|Laufzeit]] zu erhalten, ist es sinnvoll, die &amp;#039;&amp;#039;beliebig variable Blockwortbreite&amp;#039;&amp;#039; wachsen zu lassen, da so die Berechnung im Block synchron mit dem Anlegen des endgültigen Übertragungsbits abschließt.&lt;br /&gt;
&lt;br /&gt;
Im folgenden Rechenbeispiel wird davon ausgegangen, dass dies genau dann der Fall ist, wenn der Wortbreitenzuwachs 1 Bit pro Block entspricht (siehe Beispiel).&lt;br /&gt;
&lt;br /&gt;
* Gesamtwortbreite = n&lt;br /&gt;
* Anzahl der Blöcke = K&lt;br /&gt;
* Variable Blockwortbreite = &amp;lt;math&amp;gt;m_k&amp;lt;/math&amp;gt; mit k = 0,1,...,K-1&lt;br /&gt;
* Anfangsblockwortbreite = &amp;lt;math&amp;gt;m_0&amp;lt;/math&amp;gt;&lt;br /&gt;
* Wortbreitenzuwachs = &amp;lt;math&amp;gt;\sigma_m&amp;lt;/math&amp;gt; [in Bit/Block]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;n = \sum_{k=0}^{K-1}\,m_k = m_0 + (m_0+1) + (m_0+2) + ... + (m_0+K-1)&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;n = K \cdot m_0 + (1+2+...+K-1) = K \cdot m_0 + K\cdot\frac{K-1}{2}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 = K^2 + K\cdot(2m_0-1)-2n&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;K = -\frac{2m_0-1}{2} \pm \sqrt{\left(\frac{2m_0-1}{2}\right)^2 +2n}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auf unser spezielles Beispiel (&amp;lt;math&amp;gt;n=9, m_0=2, \sigma_m=1&amp;lt;/math&amp;gt;) angewandt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;K = - \frac{3}{2} + \sqrt{ \frac{9}{4} + \frac{72}{4} } = 3&amp;lt;/math&amp;gt; (0,1,2 – entspricht drei Blöcken)&lt;br /&gt;
&lt;br /&gt;
Additionszeit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{CSCA}(n) = \tau_{CRA}(m_0) + (K-1) \cdot \tau_{Block}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{CSCA}(n) = O(\sqrt{n})&amp;lt;/math&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\tau_{CRA}(n) = \tau_{Halbaddierer} + (n-1) \cdot \tau_{Carry-Ripple} + \tau_{Halbaddierer}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{SORTIERUNG:CarrySelectAddierer}}&lt;br /&gt;
[[Kategorie:Digitaltechnik]]&lt;br /&gt;
[[Kategorie:Computerarithmetik]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Aka</name></author>
	</entry>
</feed>