C-Slow Technique Vs Multiprocessor in Designing Low Area Customized Instruction Set Processor for Embedded Applications

C-Slow Technique Vs Multiprocessor in Designing Low Area Customized Instruction Set Processor for Embedded Applications

International Journal of Computer Applications (0975 – 8887) Volume 36– No.7, December 2011 C-slow Technique vs Multiprocessor in designing Low Area Customized Instruction set Processor for Embedded Applications Muhammad Adeel Aamir Khan Muhammad Masood Akram COMSATS Insititute of IT Sarfaraz COMSATS Insititute of IT Quaid Avenue, Wah Cantt. COMSATS Institute of IT Quaid Avenue, Wah Cantt. Pujnab, Pakistan Quaid Avenue, Wah Cantt Punjab, Pakistan Pujnab, Pakistan ABSTRACT consumer based embedded processors require custom built The demand for high performance embedded processors, ISAs in contrast to general purpose processors. The ISA of for consumer electronics, is rapidly increasing for the past a general purpose processor is designed to meet the few years. Many of these embedded processors depend requirements in a variety of domains. So a general purpose upon custom built Instruction Ser Architecture (ISA) such processor is not suitable to meet the high performance as game processor (GPU), multimedia processors, DSP requirement of application specific circuits. Thus processors etc. Primary requirement for consumer Application Specific Instruction Set Processors (ASIPs) are electronic industry is low cost with high performance and the promising way to enhance the computation low power consumption. A lot of research has been evolved performance of consumer based embedded systems [7], to enhance the performance of embedded processors [13]. Moreover cost and time to market is also much through parallel computing. But some of them focus important for consumer electronics [6] and ASIPs allow superscalar processors i.e. single processors with more high performance with automatic design even for high level resources like Instruction Level Parallelism (ILP) which architecture. It also `affects the cost as embedded includes Very Long Instruction Word (VLIW) architecture, applications are developed in huge quantity, a small custom instruction set extensible processor architecture and decrease in amount effects a lot. ARM [1], a 32 bit reduced others require more number of processing units on a single Instruction set architecture is a common example. chip like Thread Level Parallelism (TLP) that includes During the last decade processor clock frequency was Simultaneous Multithreading (SMT), Chip Multithreading synchronous with performance i.e. faster processor means (CMT) and Chip Multiprocessing (CMP). In this paper, we more computing power. During this, the target of most of present a new technique, named C-slow, to enhance the performance related research was single core performance for embedded processors for consumer processors. Within a few years, clock speed reaches up to a electronics by exploiting multithreading technique in single point where heat dissipation across the chip is at a core processors. Without resulting into the complexity of dangerous level [2]. Thus performance with single micro controlling with Real Time Operating system processor reaches to its optimal limit. Then processor (RTOS), C-slowed processor can execute multiple threads designers target to design multicore processors to enhance in parallel using single datapath of Instruction Set performance as theoretically adding additional core in a processing element. This technique takes low area & chip means double the performance. Some examples of approach complexity of general purpose processor running multicore processors are Cell [3], MP211 [4], FR1000 [5]. RTOS. Most techniques developed, during recent years, target multicore processors. : Instruction Set Architecture (ISA), Keywords Most of the performance enhancement techniques exploit Instruction Level Parallelism (ILP), Very Long Instruction parallelism within processors. Two types of parallel Word (VLIW), Thread Level Parallelism (TLP), computation techniques are common within processors, Simultaneous Multithreading (SMT), Chip Multithreading Instruction Level Parallelism (ILP) [10], [11] and Thread (CMT), Chip Multiprocessing (CMP) Level Parallelism (TLP) [12]. The basic idea behind both is same because both identify independent instructions and 1. INTRODUCTION utilize parallel to compute in parallel. Neither of the technique is promising to adopt dynamically hardware From the past few years, consumer electronic industry, toys changes. to high end game consoles and from mp3 players to PDAs and Laptops, is growing with sky rocket speed. One of the primary requirements for these embedded systems is high performance with minimal silicon area cost. Most of 30 International Journal of Computer Applications (0975 – 8887) Volume 36– No.7, December 2011 Instruction Level Parallelism exploits parallel execution must be more independent instructions in a program that by utilizing independent instructions within a program such can be executed in parallel. as memory load/store, addition/multiplication instructions etc. Normally ILP architectures are transparent to users. Simultaneous Multithreading (SMT) processors, in One primary difference between ILP processor and normal contrast to ILP allow multiple independent threads to issue RISC based machine is that ILP processors require more multiple processing units. The main purpose of SMT hardware resources to perform parallel execution. There are architecture is the maximum processor utilization in the two most common processor architectures that exploit presence of long memory latencies and limited parallelism instruction level parallelism, VLIW [25] processors and present in a single thread. SMT exploits some features of Superscalar processors [26]. Superscalar processors are superscalar processors such as to issue multiple instructions sequential architectures that in which program do not and also have hardware support to fetch instructions from provide any explicit information about parallelism. So multiple threads. Thus SMT is a technique which supports program does not know the presence of dependencies the multiple instructions from multiple threads at the same present in a program rather it is the task of hardware to find time, hence exploits both ILP and TLP. In SMT processors the dependencies between instructions. The primary issue parallel threads come from multithreaded, parallel program in superscalar processors is how to execute instructions in or from independent multi programs. And instruction level parallel. As the superscalar processors support sequential parallelism obtains from a single thread or from a single execution, rather to execute multiple instructions in single program. In [9], SMT processor’s working is discussed and clock cycle, it is more convenient to increase the clock how they are different from other multithreaded speed up to number of instructions to execute in parallel architectures and superscalar processors. There are two and issue only one instruction in a single clock cycle. In types of wastes in any type of processor design, horizontal superscalar processors, it is known as super pipelining [27]. waste and vertical waste. Horizontal waste occurs when all One major problem in superscalar processors is issue slots in single cycle are not filled with instructions. unpredictable branches that reduce the level of The amount of Horizontal waste is the number of empty performance. This problem can be solved to some extent slots. The Vertical waste occurs when there is no with speculative execution in which conditional branches instruction issued to any issuing slot i.e. all slots is empty are executed first before their control dependencies as shown in the figure 1. branches are issued. Many architectures are designed to support speculative execution [13], [14] but hardware can Normal superscalar processors exploit instruction level only support a small amount of parallelism up to fetched parallelism. They execute multiple parallel instructions instructions. The drawback of superscalar processors is the from a single thread i.e. instructions that are independent to increase in architecture complexity. Because dependence each other. Thus the performance of superscalar processors check, branch predictor, reorder buffer introduce makes certainly depends upon the number of independent architecture complex. instructions present in a thread. On the other hand multithreaded processors fetch all instructions from same VLIW architecture also exploits instruction level thread in a single cycle. In next clock cycle they switch the parallelism. In order to exploit parallelism system must context to new thread and now execute instructions from have knowledge about the independent instructions present this new thread. The primary effectiveness of multithreaded in the program. In spite of superscalar processors, in VLIW processors is that these can tolerate memory latencies thus processors the compiler identifies the presence of reducing the vertical waste but they cannot reduce the parallelism within a program and forward the information horizontal waste because they still depend on the to the hardware about the instructions that are independent independent instructions present in a thread to reduce to each other. Now the hardware does not need to horizontal waste. investigate about dependencies. Hence the scheduling and dependence check is moved from hardware level to X X Full Issue Slot s compiler level so there is a great affect on circuit e l Empty Issue Slot c complexity. VLIW fetches only one instruction per clock y C X X X Horizontal Waste = 9 slots cycle that consists of different operations for different processing units to

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    7 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