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)

  • ??

closed as too broad by Chris Stratton, Brian Carlton, Voltage Spike, m.Alin, PeterJ Jun 22 '17 at 13:54

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 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.


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