2012-06-07 17 views
9

Wie werden Bit-Shifts auf Hardware-Ebene implementiert, wenn die Anzahl der Verschiebungen unbekannt ist?Wie werden Schichten auf Hardwareebene implementiert?

Ich kann mir nicht vorstellen, dass es eine separate Schaltung für jede Zahl gibt, die Sie verschieben können (das wären 64 Schaltkreise auf einer 64-Bit-Maschine), noch kann ich mir vorstellen, dass es eine Schleife von Verschiebungen wäre Eins (das würde auf einer 64-Bit-Maschine bis zu 64 Schiebezyklen dauern). Ist es eine Art Kompromiss zwischen den beiden oder gibt es einen cleveren Trick?

+0

Wenn es die gleiche ‚Schaltung‘ verwendet, wäre es sehr langsam :) Verschiebung sein wird in der Regel ein einzelner Zyklus Betrieb auf moderner Hardware . – leppie

+0

@leppie Deshalb frage ich. – Matt

+1

In Verbindung stehende Frage: http://stackoverflow.com/questions/9083743/is-bit-shifting-o1-oron –

Antwort