qBSA: Logic Design of a 32-bit Block-Skewed RSFQ Arithmetic Logic Unit

01/29/2020 ∙ by Souvik Kundu, et al. ∙ University of Southern California 0

Single flux quantum (SFQ) circuits are an attractive beyond-CMOS technology because they promise two orders of magnitude lower power at clock frequencies exceeding 25 GHz.However, every SFQ gate is clocked creating very deep gate-level pipelines that are difficult to keep full, particularly for sequences that include data-dependent operations. This paper proposes to increase the throughput of SFQ pipelines by re-designing the datapath to accept and operate on least-significant bits (LSBs) clock cycles earlier than more significant bits. This skewed datapath approach reduces the latency of the LSB side which can be feedback earlier for use in subsequent data-dependent operations increasing their throughput. In particular,we propose to group the bits into 4-bit blocks that are operatedon concurrently and create block-skewed datapath units for 32-bit operation. This skewed approach allows a subsequent data-dependent operation to start evaluating as soon as the first 4-bit block completes. Using this general approach, we developa block-skewed MIPS-compatible 32-bit ALU. Our gate-level Verilog design improves the throughput of 32-bit data dependent operations by 2x and 1.5x compared to previously proposed 4-bit bit-slice and 32-bit Ladner-Fischer ALUs respectively.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 3

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction and Motivation

The ever-increasing computational requirements of high performance computing (HPC) has leveraged the scaling of contemporary technologies for decades, now reaching the atomic level. However, the power density of silicon nano-electronics limits their applicability to future exascale computing [5, 2], motivating the research for alternate technologies. Evolved from rapid SFQ (RSFQ) [9] technology, superconductive circuits that promise ultra-low switching energy of J [17] and clock frequencies exceeding 25GHz [15] have become a promising beyond-CMOS technology.

Various 8-bit SFQ microprocessors have been developed in the last two decades, including a bit-serial microprocessor with eight 1-bit serial ALU blocks (FLUX-1) [4], a bit-serial CORE1 processor [8], and a bit-serial SCRAM2 asynchronous microprocessor [11]. More specifically, the arithmetic logic unit (ALU), a critical part of a microprocessor, has gained significant research importance in RSFQ [6], [7], [16], [3]. Recently Tang et. al. have proposed a 16-bit bit-sliced ALU [14] because earlier proposed serial [1] and 2-/4-/8-bit bit-sliced [16] ALUs compute at a slower rate for 32-/64-bit processors. As we increase the ALU bit-width, its gate-level pipelined nature, forces an increase in latency and efficiently utilizing this deep pipelined architecture becomes more difficult.

To improve pipeline utilization we propose a block-skewed ALU architecture, called qBSA, inspired by the use of skewed datapaths in asynchronous CMOS design [10]. Our proposed architecture uses eight 4-bit ALU blocks skewed in time, reduces the delay of the data feedback loop, and enables individual blocks to start computing a dependent operation as soon as its own output is ready. The choice of 4-bit blocks enables a balance between keeping the latency of the 32-bit adder relatively low while requiring fewer Josephson junctions (JJ) than needed for higher bit-width blocks. We have simulated our results using the MIT LL 100A/m

SFQ5ee RSFQ cell library to demonstrate its functional correctness. We have also estimated its impact on the instructions per cycle (IPC) of a RISC-V processor.

The reminder of this paper is arranged as follows. Section II describes the proposed architecture and explains its functionality. Section III provides our simulation platform, results and performance analysis. Finally, the paper concludes in Section IV.

Ii Proposed 32-bit Block-skewed architecture

Fig. 1: (a) Proposed micro-architecture of our 32-bit block-skewed ALU with eight 4-bit Sklansky ALU blocks (b) Gate level diagram of the proposed 4-bit Sklansky ALU block. Note that the first 4-bit ALU block is different from the other 7, because its carry input arrives at the same time as its A and B inputs. In contrast, the carry input for the 7 other blocks arrives 5 clock cycles after their A and B inputs.

In this section we describe the logic design of our 32-bit qBSA. We divided the design into eight 4-bit blocks as shown in Fig. 1(a). Due to its low latency, and simple carry look ahead circuit with only one feed forward signal () we adopted the Sklansky prefix-tree adder [13] to design each 4-bit block, as illustrated in Fig. 1(b). Notice that the carry () is needed to compute the carry out (, ) and sum () only after five pipeline stages. We leverage this fact and start computing the sum and carry of more significant blocks before the of the less significant blocks are evaluated. It is to be noted that we use to quickly feed the input carry of the next 4-bit ALU block and delay it by one stage to provide the final . The feedback path from the output of each block back to its input (through a multiplexer) enables less significant blocks to start accepting and computing their next data-dependent inputs as soon as the previous corresponding output is ready, thereby avoids waiting for the entire 32-bit result. This staggers the computation start time for different blocks making the datapath skewed and better utilizes the gate-level pipelining nature of SFQ. In particular, this reduces the initiation interval (II) for back-to-back data-dependent operations, defined as the number of clock-cycle separation between the start of two consecutive data-dependent operations.

Table I shows the operations supported by qBSA and their associated control signals. Table II shows the latency and the initiation interval values of our proposed design.

ALU
Operations ARITH AND XOR a b
ADD 1 0 1 0 0 0
SUB 1 0 1 0 1 1
SLT 1 0 1 0 1 1
EQ 0 0 1 0 1 1
AND 0 1 0 0 0 0
OR 0 1 1 0 0 0
XOR 0 0 1 0 0 0
NOR 0 1 0 1 1 0
TABLE I: Supported ALU Instructions
Parameter Data Dependency Pipeline stages
Latency N/A 15
Initiation Interval Yes 8
Initiation Interval No 1
TABLE II: Latency and Initiation Interval of our proposed Block-skewed ALU

Iii Results

We used Verilog models of a 100A/m MIT LL SFQ5ee cell library to design and simulate qBSA in the Xilinx Vivado 2017.4 tool. Note that in our simulated waveforms a signal transition (high to low or vice versa) and no transition represent presence and absence of SFQ pulse, respectively.

Iii-a Gate-level Simulation

Fig. 2 shows a typical waveform generated through gate-level simulation of the proposed 32-bit ALU. Notice that after the first output is available, the skewed datapath of the qBSA enables back-to-back data-dependent outputs available after the pipeline depth of a 4-bit ALU block (8-clock stages) instead of the pipeline depth delay of the entire 32-bit ALU (15-clock stages). Thus the initiation interval of our proposed qBSA is 1.5x and 2x faster compared to recently proposed 32-bit Ladner Fischer ALU (32LFA) [14] and 4-bit bit sliced ALU (4BSA) [15], respectively.111For both the 32LFA and 4BSA ALUs we have added a 1-clock delay for the MUX-stage to their actual stage delays to perform 32-bit data-dependent operations, obtaining IIs of 12 and 16, respectively.

Fig. 2: Gate-level simulation of an ADD operation in our proposed qBSA.

Iii-B Performance Evaluation: Instruction Per Cycle

To quantify the benefit of our proposed design we estimated the impact on IPC for a set of benchmarks on a generic qBSA-based RISC-V processor with in order commitment (qBSP). We compared the obtained IPC to that of a 32LFA (32LFP) and 4BSA (4BSP) based processors. In particular, the IPC of a benchmark with total number of instructions and total NOPs needed to resolve dependencies is as follows:

(1)

We estimate the IPC using a script that reads benchmark files generated through Spike, a RISC-V sodor core instruction set architecture (ISA) simulator, analyzes the dependencies, and estimates the number of NOPs required [12]. We assume all processor components are block-skewed and consume and generate inputs and outputs in block-skewed fashion. In particular, Equations 2 and 3 recursively defines the number of NOPs required before each instruction and its final position considering the added NOPs.

(2)
(3)

Here, functions S(i,m) and I(i,m) provide the instruction type and original index of the instruction that creates the source operand of the instruction. is the latency of the instruction which creates the source register of instruction .

Our experiments explore a range of non-ALU data-dependent operation latencies but in each individual experiment, for simplicity, we assume that all non-ALU operations have the same integral latency. As two examples, Fig. 3 shows the IPC improvement of qBSP over 32LFP and 4BSP with non-ALU latency assumptions 1 and 10.

Fig. 3: IPC comparison of qBSP, 32LFP, and 4BSP for non-ALU latencies of 1 and 10 for three different benchmarks.

Iv Conclusions

The gate-level pipelined nature of RSFQ makes keeping the pipelines full a difficult micro-architectural challenge, especially in the presence of data-dependent operations. This paper proposes a block-skewed ALU to reduce the average pipeline initiation interval and estimates its impact on an ideal RSFQ processor. Averaging across multiple benchmarks with a simple dependency model, block-skewing improves IPC between 1.2x and 1.37x compared to a 32-bit Ladner Fischer ALU based processor and between 2.93x and 4x compared to a 4-bit bit-sliced ALU based processor. Our future work includes evaluating the benefits of block skewing on other processor components, the impact of different block sizes, and refinements of our model of instruction dependencies.

References

  • [1] Y. Ando, R. Sato, M. Tanaka, K. Takagi, and N. Takagi (2015) 80-ghz operation of an 8-bit RSFQ arithmetic logic unit. In 2015 15th International Superconductive Electronics Conference (ISEC), pp. 1–3. Cited by: §I.
  • [2] S. Borkar and A. A. Chien (2011) The future of microprocessors. Communications of the ACM 54 (5), pp. 67–77. Cited by: §I.
  • [3] M. Dorojevets, C. L. Ayala, N. Yoshikawa, and A. Fujimaki (2013) 8-bit asynchronous sparse-tree superconductor RSFQ arithmetic-logic unit with a rich set of operations. IEEE Transactions on Applied Superconductivity 23 (3), pp. 1700104–1700104. Cited by: §I.
  • [4] M. Dorojevets, P. Bunyk, and D. Zinoviev (2001) FLUX chip: design of a 20-ghz 16-bit ultrapipelined RSFQ processor prototype based on 1.75-/spl mu/m lts technology. IEEE transactions on applied superconductivity 11 (1), pp. 326–332. Cited by: §I.
  • [5] H. Esmaeilzadeh, E. Blem, R. S. Amant, K. Sankaralingam, and D. Burger (2011) Dark silicon and the end of multicore scaling. In Computer Architecture (ISCA), 2011 38th Annual International Symposium on, pp. 365–376. Cited by: §I.
  • [6] T. Filippov, M. Dorojevets, A. Sahu, A. Kirichenko, C. Ayala, and O. Mukhanov (2011) 8-bit asynchronous wave-pipelined RSFQ arithmetic-logic unit. IEEE Transactions on Applied Superconductivity 21 (3), pp. 847–851. Cited by: §I.
  • [7] T. V. Filippov, A. Sahu, A. F. Kirichenko, I. V. Vernik, M. Dorojevets, C. L. Ayala, and O. A. Mukhanov (2012) 20 ghz operation of an asynchronous wave-pipelined RSFQ arithmetic-logic unit. Physics Procedia 36, pp. 59–65. Cited by: §I.
  • [8] A. Fujimaki, M. Tanaka, T. Yamada, Y. Yamanashi, H. Park, and N. Yoshikawa (2008) Bit-serial single flux quantum microprocessor core. IEICE transactions on electronics 91 (3), pp. 342–349. Cited by: §I.
  • [9] K. K. Likharev and V. K. Semenov (1991) RSFQ logic/memory family: a new josephson-junction technology for sub-terahertz-clock-frequency digital systems. IEEE Transactions on Applied Superconductivity 1 (1), pp. 3–28. Cited by: §I.
  • [10] R. Manohar (2001) Width-adaptive data word architectures. In Proceedings 2001 Conference on Advanced Research in VLSI. ARVLSI 2001, pp. 112–129. Cited by: §I.
  • [11] Y. Nobumori, T. Nishigai, K. Nakamiya, N. Yoshikawa, A. Fujimaki, H. Terai, and S. Yorozu (2007) Design and implementation of a fully asynchronous SFQ microprocessor: scram2. IEEE transactions on applied superconductivity 17 (2), pp. 478–481. Cited by: §I.
  • [12] RISCVWindows Phone Central (Ed.)(Website) External Links: Link Cited by: §III-B.
  • [13] J. Sklansky (1960) Conditional-sum addition logic. IRE Transactions on Electronic computers (2), pp. 226–231. Cited by: §II.
  • [14] G. Tang, P. Qu, X. Ye, and D. Fan (2018) Logic design of a 16-bit bit-slice arithmetic logic unit for 32-/64-bit RSFQ microprocessors. IEEE Transactions on Applied Superconductivity 28 (4), pp. 1–5. Cited by: §I, §III-A.
  • [15] G. Tang, K. Takata, M. Tanaka, A. Fujimaki, K. Takagi, and N. Takagi (2015) 4-bit bit-slice arithmetic logic unit for 32-bit RSFQ microprocessors. IEEE Transactions on Applied Superconductivity 26 (1), pp. 1–6. Cited by: §I, §III-A.
  • [16] G. Tang, K. Takata, M. Tanaka, A. Fujimaki, K. Takagi, and N. Takagi (2016) 4-bit bit-slice arithmetic logic unit for 32-bit RSFQ microprocessors. IEEE Transactions on Applied Superconductivity 26 (1), pp. 1–6. Cited by: §I.
  • [17] M. H. Volkmann, A. Sahu, C. J. Fourie, and O. A. Mukhanov (2013) Experimental investigation of energy-efficient digital circuits based on eSFQ logic. IEEE Trans. Appl. Supercond 23 (3), pp. 1301505. Cited by: §I.