A Serial Bitstream Processor for Smart Sensor Systems

Total Page:16

File Type:pdf, Size:1020Kb

A Serial Bitstream Processor for Smart Sensor Systems A Serial Bitstream Processor for Smart Sensor Systems by Xin Cai Department of Electrical and Computer Engineering Duke University Date: Approved: Martin Brooke, Advisor Hisham Massoud Richard Fair Patrick Wolf Dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in the Department of Electrical and Computer Engineering in the Graduate School of Duke University 2010 Abstract (Electrical and Computer Engineering) A Serial Bitstream Processor for Smart Sensor Systems by Xin Cai Department of Electrical and Computer Engineering Duke University Date: Approved: Martin Brooke, Advisor Hisham Massoud Richard Fair Patrick Wolf An abstract of a dissertation submitted in partial fulfillment of the the degree of Doctor of Philosophy in the Department of Electrical and Computer Engineering in the Graduate School of Duke University 2010 Copyright c 2010 by Xin Cai All rights reserved except the rights granted by the Creative Commons Attribution-Noncommercial Licence Abstract A full custom integrated circuit design of a serial bitstream processor is proposed for remote smart sensor systems. This dissertation describes details of the architectural exploration, circuit implementation, algorithm simulation, and testing results. The design is fabricated and demonstrated to be a successful working processor for basic algorithm functions. In addition, the energy performance of the processor, in terms of energy per operation, is evaluated. Compared to the multi-bit sensor processor, the proposed sensor processor provides improved energy efficiency for serial sensor data processing tasks, and also features low transistor count and area reduction advantages. Operating in long-term, low data rate sensing environments, the serial bitstream processor developed is targeted at low-cost smart sensor systems with serial I/O communication through wireless links. This processor is an attractive option because of its low transistor count, easy on-chip integration, and programming flexibility for low data duty cycle smart sensor systems, where longer battery life, long-term monitoring and sensor reliability are critical. The processor can be programmed for sensor processing algorithms such as delta sigma processor, calibration, and self-test algorithms. It also can be modified to uti- lize Coordinate Rotation Digital Computer (CORDIC) algorithms. The applications of the proposed sensor processor include wearable or portable biomedical sensors for health care monitoring or autonomous environmental sensors. iv To my father Jiahe Cai, my mother Xiuqin Lv, my brother and sister for their endless love, support and encouragement through the years To my husband Fang Feng, who is always there for me v Contents Abstract iv List of Tables xi List of Figures xiii 1 Introduction 1 1.1 Proposed Bitstream Processor .............. 5 1.2 Objective ......................... 8 1.3 Innovative Method .................... 8 1.4 Broader Impacts ..................... 9 1.5 Dissertation Organization ................ 9 2 Background 11 2.1 Smart Sensor Systems .................. 11 2.1.1 Sensors ....................... 12 2.1.2 Delta-Sigma Analog-to-Digital Modulation ... 13 2.1.3 Sensor Processors ................. 15 2.1.4 Wireless Link ................... 17 2.1.5 Power Supply ................... 17 vi 2.1.6 Serial Interface .................. 18 2.1.7 Memory ...................... 19 2.2 Sensor System Design Issues ............... 20 2.2.1 Cost Analysis ................... 21 2.2.2 Area Analysis ................... 22 2.2.3 Energy Efficiency ................. 23 2.3 Turing Machine ...................... 24 3 Architecture and Algorithm 29 3.1 Bitstream Processor for General Purpose Computation 32 3.1.1 Bitstream Processor I Architecture ....... 32 3.1.2 Modules Description ............... 33 3.2 Bitstream Processor for Delta-Sigma Digital Processing 38 3.2.1 Comb Filter .................... 38 3.2.2 FIR Digital Filter ................. 40 3.3 Bitstream Processor for Calibration ........... 42 3.3.1 Sensor Calibration ................ 42 3.3.2 Point Calibration Method ............ 45 3.3.3 Multivariate Calibration Method ........ 46 3.4 Bitstream Processor for Self Test ............ 52 3.4.1 Sensor Self-Test Techniques ........... 52 3.4.2 Bitstream Processor II Architecture ....... 53 3.4.3 Semi-digital Filter ................ 57 vii 3.4.4 Delta-Sigma DAC ................. 58 3.5 Bitstream Processor for CORDIC Algorithm ...... 64 3.5.1 The Original CORDIC Algorithm ........ 64 3.5.2 Modified Bit-serial CORDIC Algorithm ..... 67 3.5.3 CORDIC Bitstream Processor III Architecture .70 3.5.4 CORDIC Instruction Set ............. 71 4 Design and Simulation 74 4.1 Evaluation Metrics .................... 75 4.1.1 Energy Dissipation Model for Sensor Nodes .. 75 4.1.2 Processor Performance Evaluation Metrics ... 75 4.2 Essential Component Modules .............. 77 4.2.1 One-bit FA .................... 77 4.2.2 One-bit ALU ................... 79 4.2.3 D Flip-Flop .................... 84 4.2.4 Shift Register ................... 86 4.2.5 Instruction Register ................ 87 4.2.6 Performance Evaluation Metrics ......... 88 4.3 Bitstream Processor I ................... 90 4.3.1 Processor Design ................. 90 4.3.2 Performance Evaluation Metrics ......... 90 4.3.3 Instruction Set .................. 92 4.4 Bitstream Processor II .................. 94 viii 4.4.1 Processor Design ................. 94 4.4.2 Performance Evaluation Metrics. ........ 97 4.4.3 Instruction Set .................. 97 5Test 100 5.1 Chip Test Procedure ................... 100 5.2 Energy and Power Consumption Equations ....... 105 5.3 Various Effects on Test .................. 107 5.3.1 ESD Effect .................... 108 5.3.2 Probe Effect .................... 110 5.3.3 Supply Voltage Effect ............... 111 5.3.4 Clock Frequency Effect .............. 113 5.3.5 Signal Switching Frequency Test ......... 116 5.4 Bitstream Processor Test ................. 117 5.4.1 Shift Register ................... 117 5.4.2 ALU ........................ 119 5.4.3 Basic Operation Test ............... 120 5.4.4 Algorithm Test .................. 123 5.5 Analysis of Energy Consumption ............ 126 5.5.1 Leakage Energy .................. 126 5.5.2 Switching Energy ................. 127 5.5.3 Total Energy per Operation ........... 129 6Conclusion 132 ix 6.1 Design Comparison and Discussion ........... 132 6.1.1 Bitstream vs. Multi-bit Processing ....... 132 6.1.2 Area ........................ 133 6.1.3 Energy Consumption ............... 134 6.1.4 Self-Test ...................... 135 6.1.5 General Purpose Computing ........... 135 6.1.6 Quantitative Comparison ............. 136 6.1.7 Case Studies on Sensor Applications ...... 137 6.1.8 Design Pros and Cons .............. 140 6.2 Contributions and Future Works ............. 141 6.3 Conclusion ......................... 145 A Additional Circuits 148 A.1 First Order Δ-Σ ADC .................. 148 A.2 Semi-Digital Filter .................... 150 BMatlabCODE 155 C Verilog CODE 168 DHSPICECODE 183 Bibliography 189 Biography 200 x List of Tables 2.1 Examples of WSN Sensor Nodes. ............ 16 2.2 Serial Interface Comparison. ............... 19 3.1 One-dimensional Calibration Method. .......... 46 3.2 CORDIC Computation Functions. ............ 66 3.3 Instruction Set for CORDIC Processor ......... 73 4.1 ALU IR Control Bits. ................... 81 4.2 ALU Logical Operation Truth Table. .......... 81 4.3 ALU Arithmetic Operation Truth Table. ........ 81 4.4 Performance Evaluation Metrics. ............ 90 4.5 Bitstream Processor I: Performance Evaluation Metrics. 90 4.6 Bitstream Processor I: IR Control Bit Definition. ... 93 4.7 Bitstream Processor I: Instruction Set. ......... 94 4.8 Bitstream Processor II: Performance Evaluation Metrics. 96 4.9 Bitstream Processor II: Opcode. ............. 98 4.10 Bitstream Processor II: Basic Instruction. ........ 99 4.11 Bitstream Processor II: Special Instruction. ....... 99 5.1 Bitstream Processor II: Algorithm Processing Time. 123 xi 5.2 Bitstream Processor II: Algorithms. ........... 124 6.1 Energy Comparison of Three Architectures. ...... 137 A.1 Semidigital Filter Coefficients. .............. 152 xii List of Figures 1.1 Smart Sensor Systems-On-Chip. ............. 2 1.2 Comparison of Two Sensor Processor Architectures. .. 3 1.3 Conventional Wireless Smart Sensor System. ...... 5 1.4 Proposed Wireless Smart Sensor System. ........ 7 2.1 Signal Processing Chain of a Traditional Sensor System. 12 2.2 A First Order Δ-Σ ADC. ................. 14 2.3 CMOS IC Costs Time Line. ............... 21 2.4 Moore’s Law of Intel Microprocessors. .......... 23 2.5 One Auxiliary-Work-Tape Turing Machine. ....... 26 2.6 TM Transition Diagram. ................. 27 3.1 Block Diagram of a FIR Filter. ............. 30 3.2 Block Diagram of a Bitstream Processor. ........ 31 3.3 Block Diagram of Sensor Bitstream Processor I. .... 33 3.4 Architectural Diagram of Sensor Bitstream Processor I. 34 3.5 Block Diagram of a Second Order Comb Filter. .... 39 3.6 Comb2 Frequency Response. ............... 39 3.7 Comb2 Matlab Simulation. ................ 40 xiii 3.8 Block Diagram of a FIR Filter. ............. 41 3.9 FIR Filter Frequency Response. ............. 42 3.10 Chemometrics Calibration Flow Chart. ......... 47 3.11 Chemometrics Multivariate Calibration Methods. ... 48 3.12 Block Diagram of Sensor Node Processor II. ...... 55 3.13 Sensor Node Processor II for Self-Test. ......... 56 3.14 Semi-digital Reconstruction Filter. ........... 58 3.15
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]
  • 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]
  • 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]
  • Generalizing Sampling Theory for Time-Varying Nyquist Rates Using Self-Adjoint Extensions of Symmetric Operators with Deficiency Indices (1,1) in Hilbert Spaces
    Generalizing Sampling Theory for Time-Varying Nyquist Rates using Self-Adjoint Extensions of Symmetric Operators with Deficiency Indices (1,1) in Hilbert Spaces by Yufang Hao A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Doctor of Philosophy in Applied Mathematics Waterloo, Ontario, Canada, 2011 c Yufang Hao 2011 I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I understand that my thesis may be made electronically available to the public. ii Abstract Sampling theory studies the equivalence between continuous and discrete representa- tions of information. This equivalence is ubiquitously used in communication engineering and signal processing. For example, it allows engineers to store continuous signals as discrete data on digital media. The classical sampling theorem, also known as the theorem of Whittaker-Shannon- Kotel'nikov, enables one to perfectly and stably reconstruct continuous signals with a con- stant bandwidth from their discrete samples at a constant Nyquist rate. The Nyquist rate depends on the bandwidth of the signals, namely, the frequency upper bound. Intuitively, a signal's `information density' and ‘effective bandwidth' should vary in time. Adjusting the sampling rate accordingly should improve the sampling efficiency and information storage. While this old idea has been pursued in numerous publications, fundamental problems have remained: How can a reliable concept of time-varying bandwidth been defined? How can samples taken at a time-varying Nyquist rate lead to perfect and stable reconstruction of the continuous signals? This thesis develops a new non-Fourier generalized sampling theory which takes samples only as often as necessary at a time-varying Nyquist rate and maintains the ability to perfectly reconstruct the signals.
    [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]
  • 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]
  • Parallel Computing
    Lecture 1: Computer Organization 1 Outline • Overview of parallel computing • Overview of computer organization – Intel 8086 architecture • Implicit parallelism • von Neumann bottleneck • Cache memory – Writing cache-friendly code 2 Why parallel computing • Solving an × linear system Ax=b by using Gaussian elimination takes ≈ flops. 1 • On Core i7 975 @ 4.0 GHz,3 which is capable of about 3 60-70 Gigaflops flops time 1000 3.3×108 0.006 seconds 1000000 3.3×1017 57.9 days 3 What is parallel computing? • Serial computing • Parallel computing https://computing.llnl.gov/tutorials/parallel_comp 4 Milestones in Computer Architecture • Analytic engine (mechanical device), 1833 – Forerunner of modern digital computer, Charles Babbage (1792-1871) at University of Cambridge • Electronic Numerical Integrator and Computer (ENIAC), 1946 – Presper Eckert and John Mauchly at the University of Pennsylvania – The first, completely electronic, operational, general-purpose analytical calculator. 30 tons, 72 square meters, 200KW. – Read in 120 cards per minute, Addition took 200µs, Division took 6 ms. • IAS machine, 1952 – John von Neumann at Princeton’s Institute of Advanced Studies (IAS) – Program could be represented in digit form in the computer memory, along with data. Arithmetic could be implemented using binary numbers – Most current machines use this design • Transistors was invented at Bell Labs in 1948 by J. Bardeen, W. Brattain and W. Shockley. • PDP-1, 1960, DEC – First minicomputer (transistorized computer) • PDP-8, 1965, DEC – A single bus
    [Show full text]
  • Instruction Cycle
    INSTRUCTION CYCLE SUBJECT:COMPUTER ORGANIZATION&ARCHITECTURE SAVIYA VARGHESE Dept of BCA 2020-21 A computer instruction is a group of bits that instructs the computer to perform a particular task. Each instruction cycle is subdivided into different parts. This lesson explains about phases of instruction cycle in detail. A computer instruction is a binary code that specifies a sequence of micro operations for the computer. Instruction codes together with data are stored in memory. The computer reads each instruction from memory and places it in a control register. The control then interprets the binary code of the instructions and proceeds to execute it by issuing a sequence of micro operations. The instruction cycle (also known as the fetch–decode–execute cycle, or simply the fetch-execute cycle) is the cycle that the central processing unit (CPU) follows from boot-up until the computer has shut down in order to process instructions. ´A program consisting of sequence of instructions is executed in the computer by going through a cycle for each instruction. ´ Each instruction cycle is subdivided in to sub cycles or phases.They are ´Fetch an instruction from memory ´Decode instruction ´Read effective address from memory if instruction has an indirect address ´Execute instruction This cycle repeats indefinitely unless a HALT instruction is encountered The basic computer has three instruction code formats. Each format has 16 bits. The operation code (opcode) part of the instruction contains three bits and the meaning of the remaining 13 bits depends on the operation code encountered. A memoryreference instruction uses 12 bits to specify an address and one bit to specify the addressing mode I.
    [Show full text]
  • Fourier Analysis and Sampling Theory
    Reading Required: Shirley, Ch. 9 Recommended: Ron Bracewell, The Fourier Transform and Its Applications, McGraw-Hill. Fourier analysis and Don P. Mitchell and Arun N. Netravali, “Reconstruction Filters in Computer Computer sampling theory Graphics ,” Computer Graphics, (Proceedings of SIGGRAPH 88). 22 (4), pp. 221-228, 1988. Brian Curless CSE 557 Fall 2009 1 2 What is an image? Images as functions We can think of an image as a function, f, from R2 to R: f(x,y) gives the intensity of a channel at position (x,y) Realistically, we expect the image only to be defined over a rectangle, with a finite range: • f: [a,b]x[c,d] Æ [0,1] A color image is just three functions pasted together. We can write this as a “vector-valued” function: ⎡⎤rxy(, ) f (,xy )= ⎢⎥ gxy (, ) ⎢⎥ ⎣⎦⎢⎥bxy(, ) We’ll focus in grayscale (scalar-valued) images for now. 3 4 Digital images Motivation: filtering and resizing In computer graphics, we usually create or operate What if we now want to: on digital (discrete)images: smooth an image? Sample the space on a regular grid sharpen an image? Quantize each sample (round to nearest enlarge an image? integer) shrink an image? If our samples are Δ apart, we can write this as: In this lecture, we will explore the mathematical underpinnings of these operations. f [n ,m] = Quantize{ f (n Δ, m Δ) } 5 6 Convolution Convolution in 2D One of the most common methods for filtering a In two dimensions, convolution becomes: function, e.g., for smoothing or sharpening, is called convolution.
    [Show full text]
  • VLIW Architectures Lisa Wu, Krste Asanovic
    CS252 Spring 2017 Graduate Computer Architecture Lecture 10: VLIW Architectures Lisa Wu, Krste Asanovic http://inst.eecs.berkeley.edu/~cs252/sp17 WU UCB CS252 SP17 Last Time in Lecture 9 Vector supercomputers § Vector register versus vector memory § Scaling performance with lanes § Stripmining § Chaining § Masking § Scatter/Gather CS252, Fall 2015, Lecture 10 © Krste Asanovic, 2015 2 Sequential ISA Bottleneck Sequential Superscalar compiler Sequential source code machine code a = foo(b); for (i=0, i< Find independent Schedule operations operations Superscalar processor Check instruction Schedule dependencies execution CS252, Fall 2015, Lecture 10 © Krste Asanovic, 2015 3 VLIW: Very Long Instruction Word Int Op 1 Int Op 2 Mem Op 1 Mem Op 2 FP Op 1 FP Op 2 Two Integer Units, Single Cycle Latency Two Load/Store Units, Three Cycle Latency Two Floating-Point Units, Four Cycle Latency § Multiple operations packed into one instruction § Each operation slot is for a fixed function § Constant operation latencies are specified § Architecture requires guarantee of: - Parallelism within an instruction => no cross-operation RAW check - No data use before data ready => no data interlocks CS252, Fall 2015, Lecture 10 © Krste Asanovic, 2015 4 Early VLIW Machines § FPS AP120B (1976) - scientific attached array processor - first commercial wide instruction machine - hand-coded vector math libraries using software pipelining and loop unrolling § Multiflow Trace (1987) - commercialization of ideas from Fisher’s Yale group including “trace scheduling” - available
    [Show full text]
  • Filter Effects and Filter Artifacts in the Analysis of Electrophysiological Data
    GENERAL COMMENTARY published: 09 July 2012 doi: 10.3389/fpsyg.2012.00233 Filter effects and filter artifacts in the analysis of electrophysiological data Andreas Widmann* and Erich Schröger Institute of Psychology, University of Leipzig, Leipzig, Germany *Correspondence: [email protected] Edited by: Guillaume A. Rousselet, University of Glasgow, UK Reviewed by: Rufin VanRullen, Centre de Recherche Cerveau et Cognition, France Lucas C. Parra, City College of New York, USA A commentary on unity gain at DC (the step response never FILTER EFFECTS VS. FILTER ARTIFACTS returns to one). These artifacts are due to a We also recommend to distinguish between Four conceptual fallacies in mapping the known misconception in FIR filter design in filter effects, that is, the obligatory effects time course of recognition EEGLAB1. The artifacts are further ampli- any filter with equivalent properties – cutoff by VanRullen, R. (2011). Front. Psychol. fied by filtering twice, forward and back- frequency, roll-off, ripple, and attenuation 2:365. doi: 10.3389/fpsyg.2011.00365 ward, to achieve zero-phase. – would have on the data (e.g., smoothing With more appropriate filters the under- of transients as demonstrated by the filter’s Does filtering preclude us from studying estimation of signal onset latency due to step response), and filter artifacts, that is, ERP time-courses? the smoothing effect of low-pass filtering effects which can be minimized by selection by Rousselet, G. A. (2012). Front. Psychol. could be narrowed down to about 4–12 ms of filter type and parameters (e.g., ringing). 3:131. doi: 10.3389/fpsyg.2012.00131 in the simulated dataset (see Figure 1 and Appendix for a simulation), that is, about an CAUSAL FILTERING In a recent review, VanRullen (2011) con- order of magnitude smaller than assumed.
    [Show full text]