A Multithreaded Soft Processor for Sopc Area Reduction

A Multithreaded Soft Processor for Sopc Area Reduction

A Multithreaded Soft Processor for SoPC Area Reduction Blair Fort, Davor Capalija, Zvonko G. Vranesic and Stephen D. Brown The Edward S. Rogers Sr. Department of Electrical and Computer Engineering University of Toronto 10 King’s College Road Toronto, ON, Canada M5S 3G4 {fort,davor,zvonko,brown}@eecg.toronto.edu ABSTRACT multiple programs on a uniprocessor system, software-based The growth in size and performance of Field Programmable context switching is required. This is usually facilitated by Gate Arrays (FPGAs) has compelled System-on-a- the addition of an embedded operating system. On the other Programmable-Chip (SoPC) designers to use soft proces- hand, one can utilize a CMP system which enables multi- sors for controlling systems with large numbers of intellec- ple programs to execute simultaneously without support for tual property (IP) blocks. Soft processors control IP blocks, context switching. which are accessed by the processor either as peripheral de- A system can have IP connected to a processor as a pe- vices or/and by using custom instructions (CIs). In large ripheral or as a custom instruction (CI). A peripheral allows systems, chip multiprocessors (CMPs) are used to execute multiple processors to access it, at the cost of performance many programs concurrently. When these programs require drop caused by the overhead of using memory instructions the use of the same IP blocks which are accessed as periph- for communication, which have inherent latency. Moreover, eral devices, they may have to stall waiting for their turn. if multiple processors concurrently access the same IP block, In the case of CIs, the FPGA logic blocks that implement one of the processors is granted access to the IP block, while the CIs may have to be replicated for each processor. In others wait idle. On the other hand, custom instructions both of these cases FPGA area is wasted, either by idle soft are embedded into a processor’s datapath and read and processors or the replication of CI logic blocks. write data from the processor’s register file. This can re- This paper presents a multithreaded (MT) soft processor sult in lower data access latency and consequently in higher for area reduction in SoPC implementations. An MT proces- throughput. However, in a multiprocessor system, each pro- sor allows multiple programs to access the same IP without cessor excuting a program which requires the CI will contain the need for the logic replication or the replication of whole its own copy of CI logic. This can be detrimental for the area processors. We first designed a single-threaded processor usage if the employed custom instruction consumes a large that is instruction-set compatible to Altera’s Nios II soft amount of logic and is used by multiple programs. processor. Our processor is approximately the same size as This paper introduces a multithreaded soft processor and the Nios II Economy version, with equivalent performance. evaluates it versus other soft processing systems that pro- We augmented our processor to have 4-way interleaved mul- vide multithreading support. We compare the area usage tithreading capabilities. This paper compares the area us- and performance of a uniprocessor, two CMP systems and age and performance of the MT processor versus two CMP an MT processor. The uniprocessor and one CMP system systems, using Altera’s and our single-threaded processors, are based on the Altera Nios II processor. The processors separately. Our results show that we can achieve an area employed in the second CMP system and the MT processor savings of about 45% for the processor itself, in addition to were designed by us. We investigate architectural enhance- the area savings due to not replicating CI logic blocks. ments for improving the performance of the multithreaded systems; more specifically, a mechanism for performance im- provement in the presence of multicycle custom instructions 1. INTRODUCTION and shared peripheral devices. There are three main contri- The opportunity for larger and more complex System-on- butions of this paper. First, it gives a comparison of an MT a-Programmable-Chip (SoPC) designs has been facilitated soft processor versus a single threaded processor and CMP through the growth in size and performance of FPGAs. systems. Second it proposes architectural enhancements These large systems usually contain several IP blocks. To specific to FPGA-based multithreaded systems. Lastly, it manage the complexity of these systems, SoPC designers presents an approach for performance evaluation of soft mul- utilize soft processors to control the IP blocks. This allows tithreaded systems conducted in real time on an FPGA. them to write simple software programs for the processor to The remainder of this paper is structured as follows. First, communicate with and control the IP blocks. In the case of related work is discussed in Section 2. Section 3 presents a system comprising a large number of IP blocks, the de- necessary background information. Section 4 describes the signer can either create a complex program or multiple sim- architecture of our single-threaded UT II and multithreaded ple programs to control the IP blocks. Multiple programs UTMT II processors. Our experimental environment and have the advantage over single complex programs due to the methodology are explained in Section 5. Section 6 presents simplicity of their creation and debugging. In order to run 14th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'06) 0-7695-2661-6/06 $20.00 © 2006 the obtained experimental results. Lastly, in Section 7, we tithreading can improve processor throughput at the ex- give conclusions and propose future work. pense of some minimal additional hardware. The perfor- mance improvement stems from higher pipeline utilization 2. RELATED WORK in the presence of cache misses, pipeline hazards and branch mispredictions. Some commercially produced FGMT pro- Soft processors for the FPGA platform have become a fo- cessors include HEP [9] and Tera [10]. These processors cus of research. Currently, the major FPGA companies, Al- allow up to 128 concurrent hardware threads. Systems uti- tera and Xilinx, provide the in-order soft processors Nios/ lizing these processors have had limited success, mainly due NiosII[1, 2] and Microblaze[3], respectively. In the design to their inability to achieve reasonable single thread perfor- of SoPC systems, these processors have rapidly grown in mance. This inability holds true for our processor as well, popularity due to their flexibility and ease of integration but since our design is targeting FPGAs, it can be used in into the system. On the other hand, the trend of support- the presences of suitable multithreaded workloads, otherwise ing multithreaded execution has been taking place not only it maybe easily substituted with a uniprocessor. in high-performance and desktop systems but in embedded Multithreaded architectures targeting application-specific systems as well. In both worlds the motivation is to lever- workloads have recently become apparent. A study by Crow- age increased presence of multithreaded workloads. Several ley et al. [11] characterizes processor architectures used embedded processors with multithreading support are com- in networking technology. The studied architectures range mercially available. While workloads for embedded systems from a superscalar out-of-order processor through a chip based on ASIC and FPGA platforms tend to be similar, multiprocessor, an FGMT processor to an SMT processor. hardware-based multithreading capabilities on FPGA plat- The authors observe that workloads comprising a sufficient forms targeting mutlithreaded workloads have not yet been level of parallelism result in better performance on the SMT fully explored. processor for the given processor resources. 2.1 Soft processor design The bulk of the past research was aimed at superscalar out-of-order processors for ASIC technology. However, com- In the past few years, significant research efforts have been mercially available FPGA-based soft processors are predom- made in the area of soft processors. Plavec et al. [4] present inantly simple in-order single-issue processors. Consequently, a methodology for efficient soft processor design. They pro- it is not obvious whether the observed benefits and perfor- duced a generic processor which is instruction set compat- mance improvements will apply to these FPGA-based soft ible with Altera Nios processor but synthesizable in most processors. modern FPGAs. Recent research addressed the design of high-performance functional units for programmable logic. Metzgen [5, 6] describes the design of the high-performance 2.3 Multithreading on FPGAs 32-bit ALU which is a critical component of the Altera Nios As previously investigated, multithreading allows better II processor. The novel design of the ALU results in signifi- use of the chip area and power efficiency on an ASIC plat- cant area savings and clock frequency increase for the Nios II form. Research efforts to exploit these benefits in FPGA- over its predecessor, the Nios 1.1 processor. Our processors based systems have been limited. So far, two approaches described in this paper follow the author’s guidelines. Yian- have been explored to deliver soft processors with multi- nacouras et al. [7] present a framework for automatic gener- threading support[12, 13]. Dimond et al. [12] introduced ation of custom soft processors to explore the microarchitec- the customizable threaded architecture (CUSTARD). CUS- ture trade-off space. The authors discuss the performance TARD is a parameterizable processor that combines sup- and area impact of various functional unit implementations port for multiple threads and automatic instruction set cus- and pipeline depths. In particular, they investigate area tomization. Automatic instruction set customization is pro- versus performance trade-off for the shifter unit implemen- vided by a C compiler that targets the CUSTARD instruc- tation and demonstrate the detrimental effects of pipeline tion set. The CUSTARD architecture can be customized stalls arising from multicycle operations on performance.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us