Unformatted text preview: known, the information available is as shown in Table 4.2, which also shows how
Table 4.2 ARM9 carry arbitration encoding. 92 ARM Organization and Implementation this information is encoded by u and v. This information can be combined with that from a neighbouring bit position using the formula:
(u,v) (w',v') = (v + u u',v + u v') Equation 12 It can be shown that this combinational operator is associative and hence u and v can be computed for all the bits in the sum using a regular parallel prefix tree. The logic required to implement Equation 12 can combine up to 4 pairs of inputs in a single CMOS gate, producing the new u and v outputs from a single transistor structure. Furthermore, it can be seen that u gives the carryout if the carryin is one, and v gives the carryout if the carryin is zero, u and v can therefore be used to generate the (Sum, Sum+1) values required for a hybrid carry arbitration/carry select adder, resulting in a number of possible designs which allow a tradeoff between performance, area and power consumption. The barrel shifter The ARM architecture supports instructions which perform a shift operation in series with an ALU operation, leading to the organization shown in Figure 4.1 on page 76. The shifter performance is therefore critical since the shift time contributes directly to the datapath cycle time as shown in the datapath timing diagram in Figure 4.9 on page 87. (Other processor architectures tend to have the shifter in parallel with the ALU, so as long as the shifter is no slower than the ALU it does not affect the datapath cycle time.) In order to minimize the delay through the shifter, a crossbar switch matrix is used to steer each input to the appropriate output. The principle of the crossbar switch is illustrated in Figure 4.15, where a 4 x 4 matrix is shown. (The ARM processors use a Figure 4.15 The crossbar switch barrel shifter principle. ARM implementation 93 32 x 32 matrix.) Each input is connected to each output through a switch. If precharged dynamic logic is used, as it is on the ARM datapaths, e...
View
Full
Document
 Spring '09
 Staff

Click to edit the document details