I would like a description that clarifies the concepts of what buffers and latches are and the difference between them. I'm asking for buffers and latches in respect to the 8086 microprocessor.

  • \$\begingroup\$ Buffers and latches are buffers latches, whether as stand alone parts, or integrated into a larger design. \$\endgroup\$
    – Matt Young
    Jul 24, 2014 at 17:54
  • \$\begingroup\$ Do you want to know how they function? Are you familiar with flipflop circuits? \$\endgroup\$ Jul 24, 2014 at 17:58
  • \$\begingroup\$ @JarrodChristman yes I am well aware of what flip flops are along with types and etc. what i really want to know is about them.. there functioning and all... to bsae my concepts. \$\endgroup\$
    – SIK
    Jul 30, 2014 at 16:47

2 Answers 2

  1. A buffer allows a signal to drive more inputs than it would by itself, or provides input protection / amplification. For the 8086, it's used in the output sense, allowing internal signals to be made robust to drive external devices.

  2. A latch is a circuit to accept and store one or more bits, with a 1-to-1 input / output ratio. That is, it's not RAM. It differs from a register in that the storage takes place while a control input is at a particular level (0 or 1), while a register stores the input data upon receipt of an edge (rising or falling).

Latches are used with 8086s to store addresses and data, and are used instead of registers because they maximize setup times. That is, if data or addresses change internally while the latch enable is active, the data passes through immediately, while with a register it would not be available until after the appropriate clock transition had occurred. The early microprocessors used every trick they could to increase their usable speed, and this is one of them.

  • \$\begingroup\$ Interesting last comment. So the earlier processors did not use clocks in these situations? I was under the impression that registers were comprised of latches, or perhaps flip-flops. \$\endgroup\$
    – sherrellbc
    Jul 24, 2014 at 18:31
  • 2
    \$\begingroup\$ @sherrellbc - sure they used clocks. It's just that, for these early processes, the clock/data delays were often not well-defined. In the case of transferring addresses to external devices, it made more sense to use latches, since you could get maximum setup time before data had to be operated on. With registers, the register inputs have to settle and be available well before the clock edge, and using a latch allows this extra time to be used by the external device (and this was important, back in the day). Registers can be considered a special case of a latch with an enable triggered by a clk \$\endgroup\$ Jul 24, 2014 at 18:58
  • 1
    \$\begingroup\$ Hmm. Let me expand on this. "Register" has two different meanings in electronics. At the device level, the register/latch distinction is as I say. At the block diagram level, register refers to temporary storage and may be registers/latches or it may be RAM. So it depends on context as to what you mean by register. \$\endgroup\$ Jul 24, 2014 at 20:07
  • \$\begingroup\$ I believe that latches are almost same as flip flops. \$\endgroup\$
    – SIK
    Jul 30, 2014 at 16:38
  • \$\begingroup\$ @WhatRoughBeast Thank you very much. This has helped me a lot and has increased further questions as well, which is good definitely. \$\endgroup\$
    – SIK
    Jul 30, 2014 at 16:58

Buffers pass an input through to output after some propagation time, possibly increasing drive strength (increasing fanout).

Latches additionally add memory, to capture and persist the input value at some point in time (memory). This latching behavior is triggered by a third signal, control.

The control can be edge- or level-triggered. Edge-triggered latches freeze inputs when a control input transition occurs. Level-triggered control buffer the input until the control signal is activated, freezing the output level.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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