Ja wie gesagt gibt es verschiedene Schieberegister
der 595 ist seriell in paralell out (SIPO)
der 165 ist paralell in seriell out (PISO) also damit kannst du den Zustand von 8 Eingängen seriell übertragen.
Es gibt auch noch I2C port expander.
Die können über I2C einzel angesprochen werden und die Pins als Eingang oder Ausgang einzeln definiert werden.
Grüße Uwe