California State University,Northridge

Total Page:16

File Type:pdf, Size:1020Kb

California State University,Northridge CALIFORNIA STATE UNIVERSITY,NORTHRIDGE DIGITAL SIGNAL PROCESSING INTEGRATED CIRCUITS (DSP ICS) A project submitted in partial satisfaction of requirements for the degree of Master of Science in Electrical Engineering by Trung Dien Vo January 1988 The Project of Trung Dien Vo is approved: California State University, Northridge :'. j_ i i TABLE OF CONTENTS List of Figures ...................................... iv List of Tables ...................................... vii Abstract . .......................................... viii Chapter 1 INTRODUCTION . ......•..........•..•..••.•.• 1 Chapter 2 THE NEC 7 7 2 0 .........................•.... 3 Chapter 3 THE TEXAS INSTRUMENTS TMS320XX DSP FAMILY . ...•..................•..•••...... 15 Chapter 4 THE ANALOG DEVICES ADSP-2100 ............. 30 Chapter 5 THE ZORAN ZR34161 VECTOR SIGNAL PROCESSOR • •••••.••••••••••••••••••••••••• 4 7 Chapter 6 THE MOTOROLA DSP56000 ........•........... 57 Chapter 7 THE AT&T WE-DSP32 ................•....... 92 Chapter 8 THE TEXAS INSTRUMENTS TMS320C30 .......•. 104 Chapter 9 THE ZORAN ZR34325 ....................... 117 Chapter 10 THE EFFECTS OF WORD LENGTH ON DYNAMIC RANGE • .•••••••••.•••..•..•••.•••..•.•.•• 129 Chapter 11 COMPARISONS OF DIFFERENT DSP ICS ..•..... 151 Chapter 12 APPLICATIOt-~S . ............. e ••••••••••••• 166 Chapter 13 CONCLUSION ..........•........•...•....•. 172 References . ......................................... 17 4 Appendix A THE PIPELINE AND HARVARD ARCHTITECTURES •.............•........... 178 Appendix B THE REDUCED-INSTRUCCTION-SET-COMPUTING (RISC) ARCHITECTURE •••.•••••••.••..••..• 185 Appendix C FLOATING-POINT VERSUS FIXED-POINT ARITHMETIC . .................•...•.•.••.. 188 Appendix D TERMINOLOGY ..••...••..••...••.•.•••••••• 197 Appendix E LIST OF VENDORS ..........•.....•.....••• 201 iii LIST OF FIGURES ChaEter ~ Figure 2.1 NEC 7720 Block Diagram ..••...•••••••••••• 4 Figure 2.2 Data RAM & Peripherals ..•••••••••••••••.• 6 Figure 2.3 ALU Block Diagram ..••.••..•.••.•••.•••••• s Figure 2.4 Serial Input ............................ 11 Figure 2.5 Serial Output ........................... 11 Figure 2.6 Parallel I/0 .........•...•..........•..• 13 Cha12ter 3 Figure 3.1a TMS320 Family Generation •.•••••.••••••.• 16 Figure 3.1b TMS320 Family Generation (Technology) .•• 17 Figure 3.2 TMS320C25 Block Diagram .•••••••••••••••• 25 ChaEter .! Figure 4.1 ADSP-2100 Block Diagram ..•••.•••.••.•.•• 31 Figure 4.2 ALU Architecture ..•.•...•...•.••.•.•.••• 33 Figure 4.3 MAC Block Diagram ...•..•...•..••......•. 39 Figure 4.4 Shifter Block Diagram .•••••••.•.•..••••• 41 Figure 4.5 Data Address Generator (DAG) .•.••.••.••• 42 Figure 4.6 Program Sequencer •••••..••••..•••••.••.• 44 Figure 4.7 PMD-DMD Bus Exchange Unit (BEU) ..••••••• 46 ChaEter 5 Figure 5.1 ZR34161 VSP Block Diagram .••••••••••.••• 48 Figure 5.2 VSP Execution Unit Block Diagram .•.••••. 52 ChaEter 6 Figure 6.1 DSP56000 Block Diagram •••••••••••••••••• 59 Figure 6.2 Program Controller ••....•..••••••••••••• 63 iv Figure 6.3 Status Register ..••..•.••••.•.•.•.••..•• 70 Figure 6.4 Operating Mode Register •..•••••••••••••• 70 Figure 6.5 Stack Pointer (SP) Format ..••••••••••••. 72 Figure 6.6 Stack Pointer Values ..••..•••••••••••••• 72 Figure 6.7 Data ALU . .............•............•.... 77 Figure 6.8 Address ALU . .•.••.•....••.•.••..•••.••.• 84 Cha}2ter 2 Figure 7.1 WEDSP-32 Block Diagram •.••...••...•.••.• 93 Figure 7.2 Control Arithmetic Unit ...•.•...•...•••• 95 Figure 7.3 Memory Configuration ...•..•••.•.••••••• 101 Cha12ter !!_ Figure 8.1 TMS320C30 Block Diagram .••••.•.•.••••.• 105 Figure 8.2 Central Processing Unit (CPU) •.• o.oo •• o107 Figure 8.3 DMA Controller •.••.••..••••.•••• o • o • o •• 109 Figure 8.4 Memory Organization .•.•••••••.•.•.••.•• 111 Figure 8.5 Peripherals . .......................... 113 Cha12ter ~ Figure 9.1 ZR34325 Block Diagram .•.•.••••.••••.••• 118 Figure 9.2 Execution Unit ••••••••.•.•••••••••••••• 12 3 Figure 9.3 Internal Memory •••••••••••.•••• o•o•••••123 Figure 9.4 Internal Registers •.•.••.•••••• o •..• o •• 124 Cha}2ter 10 Figure 10.1 Truncation Effect on Frequency Response . ••••..•.••.••.•••.••••••••.••• 13 2 Figure 10.2 Sampling Process ••••••••••••••••••••••• 135 Figure 10.3 Additive Errors Due to Quantization.o •• 137 Figure 10.4 Dynamic Range Versus Data Word Length •• 141 v Figure 10.5 Mse Versus Word Length (d, t, k) •..••.• 145 Figure 10.6a Mse Versus Data Word Length (d) .•••••.• 146 Figure 10.6b Mse Versus Intermediate Word Length (t) •..••••..••••••••••.•••• 14 7 Figure 10.6c Mse Versus Kernel Word Length (k) •••••• 148 Appendix ~ Figure A.1 Pipeline Operation of Floating-point Addition ............................... 180 Figure A.2 Von Neumann Operation ...••.•.••.....•.. 182 Figure A. 3 Harvard Operation ..•••..••••.•.•••.•••. 182 Figure A.4 3-Bus Harvard Operation .••.•..•.••••••. 184 Figure A. 5 Pipelined Harvard Operation ..•••....••• 184 Appendix ~ Figure C.1 Dynamic Range Versus Word Length •.••••. 194 Figure C.2 Precision Versus Word Length •.••••••••• 196 vi LIST OF TABLES Chapter ..§. Table 6.1 Accumulator Shifter Functions •••••••••••• 81 Chapter 10 Table 10.1 Dynamic Range Limiting Factor .•••.•••••• 150 Chapter 11 Table 11.1 Comparison of Benchmark Performance of 16-bit DSP ICs •••••...•.•.•••...•••.•.•• 157 Table 11.2 Comparison of 16-bit DSP ICs' Features .. 159 Table 11.3 Comparison of Benchmark Performance of 24- and 32-bit DSP ICs .•••••.••.•••••••• 164 Table 11.4 Comparison of 24- and 32-bit DSP ICs' Features . .............................. 165 vii ABSTRACT DIGITAL SIGNAL PROCESSING INTEGRATED CIRCUITS (DSP ICS) by Trung D. Vo Master of Science in Engineering Digital signal processing integrated circuits (DSP ICs), a new breed of microelectronic device has changed the picture of signal processing. Advances in VLSI (Very Large Scale Integrated) circuit density and speed have been so successful in the past few years, that today a single-chip digital signal processor can perform the tasks that previously required bulky circuit boards full of power-hungry devices. These DSP chips are readily available from many vendors, with the more advanced ones currently in the development cycle. This paper discusses and compares certain popular DSP ICs in relation to their architectures, performances and applications. viii CHAPTER 1 INTRODUCTION The single~chip digital signal processing IC is a very significant development for digital signal processing. currently, there are over 20 manufacturers competing in this DSP IC market. Most of these manufacturers are major, well~established IC makers that have been successful with general-purpose microprocessors. This paper covers eight DSP ICs from six different vendors: the NEC 7720, the Analog Devices ADSP-2100, the Texas Instruments TMS320XX family, the Zoran ZR34161, the Motorola DSP56000, the AT&T WE-DSP32, the Texas Instruments TMS320C30, and the Zoran ZR34325. The first four of the group are 16-bit devices. The Motorola DSP56000 is 24-bit, and the last three are 32-bit. The TI TMS320XX family is the largest DSP IC family consisting of about fourteen versions. The other more-than-16-bit devices, except the AT&T WE-DSP32, are still in the development stages and have not been in production at the time of this writing. They are, however, expected to be available in the very near future. Most of these DSP res employ CMOS technology which offer very low power consumption. They are fast, with instruction cycles as low as 50 ns and their operations are general-purpose microprocessor-like. This means that the chips fetch and execute instructions from memory just like any other computer. However, the detailed internal 1 2 architectures of DSP ICs are significantly different from the architectures of microprocessors. Most DSP ICs employ a Harvard architecture [See Appendix A], in which the data and program memories are separate, thus allowing data and program instructions to be fetched simultaneously. Also, to maximize the operation speed, these DSP ICs are based largely on reduced-instruction set computing (RISC) [See Appendix B] and pipeline architectures [Appendix A]. The eight DSP ICs are classified into two groups for comparisons. One group consists of the 16-bit devices and the other consists of devices having more than 16-bit data wordlength. Detailed architectures of the devices are discussed to provide a means for comparison and selection guidelines for a suitable DSP IC are developed. Since the data word lengths of these devices vary (16-, 24-, and 32-bit), the effects of data word lengths on system dynamic range are studied in detail and results from simulations on these effects are included. A chapter is devoted to comparing the DSP ICs based on their architectures and performances. Typical applications using these DSP res are also discussed in another chapter to provide some examples. Finally, it is concluded that: technically, all of the eigth DSP res are suitable for most DSP applications. The selection of the best one for a particular application is dependent on its unique requirements. CHAPTER 2 THE NEC 7720 1. Introduction The NEC 7720 (sometimes as uPD7720) is a 16-bit microprogrammable device designed to be a flexible, versatile number cruncher able to function as a stand- alone processor. It is aimed mainly for telecommunications, where accuracy, speed, and interface compatibility with existing systems is of great importance. The NEC 7720, however, has more general features that make it suitable for a broader range of applications. 2. Architecture
Recommended publications
  • Fill Your Boots: Enhanced Embedded Bootloader Exploits Via Fault Injection and Binary Analysis
    IACR Transactions on Cryptographic Hardware and Embedded Systems ISSN 2569-2925, Vol. 2021, No. 1, pp. 56–81. DOI:10.46586/tches.v2021.i1.56-81 Fill your Boots: Enhanced Embedded Bootloader Exploits via Fault Injection and Binary Analysis Jan Van den Herrewegen1, David Oswald1, Flavio D. Garcia1 and Qais Temeiza2 1 School of Computer Science, University of Birmingham, UK, {jxv572,d.f.oswald,f.garcia}@cs.bham.ac.uk 2 Independent Researcher, [email protected] Abstract. The bootloader of an embedded microcontroller is responsible for guarding the device’s internal (flash) memory, enforcing read/write protection mechanisms. Fault injection techniques such as voltage or clock glitching have been proven successful in bypassing such protection for specific microcontrollers, but this often requires expensive equipment and/or exhaustive search of the fault parameters. When multiple glitches are required (e.g., when countermeasures are in place) this search becomes of exponential complexity and thus infeasible. Another challenge which makes embedded bootloaders notoriously hard to analyse is their lack of debugging capabilities. This paper proposes a grey-box approach that leverages binary analysis and advanced software exploitation techniques combined with voltage glitching to develop a powerful attack methodology against embedded bootloaders. We showcase our techniques with three real-world microcontrollers as case studies: 1) we combine static and on-chip dynamic analysis to enable a Return-Oriented Programming exploit on the bootloader of the NXP LPC microcontrollers; 2) we leverage on-chip dynamic analysis on the bootloader of the popular STM8 microcontrollers to constrain the glitch parameter search, achieving the first fully-documented multi-glitch attack on a real-world target; 3) we apply symbolic execution to precisely aim voltage glitches at target instructions based on the execution path in the bootloader of the Renesas 78K0 automotive microcontroller.
    [Show full text]
  • ADSP-21065L SHARC User's Manual; Chapter 2, Computation
    &20387$7,2181,76 Figure 2-0. Table 2-0. Listing 2-0. The processor’s computation units provide the numeric processing power for performing DSP algorithms, performing operations on both fixed-point and floating-point numbers. Each computation unit executes instructions in a single cycle. The processor contains three computation units: • An arithmetic/logic unit (ALU) Performs a standard set of arithmetic and logic operations in both fixed-point and floating-point formats. • A multiplier Performs floating-point and fixed-point multiplication as well as fixed-point dual multiply/add or multiply/subtract operations. •A shifter Performs logical and arithmetic shifts, bit manipulation, field deposit and extraction operations on 32-bit operands and can derive exponents as well. ADSP-21065L SHARC User’s Manual 2-1 PM Data Bus DM Data Bus Register File Multiplier Shifter ALU 16 × 40-bit MR2 MR1 MR0 Figure 2-1. Computation units block diagram The computation units are architecturally arranged in parallel, as shown in Figure 2-1. The output from any computation unit can be input to any computation unit on the next cycle. The computation units store input operands and results locally in a ten-port register file. The Register File is accessible to the processor’s pro- gram memory data (PMD) bus and its data memory data (DMD) bus. Both of these buses transfer data between the computation units and internal memory, external memory, or other parts of the processor. This chapter covers these topics: • Data formats • Register File data storage and transfers
    [Show full text]
  • Most Computer Instructions Can Be Classified Into Three Categories
    Introduction: Data Transfer and Manipulation Most computer instructions can be classified into three categories: 1) Data transfer, 2) Data manipulation, 3) Program control instructions » Data transfer instruction cause transfer of data from one location to another » Data manipulation performs arithmatic, logic and shift operations. » Program control instructions provide decision making capabilities and change the path taken by the program when executed in computer. Data Transfer Instruction Typical Data Transfer Instruction : LD » Load : transfer from memory to a processor register, usually an AC (memory read) ST » Store : transfer from a processor register into memory (memory write) MOV » Move : transfer from one register to another register XCH » Exchange : swap information between two registers or a register and a memory word IN/OUT » Input/Output : transfer data among processor registers and input/output device PUSH/POP » Push/Pop : transfer data between processor registers and a memory stack MODE ASSEMBLY REGISTER TRANSFER CONVENTION Direct Address LD ADR ACM[ADR] Indirect Address LD @ADR ACM[M[ADR]] Relative Address LD $ADR ACM[PC+ADR] Immediate Address LD #NBR ACNBR Index Address LD ADR(X) ACM[ADR+XR] Register LD R1 ACR1 Register Indirect LD (R1) ACM[R1] Autoincrement LD (R1)+ ACM[R1], R1R1+1 8 Addressing Mode for the LOAD Instruction Data Manipulation Instruction 1) Arithmetic, 2) Logical and bit manipulation, 3) Shift Instruction Arithmetic Instructions : NAME MNEMONIC Increment INC Decrement DEC Add ADD Subtract SUB Multiply
    [Show full text]
  • Computer Organization and Architecture Designing for Performance Ninth Edition
    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION William Stallings Boston Columbus Indianapolis New York San Francisco Upper Saddle River Amsterdam Cape Town Dubai London Madrid Milan Munich Paris Montréal Toronto Delhi Mexico City São Paulo Sydney Hong Kong Seoul Singapore Taipei Tokyo Editorial Director: Marcia Horton Designer: Bruce Kenselaar Executive Editor: Tracy Dunkelberger Manager, Visual Research: Karen Sanatar Associate Editor: Carole Snyder Manager, Rights and Permissions: Mike Joyce Director of Marketing: Patrice Jones Text Permission Coordinator: Jen Roach Marketing Manager: Yez Alayan Cover Art: Charles Bowman/Robert Harding Marketing Coordinator: Kathryn Ferranti Lead Media Project Manager: Daniel Sandin Marketing Assistant: Emma Snider Full-Service Project Management: Shiny Rajesh/ Director of Production: Vince O’Brien Integra Software Services Pvt. Ltd. Managing Editor: Jeff Holcomb Composition: Integra Software Services Pvt. Ltd. Production Project Manager: Kayla Smith-Tarbox Printer/Binder: Edward Brothers Production Editor: Pat Brown Cover Printer: Lehigh-Phoenix Color/Hagerstown Manufacturing Buyer: Pat Brown Text Font: Times Ten-Roman Creative Director: Jayne Conte Credits: Figure 2.14: reprinted with permission from The Computer Language Company, Inc. Figure 17.10: Buyya, Rajkumar, High-Performance Cluster Computing: Architectures and Systems, Vol I, 1st edition, ©1999. Reprinted and Electronically reproduced by permission of Pearson Education, Inc. Upper Saddle River, New Jersey, Figure 17.11: Reprinted with permission from Ethernet Alliance. Credits and acknowledgments borrowed from other sources and reproduced, with permission, in this textbook appear on the appropriate page within text. Copyright © 2013, 2010, 2006 by Pearson Education, Inc., publishing as Prentice Hall. All rights reserved. Manufactured in the United States of America.
    [Show full text]
  • A Secure, Low Cost Synchophasor Measurement Device
    University of Tennessee, Knoxville TRACE: Tennessee Research and Creative Exchange Doctoral Dissertations Graduate School 8-2015 A 3rd Generation Frequency Disturbance Recorder: A Secure, Low Cost Synchophasor Measurement Device Jerel Alan Culliss University of Tennessee - Knoxville, [email protected] Follow this and additional works at: https://trace.tennessee.edu/utk_graddiss Part of the Power and Energy Commons, Systems and Communications Commons, and the VLSI and Circuits, Embedded and Hardware Systems Commons Recommended Citation Culliss, Jerel Alan, "A 3rd Generation Frequency Disturbance Recorder: A Secure, Low Cost Synchophasor Measurement Device. " PhD diss., University of Tennessee, 2015. https://trace.tennessee.edu/utk_graddiss/3495 This Dissertation is brought to you for free and open access by the Graduate School at TRACE: Tennessee Research and Creative Exchange. It has been accepted for inclusion in Doctoral Dissertations by an authorized administrator of TRACE: Tennessee Research and Creative Exchange. For more information, please contact [email protected]. To the Graduate Council: I am submitting herewith a dissertation written by Jerel Alan Culliss entitled "A 3rd Generation Frequency Disturbance Recorder: A Secure, Low Cost Synchophasor Measurement Device." I have examined the final electronic copy of this dissertation for form and content and recommend that it be accepted in partial fulfillment of the equirr ements for the degree of Doctor of Philosophy, with a major in Electrical Engineering. Yilu Liu, Major Professor We have read this dissertation and recommend its acceptance: Leon M. Tolbert, Wei Gao, Lee L. Riedinger Accepted for the Council: Carolyn R. Hodges Vice Provost and Dean of the Graduate School (Original signatures are on file with official studentecor r ds.) A 3rd Generation Frequency Disturbance Recorder: A Secure, Low Cost Synchrophasor Measurement Device A Dissertation Presented for the Doctor of Philosophy Degree The University of Tennessee, Knoxville Jerel Alan Culliss August 2015 Copyright © 2015 by Jerel A.
    [Show full text]
  • ARM Instruction Set
    4 ARM Instruction Set This chapter describes the ARM instruction set. 4.1 Instruction Set Summary 4-2 4.2 The Condition Field 4-5 4.3 Branch and Exchange (BX) 4-6 4.4 Branch and Branch with Link (B, BL) 4-8 4.5 Data Processing 4-10 4.6 PSR Transfer (MRS, MSR) 4-17 4.7 Multiply and Multiply-Accumulate (MUL, MLA) 4-22 4.8 Multiply Long and Multiply-Accumulate Long (MULL,MLAL) 4-24 4.9 Single Data Transfer (LDR, STR) 4-26 4.10 Halfword and Signed Data Transfer 4-32 4.11 Block Data Transfer (LDM, STM) 4-37 4.12 Single Data Swap (SWP) 4-43 4.13 Software Interrupt (SWI) 4-45 4.14 Coprocessor Data Operations (CDP) 4-47 4.15 Coprocessor Data Transfers (LDC, STC) 4-49 4.16 Coprocessor Register Transfers (MRC, MCR) 4-53 4.17 Undefined Instruction 4-55 4.18 Instruction Set Examples 4-56 ARM7TDMI-S Data Sheet 4-1 ARM DDI 0084D Final - Open Access ARM Instruction Set 4.1 Instruction Set Summary 4.1.1 Format summary The ARM instruction set formats are shown below. 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 9876543210 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 Cond 0 0 I Opcode S Rn Rd Operand 2 Data Processing / PSR Transfer Cond 0 0 0 0 0 0 A S Rd Rn Rs 1 0 0 1 Rm Multiply Cond 0 0 0 0 1 U A S RdHi RdLo Rn 1 0 0 1 Rm Multiply Long Cond 0 0 0 1 0 B 0 0 Rn Rd 0 0 0 0 1 0 0 1 Rm Single Data Swap Cond 0 0 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 Rn Branch and Exchange Cond 0 0 0 P U 0 W L Rn Rd 0 0 0 0 1 S H 1 Rm Halfword Data Transfer: register offset Cond 0 0 0 P U 1 W L Rn Rd Offset 1 S H 1 Offset Halfword Data Transfer: immediate offset Cond 0
    [Show full text]
  • 3.2 the CORDIC Algorithm
    UC San Diego UC San Diego Electronic Theses and Dissertations Title Improved VLSI architecture for attitude determination computations Permalink https://escholarship.org/uc/item/5jf926fv Author Arrigo, Jeanette Fay Freauf Publication Date 2006 Peer reviewed|Thesis/dissertation eScholarship.org Powered by the California Digital Library University of California 1 UNIVERSITY OF CALIFORNIA, SAN DIEGO Improved VLSI Architecture for Attitude Determination Computations A dissertation submitted in partial satisfaction of the requirements for the degree Doctor of Philosophy in Electrical and Computer Engineering (Electronic Circuits and Systems) by Jeanette Fay Freauf Arrigo Committee in charge: Professor Paul M. Chau, Chair Professor C.K. Cheng Professor Sujit Dey Professor Lawrence Larson Professor Alan Schneider 2006 2 Copyright Jeanette Fay Freauf Arrigo, 2006 All rights reserved. iv DEDICATION This thesis is dedicated to my husband Dale Arrigo for his encouragement, support and model of perseverance, and to my father Eugene Freauf for his patience during my pursuit. In memory of my mother Fay Freauf and grandmother Fay Linton Thoreson, incredible mentors and great advocates of the quest for knowledge. iv v TABLE OF CONTENTS Signature Page...............................................................................................................iii Dedication … ................................................................................................................iv Table of Contents ...........................................................................................................v
    [Show full text]
  • A Continuación Se Realizará Una Breve Descripción De Los Objetivos De Los Cuales Estará Formado El Trabajo Perteneciente
    UNIVERSIDAD POLITÉCNICA DE MADRID Escuela Universitaria de Ingeniera Técnica de Telecomunicación INTEGRACIÓN MPLAYER – OPENSVC EN EL PROCESADOR MULTINÚCLEO OMAP3530 TRABAJO FIN DE MÁSTER Autor: Óscar Herranz Alonso Ingeniero Técnico de Telecomunicación Tutor: Fernando Pescador del Oso Doctor Ingeniero de Telecomunicación Julio 2012 2 4 AGRADECIMIENTOS Un año y pocos meses después de la defensa de mi Proyecto Fin de Carrera me vuelvo a encontrar en la misma situación: escribiendo estás líneas de mi Trabajo Fin de Máster para agradecer a aquellas personas que me han apoyado y ayudado de alguna forma durante esta etapa de mi vida. Después de un año en el que he hecho demasiadas cosas importantes en mi vida (y sorprendentemente todas bien), ha llegado la hora de dar por finalizado el Máster, el último paso antes de cerrar mi carrera de estudiante. Por ello, me gustaría agradecer en primer lugar al Grupo de Investigación GDEM por darme la oportunidad de formar parte de su equipo y en especial a Fernando, persona ocupada donde las haya, pero que una vez más me ha aconsejado en numerosas ocasiones el camino a seguir para solventar los problemas. Gracias Fernando por tu tiempo y dedicación. Agradecer a mis padres, Fidel y Victoria, y a mi hermano, Víctor, el apoyo y las fuerzas recibidas en todo momento. Sé que no todos podréis estar presentes en mi defensa de este Trabajo Fin de Máster pero da igual. Ya me habéis demostrado con creces lo maravillosos que sois. Gracias por vuestro apoyo incondicional y por recibirme siempre con una sonrisa dibujada en vuestro rostro.
    [Show full text]
  • Consider an Instruction Cycle Consisting of Fetch, Operators Fetch (Immediate/Direct/Indirect), Execute and Interrupt Cycles
    Module-2, Unit-3 Instruction Execution Question 1: Consider an instruction cycle consisting of fetch, operators fetch (immediate/direct/indirect), execute and interrupt cycles. Explain the purpose of these four cycles. Solution 1: The life of an instruction passes through four phases—(i) Fetch, (ii) Decode and operators fetch, (iii) execute and (iv) interrupt. The purposes of these phases are as follows 1. Fetch We know that in the stored program concept, all instructions are also present in the memory along with data. So the first phase is the “fetch”, which begins with retrieving the address stored in the Program Counter (PC). The address stored in the PC refers to the memory location holding the instruction to be executed next. Following that, the address present in the PC is given to the address bus and the memory is set to read mode. The contents of the corresponding memory location (i.e., the instruction) are transferred to a special register called the Instruction Register (IR) via the data bus. IR holds the instruction to be executed. The PC is incremented to point to the next address from which the next instruction is to be fetched So basically the fetch phase consists of four steps: a) MAR <= PC (Address of next instruction from Program counter is placed into the MAR) b) MBR<=(MEMORY) (the contents of Data bus is copied into the MBR) c) PC<=PC+1 (PC gets incremented by instruction length) d) IR<=MBR (Data i.e., instruction is transferred from MBR to IR and MBR then gets freed for future data fetches) 2.
    [Show full text]
  • Akukwe Michael Lotachukwu 18/Sci01/014 Computer Science
    AKUKWE MICHAEL LOTACHUKWU 18/SCI01/014 COMPUTER SCIENCE The purpose of every computer is some form of data processing. The CPU supports data processing by performing the functions of fetch, decode and execute on programmed instructions. Taken together, these functions are frequently referred to as the instruction cycle. In addition to the instruction cycle functions, the CPU performs fetch and writes functions on data. When a program runs on a computer, instructions are stored in computer memory until they're executed. The CPU uses a program counter to fetch the next instruction from memory, where it's stored in a format known as assembly code. The CPU decodes the instruction into binary code that can be executed. Once this is done, the CPU does what the instruction tells it to, performing an operation, fetching or storing data or adjusting the program counter to jump to a different instruction. The types of operations that typically can be performed by the CPU include simple math functions like addition, subtraction, multiplication and division. The CPU can also perform comparisons between data objects to determine if they're equal. All the amazing things that computers can do are performed with these and a few other basic operations. After an instruction is executed, the next instruction is fetched and the cycle continues. While performing the execute function of the instruction cycle, the CPU may be asked to execute an instruction that requires data. For example, executing an arithmetic function requires the numbers that will be used for the calculation. To deliver the necessary data, there are instructions to fetch data from memory and write data that has been processed back to memory.
    [Show full text]
  • The Central Processor Unit
    Systems Architecture The Central Processing Unit The Central Processing Unit – p. 1/11 The Computer System Application High-level Language Operating System Assembly Language Machine level Microprogram Digital logic Hardware / Software Interface The Central Processing Unit – p. 2/11 CPU Structure External Memory MAR: Memory MBR: Memory Address Register Buffer Register Address Incrementer R15 / PC R11 R7 R3 R14 / LR R10 R6 R2 R13 / SP R9 R5 R1 R12 R8 R4 R0 User Registers Booth’s Multiplier Barrel IR Shifter Control Unit CPSR 32-Bit ALU The Central Processing Unit – p. 3/11 CPU Registers Internal Registers Condition Flags PC Program Counter C Carry IR Instruction Register Z Zero MAR Memory Address Register N Negative MBR Memory Buffer Register V Overflow CPSR Current Processor Status Register Internal Devices User Registers ALU Arithmetic Logic Unit Rn Register n CU Control Unit n = 0 . 15 M Memory Store SP Stack Pointer MMU Mem Management Unit LR Link Register Note that each CPU has a different set of User Registers The Central Processing Unit – p. 4/11 Current Process Status Register • Holds a number of status flags: N True if result of last operation is Negative Z True if result of last operation was Zero or equal C True if an unsigned borrow (Carry over) occurred Value of last bit shifted V True if a signed borrow (oVerflow) occurred • Current execution mode: User Normal “user” program execution mode System Privileged operating system tasks Some operations can only be preformed in a System mode The Central Processing Unit – p. 5/11 Register Transfer Language NAME Value of register or unit ← Transfer of data MAR ← PC x: Guard, only if x true hcci: MAR ← PC (field) Specific field of unit ALU(C) ← 1 (name), bit (n) or range (n:m) R0 ← MBR(0:7) Rn User Register n R0 ← MBR num Decimal number R0 ← 128 2_num Binary number R1 ← 2_0100 0001 0xnum Hexadecimal number R2 ← 0x40 M(addr) Memory Access (addr) MBR ← M(MAR) IR(field) Specified field of IR CU ← IR(op-code) ALU(field) Specified field of the ALU(C) ← 1 Arithmetic and Logic Unit The Central Processing Unit – p.
    [Show full text]
  • X86 Intrinsics Cheat Sheet Jan Finis [email protected]
    x86 Intrinsics Cheat Sheet Jan Finis [email protected] Bit Operations Conversions Boolean Logic Bit Shifting & Rotation Packed Conversions Convert all elements in a packed SSE register Reinterpet Casts Rounding Arithmetic Logic Shift Convert Float See also: Conversion to int Rotate Left/ Pack With S/D/I32 performs rounding implicitly Bool XOR Bool AND Bool NOT AND Bool OR Right Sign Extend Zero Extend 128bit Cast Shift Right Left/Right ≤64 16bit ↔ 32bit Saturation Conversion 128 SSE SSE SSE SSE Round up SSE2 xor SSE2 and SSE2 andnot SSE2 or SSE2 sra[i] SSE2 sl/rl[i] x86 _[l]rot[w]l/r CVT16 cvtX_Y SSE4.1 cvtX_Y SSE4.1 cvtX_Y SSE2 castX_Y si128,ps[SSE],pd si128,ps[SSE],pd si128,ps[SSE],pd si128,ps[SSE],pd epi16-64 epi16-64 (u16-64) ph ↔ ps SSE2 pack[u]s epi8-32 epu8-32 → epi8-32 SSE2 cvt[t]X_Y si128,ps/d (ceiling) mi xor_si128(mi a,mi b) mi and_si128(mi a,mi b) mi andnot_si128(mi a,mi b) mi or_si128(mi a,mi b) NOTE: Shifts elements right NOTE: Shifts elements left/ NOTE: Rotates bits in a left/ NOTE: Converts between 4x epi16,epi32 NOTE: Sign extends each NOTE: Zero extends each epi32,ps/d NOTE: Reinterpret casts !a & b while shifting in sign bits. right while shifting in zeros. right by a number of bits 16 bit floats and 4x 32 bit element from X to Y. Y must element from X to Y. Y must from X to Y. No operation is SSE4.1 ceil NOTE: Packs ints from two NOTE: Converts packed generated.
    [Show full text]