O'Reilly logo

Logically Determined Design: Clockless System Design with NULL Convention Logic by Karl Fant

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

images CHAPTER 11 images

Pipeline Buffering

A buffer is a fast cycle added to a pipeline. It is typically, but not necessarily, nonfunctional except for its buffering duties. There are three reasons for adding buffer cycles to a pipeline. The first is to enhance the throughput of a pipeline composed of variable throughput cycles. The second is to synchronize variable throughput behavior with constant throughput behavior. These first two reasons are the subject of this chapter.

The third reason for adding buffer cycles to a pipeline is to optimize the throughput of a structurally bounded pipeline, which is the subject of the next three chapters.

11.1 ENHANCING THROUGHPUT

Adding buffer cycles enhances the throughput of a pipeline composed of variable throughput cycles [23]. As was pointed out in the last chapter, the throughput of a pipeline tends to the worst-case throughput of its component cycles. The idea is to bring the throughput of the pipeline closer to the average case throughput of its component cycles. A buffer cycle in this instance is a cycle whose period is always equal to or faster than the fastest period of the variable throughput cycles. In this circumstance there is no advantage to a buffer cycle being faster than the fastest period of the variable throughput cycles. Faster buffer ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required