The control hardware used for dispatching instruction from the reservation stations is described in this post. For gaining the background on this topic you can refer here . As discussed previously, the control hardware is divided into three different parts for making the implementation a bit easier. We will now go through each of them, in detail, to understand their complete working. The Allocating Unit After the instructions are decoded, they are sent to the reservation station. This transfer of instruction from the Decode stage to the Reservation station is facilitated by the Allocating Unit. It performs the following actions: Read if any valid instructions are coming form decode. Keep a track of empty entries in the reservation station(s). In case of Distributed Reservation Station, the unit also has to decide to which station it has to transfer a particular instruction. Implementing (1) and (3) is simple and just involves reading the validity bit and instruction ...