Summary: | 碩士 === 國立交通大學 === 資訊工程學系 === 86 === In this thesis, we study some techniques for achieving maximum
performance in pipelines. A task once initiated into a pipeline,
flows from segment to segment for its execution. A collision
occurs if two or more tasks attemptto use the same segment at
the same time. Traditional methods like usingshift register or
reduced state diagrams can avoid collisions, but they can not
achieve maximum performance sometimes. By adding delays within
thepipeline, it is always possible to attain maximum
performance. We will describe some methods that can solve this
problem. These methods areimproved and implemented. We use an
approximate solution obtained by aheuristic algorithm as a
bounding function in the Branch and Bound algorithmto find the
optimal solution. It can drastically reduce execution time by
reducing the number of generated nodes. By experiments, we will
show the effects of changing bounds. For another method, we
extend the applicationdomain from a single- function pipeline to
a multi-function pipeline. In addition, we formulate an integer
linear program to find the optimal solution.
|