TEMPLATE DESIGN © 2008 www.PosterPresentations.com A Comparison-Free Sorting Algorithm Saleh Abdel-hafeez 1 and Ann Gordon-Ross 2 1 Jordan University of.

Slides:



Advertisements
Similar presentations
컴퓨터구조론 교수 채수환. 교재 Computer Systems Organization & Architecture John D. Carpinelli, 2001, Addison Wesley.
Advertisements

Register Transfer Level
Give qualifications of instructors: DAP
1 Register Transfer &  -operations Computer Organization Computer Architectures Lab REGISTER TRANSFER AND MICROOPERATIONS Register Transfer Language Register.
Chapter 9 Computer Design Basics. 9-2 Datapaths Reminding A digital system (or a simple computer) contains datapath unit and control unit. Datapath: A.
التصميم المنطقي Second Course
1 A New Successive Approximation Architecture for Low-Power Low-Cost A/D Converter IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL.38, NO.1, JANUARY 2003 Chi-sheng.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
CHAPTER 1 Digital Concepts
Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and Gates Invitation to Computer Science, Java Version, Third Edition.
Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and Gates Invitation to Computer Science, C++ Version, Third Edition.
1 EECS Components and Design Techniques for Digital Systems Lec 21 – RTL Design Optimization 11/16/2004 David Culler Electrical Engineering and Computer.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
CPEN Digital System Design Chapter 9 – Computer Design
Distributed Arithmetic: Implementations and Applications
Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and Gates Invitation to Computer Science, C++ Version, Fourth Edition.
Sequential Circuit Introduction to Counter
Chapter 6 Memory and Programmable Logic Devices
Chapter 7 – Registers and Register Transfers Part 1 – Registers, Microoperations and Implementations Logic and Computer Design Fundamentals.
Low power architecture and HDL coding practices for on-board hardware applications Kaushal D. Buch ASIC Engineer, eInfochips Ltd., Ahmedabad, India
Hardware Design of an Arithmetic Logic Unit (ALU) Felix Noble Mirayma V. Rodriguez Agnes Velez University of Puerto Rico Mayagüez Campus Mayagüez, Puerto.
Introductory Digital Concepts
Chapter 1 CSF 2009 Computer Abstractions and Technology.
Physics 413 Chapter 1 Computer Architecture What is a Digital Computer ? A computer is essentially a fast electronic calculating machine. What is a program.
CHAPTER 14 Digital Systems.
Integrated Circuits. Integrated Circuit (IC) A silicon crystal (chip) containing electronic components that create the logic gates we’ve been looking.
SUPLEMENTARY CHAPTER 1: An Introduction to Digital Logic The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
Registers CPE 49 RMUTI KOTAT.
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices
1 SERIAL PORT INTERFACE FOR MICROCONTROLLER EMBEDDED INTO INTEGRATED POWER METER Mr. Borisav Jovanović, Prof.dr Predrag Petković, Prof.dr. Milunka Damnjanović,
Logic and Computer Design Dr. Sanjay P. Ahuja, Ph.D. FIS Distinguished Professor of CIS ( ) School of Computing, UNF.
A Low-Power CAM Design for LZ Data Compression Kun-Jin Lin and Cheng-Wen Wu, IEEE Trans. On computers, Vol. 49, No. 10, Oct Presenter: Ming-Hsien.
P. 4.1 Digital Technology and Computer Fundamentals Chapter 4 Digital Components.
Robust Low Power VLSI ECE 7502 S2015 Analog and Mixed Signal Test ECE 7502 Class Discussion Christopher Lukas 5 th March 2015.
Computer Design Basics
Chap 7. Register Transfers and Datapaths. 7.1 Datapaths and Operations Two types of modules of digital systems –Datapath perform data-processing operations.
Chapter 1 Data Storage © 2007 Pearson Addison-Wesley. All rights reserved.
Integrated Circuits. Integrated Circuit (IC) A silicon crystal (chip) containing electronic components that create the logic gates we’ve been looking.
Digital Logic Design.
Computer Architecture Souad MEDDEB
CS 1308 – Computer Literacy and the Internet Building the CPU.
LOGIC OPTIMIZATION USING TECHNOLOGY INDEPENDENT MUX BASED ADDERS IN FPGA Project Guide: Smt. Latha Dept of E & C JSSATE, Bangalore. From: N GURURAJ M-Tech,
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
School of Computer and Communication Engineering, UniMAP Mohd ridzuan mohd nor DKT 122/3 - DIGITAL SYSTEM I Chapter.
ICC Module 3 Lesson 1 – Computer Architecture 1 / 12 © 2015 Ph. Janson Information, Computing & Communication Computer Architecture Clip 5 – Memory Circuits.
Department of Communication Engineering, NCTU 1 Unit 4 Arithmetic and Logic Units.
Register Transfer Languages (RTL)
Fast Lookup for Dynamic Packet Filtering in FPGA REPORTER: HSUAN-JU LI 2014/09/18 Design and Diagnostics of Electronic Circuits & Systems, 17th International.
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
Code Converters, Multiplexers and Demultiplexers
5.3 Sequential Circuits - An Introduction to Informatics WMN Lab. Hey-Jin Lee.
ACOE161 (Spring2007)MSI Devices1 Revision on MSI Devices M. Mano & C. Kime: Logic and Computer Design Fundamentals (Chapter 5)
Invitation to Computer Science, C++ Version, Fourth Edition
Class Exercise 1B.
Computer Architecture & Operations I
Computer Design Basics
Embedded Systems Design
Computer Architecture & Operations I
Chapter 2 – Computer hardware
Multipliers Multipliers play an important role in today’s digital signal processing and various other applications. The common multiplication method is.
Invitation to Computer Science, Java Version, Third Edition
DIGITAL ELECTRONICS THEME 7: Register structures – with parallel input, with serial input. Shift registers – reversible, cycle. Register structures are.
Digital Building Blocks
A Comparison-FREE SORTING ALGORITHM ON CPUs
Overview Part 1 - Registers, Microoperations and Implementations
Computer Design Basics
14 Digital Systems.
Computer Architecture Assembly Language
IV. Convolutional Codes
Presentation transcript:

TEMPLATE DESIGN © A Comparison-Free Sorting Algorithm Saleh Abdel-hafeez 1 and Ann Gordon-Ross 2 1 Jordan University of Science and Technology; IRBID 22110, Jordan, 2 University of Florida; FL , USA, Introduction  Sorting algorithms have been widely researched for decades due to the ubiquitous need for sorting in myriad application domains.  Much research has focused on moving data iteratively (back- forth) between comparison units and memory components which were realizes in a form of main memory, caches, or registers.  Current custom ICs sorting involving numerous shift, swap, comparison operations, and complicated control logic which does not scale well with big data. Besides, consume large power due to substantial activities of data computations.  Due to the ever-increasing computational power of parallel CPU-CORE and GPU-based processing, much research has focused on harnessing the computational power of these resources for efficient sorting.  A new and a novel sorting algorithm is proposed that sorts data elements without any comparison operations between the elements —comparison-free sorting— with an overall sorting time of 2N clock cycles for N data elements. In addition, the algorithm supports parallelisms computations that utilizes existing parallel recourses. Results  N = Number of Elements  M = Element binary bit size  E = Order Hamming Representation of Binary Number  90nm TSMC Technology with 1V Power Supply  Clock Write Cycle Time: CLKW = TD + TC + TW  Clock Read Cycle Time :CLKR = T C + T R + T B + T S  SRAM Based on 8T-Cell with (NxK) T  Parallel Counter with N states based on State Look-ahead  Binary-to-Hamming Decoder with N input is One-Hot Decoder  Serial Shift Buffer with N Registers  Each Register has m-bit size  Clock Period: 0.5GHz for N=K=1024 Elements and m=10-bits Methods  The input bus is m-bit carrying N=2 m binary data elements  Memory stores data elements in Hamming representation of size K=N for lossless type by converting Binary-to-Hamming  For Example: input bus of size m=4-bits, we have N=16 elements and size of lossless Hamming K=16-bits:  =>  =>  Shift buffer stores data in binary column format m-bits  Multiply transposed Hamming data (Memory) by Shift buffer (Binary Column)  Multiplication operator is a simple gated logic since each bit in memory Enable-Disable associated binary data elements in binary column shift buffer References Figure 1: Sorting example considering a 4-bit data input bus. Figure 3: Block diagram of our sorting algorithm's hardware data path 1.Enzo Mumolo, Gabriele Capello, and Massimiliano Nolich, VHDL Design of a Scalable VLSI Sorting Device Based on Pipelined Computation, Journal of Computing and Information Technology, Vol. 12, pp. 1-14, A. A. Colavita, A Cicuttin, F. Fratnik, and G. Capello, SORTCHIP: A VLSI Implementation of a Hardware Algorithm for Continuous data Sorting, IEEE Journal of Solid-State Circuits, Vol. 38, No., pp , June Li Xiao, Xiaodong Zhang, Stefan A. Kubricht, Improving Memory Performance of Sorting Algorithms, ACM Journal on Experimental Algorithmics, Vol. 5, 1-21, L. M. Busse, M. H. Chehreghani, J. M. Buhmann, The Information Content in Sorting Algorithms, IEEE International Symposium on Information Theory Proceedings (ISIT), pp , Saleh Abdel-Hafeez and Anas Matalkah, "CMOS Eight-Transistor Memory Cell for Low- Dynamic-Power High-speed Embedded SRAMS,” Journal of Circuits, Systems and Computers, Vol. 17, No. 5, pp ,Oct Saleh Abdel-Hafeez and Ann Gordon-Ross, "A Digital CMOS Parallel Counter Architecture Based on State Look-Ahead logic", Journal of IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Vol. 19, Issue 6, pp , May 23, Input: integer Element[0 : n – 1] 2.Output: integer Sorted[0 : n – 1] 3.Hamming memory: Boolean H[0 : n – 1][ 0 : n – 1] initialize to zero 4.while i < n-1 do 5.H[i][Element[i]-1]  1 6.endwhile 7.k  0 8.while j >= 0 do 9.while i < n-1 do 10.then if H[i][j] = 1 11.then Sorted[k]  Element[0: n-1] 12.k  k+1 13.endif 14.endwhile 15.endwhile Figure 2: Pseudo code for our sorting algorithm assuming a uniprocessor system with no threading