I'm interested in giving my students information about the following four types of registers in the context of microcontrollers and embedded system design. I am listing the uses (to my knowledge) of each type of register. Are there other practical uses for these types of registers? In particular, when/where would SISO registers be used in embedded system applications?

Parallel In / Parallel Out (PIPO)

  • Accumulators
  • General purpose and I/O registers (etc.)

Serial In / Parallel Out (SIPO)

  • Input serial data to store in PIPO registers/memory

Parallel In / Serial Out (PISO)

  • Load data from PIPO registers/memory, and output as a serial stream

Serial In / Serial Out (SISO)

  • ??
  • 2
    \$\begingroup\$ This question is not a fit here. Stack exchange sites are for singular, specific questions that have specific answers. "What are..." type questions seeking an enumeration of possibilities do not fit this model and mission. \$\endgroup\$ – Chris Stratton Jun 20 '17 at 15:56

The only reason I can think of to have a SISO register would be to act as a delay in a shift register path or a scan chain. But in that case, it's not really a register, it's just some extra flops in the middle of the chain.

I have seen a hybrid register that could do all four operations: serial in, serial out, parallel in, and parallel out. It was used to allow the CPU to read and write values to a chain of flops.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.