Ok, da muss ich mal die Scripte aus dem 1. Semester auspacken, du hast Glück, dass ich diese Dinger zu Referenzzwecken und weil ich mir zu gut bin, Bücher zu kaufen, aufbewahre.
Ausserdem muss ich das Zeugs sowieso repetieren, da ich mich momentan mit Hardware-Programmierung und Schaltungs-Design auseinandersetzen muss. ^^
Also erstmal zum Begriff sequentielle Schaltung: Dies ist eine Schaltung, die einerseits Register, das sind Speicherelemente, normalerweise Flip-Flops enthält und andererseits getaktet ist. Im Gegenzug zur kombinatorischen Schaltung, welche einfach irgendwelche Ausgangs-Bits auf bestimmte Eingangs-Bits erzeugt. Beide Schaltungstypen zusammen ergeben dann einen sogenannten Automaten, also eine digitale Schaltung, die Eingänge entgegen nimmt, einen sich ändernden Zustand besitzt (deshalb die Speicher) und passende Ausgänge generiert.
Ein Synchronzähler ist nun ebenfalls so ein Automat. Synchron deshalb, weil der Takt an allen Flip-Flops (FFs) anliegt. Diese schalten somit alle gleichzeitig durch. Was ist nun ein Zähler? Ein Zähler ist ein Automat ohne Eingang, der eine bestimmte Bitfolge dauernd wiederholt. Diese Bitfolge ist als Zustand in den einzelnen FFs gespeichert und werden direkt an den Ausgang geleitet. Als Beispiel für einen Zähler-Ausgang nehme ich den 3-Bit Pseudo-Gray-Code Generator, dieser erzeugt nach jedem Taktzyklus diese Ausgänge:
und wiederholt diese Prozedur jetzt ständig. Die einzelnen Bitfolgen können nun z.B. als Zahlen von 1 bis 6 interpretiert werden. Dieses Beispiel ist allerdings etwas künstlich, in der Realität hat man mehr Bits. Auch ist wesentlich, wie man die Bitfolgen interpretiert, dafür gibt es unterschiedliche Konventionen, sogenannte Codes.
Ein FF speichert genau ein Bit, also braucht man hier 3 FFs als sequentielle Schaltung. Die Aufgabe besteht nun normalerweise darin, herauszufinden, welche kombinatorische Schaltung aus den aktuellen Zuständen der FFs den neuen Zustand generiert, dies ist nicht immer ganz einfach und es würde vorerst den Rahmen sprengen, näher darauf einzugehen.
Wozu braucht man das? Nun, ohne Zähler kannst du so ziemlich jegliche Form von digitalen Berechnungen vergessen, die Grundlage für alle Arten von Computern. Wenn du z.B. eine Digitaluhr bauen willst, dann brauchst du einen Zähler, welche die Sekunden zählt, hier codiert man normalerweise mehrmals die Ziffern 0 bis 9 mit 4 Bits und durch eine weitere Schaltung lässt sich der Übertrag realisieren.
Nun zu den Schieberegistern: Diese sind im Grunde noch einfacher als die Synchronzähler, hier wird einfach jeweils der aktuelle Zustand eines FFs an das nächste FF gelegt, ohne kombinatorische Schaltung. Das erste FF wird dann mit dem Eingang verbunden. Das Resultat ist ein Automat, der Bits wie durch eine Warteschlange durchfliessen lässt, z.B. wenn man an den Eingang eine 1 legt und anschliessend nur 0en erhält man bei einem 4-Bit Schieberegister:
Brauchen tut man dies, um grosse Mengen von Daten zwischenzuspeichern, ehe sie gebraucht werden. Würde man dies nicht tun, hätte man irgendwo einen Informationsverlust, da die Verarbeitungskapazität eines digitalen Systems normalerweise begrenzt ist.
Ist soweit alles klar? Wenn du Fragen hast, stell sie einfach.