L02-Architecture

Total Page:16

File Type:pdf, Size:1020Kb

L02-Architecture 1/15/2019 Overview of Architecture Spring 2019 EE3954: Microprocessors and Microcontrollers Avinash Karanth Professor, Electrical Engineering and Computer Science Ohio University E-mail: [email protected] Acknowledgment: Harsha Chenji, Jim Goble, Maarten Uijt de Haag 1 1 Course Administration • Course website up and working at http://ace.cs.ohio.edu/~avinashk/classes/ee3954/ee3954.htm • Jan 14 and today’s lecture posted • Forming Laboratory Teams (passed the sheet) • Lab 1 will be posted by Friday Jan 18 • Pre-lab work is required to work in the lab! 2 2 1 1/15/2019 Topics to be covered • Types of Architecture • Instruction Sets • Pipelining (example) • Microcontroller Architecture 3 3 Information in Computing Systems Instructions Fixed-point Information Numbers Data Floating-point Non-numerical data : (text, graphics, music, etc) Stored in Memory and Registers Instruction: operation or control words Data: operands 4 4 2 1/15/2019 Processor Organization • Control needs to • Input instructions from memory CPU Memory Devices • Issue signals to control the control input information flow between datapath components and to control what operations they Datapath output perform • Control instruction sequencing • Datapath needs to have the Fetch • Components – the functional units and storage needed to execute instructions Exec Decode • Interconnects – components connected so that instructions can be routed, and data loaded from and stored into memory 5 5 Types of Architectures Advantages/disadvantages? 6 6 3 1/15/2019 Perspective! 1. Memory was expensive! 2. AND/OR gates, diodes, vacuum tubes 7 7 Harvard vs. Von Neumann • Program memory and Data memory are separate physical memories. • Program memory fetches and Data memory fetches can occur simultaneously. • Program & Data memory have separate address bus/data bus – therefore separate address registers for program and data fetching. 8 8 4 1/15/2019 Where do ISA fit in a computing system? Application Software Compiler Architecture – (Instruction Set Architecture) - Platform Specific - a limited number of assembly language commands understood by the hardware (ADD, LOAD, etc) Software Hardware Microarchitecture (Hardware Implementation of ISA) - Pentium IV implements x86 ISA - Motorola G4 implements the Power PC ISA Circuits Devices 9 Instruction Set Design (1/2) • What instructions should be included? • Add, Multiply, Divide, Srqt [functions] • Branch [flow control] • Load/store [storage management] • What storage locations? • How many registers? • How much memory? • How should instructions be formatted? • 0, 1, 2 or more operands • Immediate operands 10 5 1/15/2019 Instruction Set Design (2/2) • How to encode instructions? • RISC (Reduced Instruction Set Computer) • All instructions are the same length (Eg: MIPS, PowerPC, Sun UltraSparc, XAP Processor, ARM processor) • CISC (Complex Instruction Set Computer) • Instructions can vary in size (Eg. VAX, Intel x86) • What instructions can access memory? • For RISC, only load/store can access memory (load- store architecture) • For CISC, memory manipulation instructions are possible 11 Software Program to Machine Code Compile Assemble main() .text { .global main 0x7456 int a, *b, c; lw $s1, 100($0) 0xA16B c = a + b; add $s1, $s2, } $s3 C Program Assembly code Machine code 12 6 1/15/2019 Manuals and Data Sheets: PIC16(L)F18875 • C Compiler Optimized RISC Architecture • Only 49 Instructions • Operating Speed: • DC – 32 MHz clock input • 125 ns minimum instruction cycle • Interrupt Capability • 16-Level Deep Hardware Stack • Three 8-Bit Timers (TMR2/4/6) with Hardware Limit Timer (HLT) Extensions • Four 16-Bit Timers (TMR0/1/3/5) • Memory • Up to 14 KB Flash Program Memory (8K for us.) • Up to 1 KB Data SRAM • 256B of EEPROM 13 13 PROGRAM HARVARD ARCHITECTURE MEMORY PROGRAM BUS 14 14 7 1/15/2019 HARVARD ARCHITECTURE DATA MEMORY DATA BUS 15 15 Clocks and Timing • Clocks are the “heartbeat” • For every tick, something gets done • Purchase performance using hardware • Chip area, power, gates, silicon • Today’s processors: nano/pico seconds 16 16 8 1/15/2019 Clock Cycles and Instruction Cycles Instruction Cycle Clock Cycles f f = OSC T = 4T CY 4 CY OSC Example! 17 17 Q-cycle Activity- Inst. Fetch Q1 Q3 Increment Program Counter Nothing done Q4 Instruction Written to Instruction Register Q2 Nothing done 18 18 9 1/15/2019 Q-cycle Activity- Execute Q1 Q3 Instruction Decode Cycle Process the Data (or Forced No Operation) (ALU) Q4 Instruction Write Q2 Data Cycle Instruction Read (or Forced No Operation) Data Cycle (or Forced No Operation) 19 19 Pipelining • Doing the laundry 20 20 10 1/15/2019 Pipelining • Do it faster (but with more workers/people) 21 21 Pipeline Example (Example 4-1) TCY0 TCY1 TCY2 TCY3 TCY4 1. MOVLW 55H Fetch 1 Execute 1 2. MOVWF PORTB Fetch 2 Execute 2 Fetch 3 Execute 3 3. CALL SUB_1 Fetch 4 Flush 4 4. BSF PORTA,3 Fetch SUB_1 . … … X. SUB_1: . … … 22 22 11 1/15/2019 Instruction ADDWF 0x34,F – FETCH: Q1,Q2,Q3,Q4 23 23 Instruction ADDWF 0x34,F – EXECUTE: Q1 (Instruction Decode) 24 24 12 1/15/2019 Instruction ADDWF 0x34,F – EXECUTE: Q2 (fetch data) 25 25 Instruction ADDWF 0x34,F – EXECUTE: Q3 (ALU performs operation) 26 26 13 1/15/2019 Instruction ADDWF 0x34,F – EXECUTE: Q4 ( data written to destination) 27 27 Peripherals 28 28 14.
Recommended publications
  • "LISARM: Embedded ARM Platform Design and Optimization" Thesis
    POLITECNICO DI TORINO III Facolt`adi Ingegneria Corso di Laurea in Ingegneria Elettronica Tesi di Laurea LISARM: embedded ARM platform design and optimization Relatori: Prof. Guido Masera Ing. Maurizio Martina Ing. Fabrizio Vacca Candidato: Carlo Ceriani Aprile 2007 A mia madre, a mio padre e . a chi ha avuto ¯ducia in me I Acknowledgements Il primo e pi`ugrande ringraziamento va a mia madre, per il fondamentale supporto datomi in questi lunghi anni di studi, per non avermi mai fatto mancare la propria ¯ducia ed avermi saputo dare i giusti stimoli, soprattutto nei momenti pi`udi±cili. In queste righe non posso non ricordare mio padre, in particolare per avermi insegnato che, rimboccandosi le maniche ed avendo ¯ducia nelle proprie capacit`a,ci si pu`o sempre spingere oltre, allargando i propri orizzonti. Ringrazio il mio relatore, prof. Guido Masera, ed i miei corelatori, Maurizio Martina e Fabrizio Vacca, per le essenziali consulenze, per avermi saputo indirizzare negli snodi cruciali del mio lavoro e per avermi messo a disposizione le risorse di cui necessitavo. Ringrazio gli altri componenti del VLSILab, con i quali ho avuto il piacere di condividere questa esperienza, per essersi sempre dimostrati disponibili a risolvere una moltitudine di ordinari problemi presentatisi. Un particolare ringraziamento va a Federico Quaglio, per l'aiuto che mi ha dato sia nella fase di ricerca e sviluppo del progetto, che in quella di stesura di questo elaborato. Trattandosi dell'atto conclusivo di un lungo percorso di studi, ma anche e soprat- tutto per suggellare un tratto importante della mia vita, ringrazio tutti coloro che in questo cammino hanno saputo arricchire la mia vita di conoscenza, di esperienza, ma anche semplicemente di piacevoli momenti di svago.
    [Show full text]
  • Vector Microprocessors for Cryptography
    UCAM-CL-TR-701 Technical Report ISSN 1476-2986 Number 701 Computer Laboratory Vector microprocessors for cryptography Jacques Jean-Alain Fournier October 2007 15 JJ Thomson Avenue Cambridge CB3 0FD United Kingdom phone +44 1223 763500 http://www.cl.cam.ac.uk/ c 2007 Jacques Jean-Alain Fournier This technical report is based on a dissertation submitted April 2007 by the author for the degree of Doctor of Philosophy to the University of Cambridge, Trinity Hall. Technical reports published by the University of Cambridge Computer Laboratory are freely available via the Internet: http://www.cl.cam.ac.uk/techreports/ ISSN 1476-2986 Abstract Embedded security devices like ‘Trusted Platforms’ require both scalability (of power, performance and area) and flexibility (of software and countermea- sures). This thesis illustrates how data parallel techniques can be used to implement scalable architectures for cryptography. Vector processing is used to provide high performance, power efficient and scalable processors. A pro- grammable vector 4-stage pipelined co-processor, controlled by a scalar MIPS compatible processor, is described. The instruction set of the co-processor is defined for cryptographic algorithms like AES and Montgomery modular multiplication for RSA and ECC. The instructions are assessed using an in- struction set simulator based on the ArchC tool. This instruction set simu- lator is used to see the impact of varying the vector register depth (p) and the number of vector processing units (r). Simulations indicate that for vec- tor versions of AES, RSA and ECC the performance improves in O(log(r)). A cycle-accurate synthesisable Verilog model of the system (VeMICry) is implemented in TSMC’s 90nm technology and used to show that the best p area/power/performance trade-off is reached for r = 4 .
    [Show full text]
  • Cyan Holdings
    Job: 13666G-- Warrior Date: 30-11-05 Area: A1 Operator: MC Typesetter ID:DESIGN: ID Number:1077 TCP No.7 Time: 22:20 Rev: 1 Gal: 0001 THIS DOCUMENT IS IMPORTANT AND REQUIRES YOUR IMMEDIATE ATTENTION. If you are in any doubt about the contents of this document or as to the action you should take, you are recommended to seek your own personal financial advice immediately from your stockbroker, bank manager, solicitor, accountant or other independent financial adviser authorised pursuant to the Financial Services and Markets Act 2000, who specialises in advising on the acquisition of shares and other securities. This document is an AIM admission document and has been drawn up in accordance with the AIM Rules. This document does not constitute a prospectus under the Prospectus Rules and has not been approved by or filed with the Financial Services Authority. Copies of this document will be available free of charge to the public during normal business hours on any day (Saturdays, Sundays and public holidays excepted) at the offices of Collins Stewart, 88 Wood Street, London EC2V 7QR from the date of this document for the period ending one month after Admission. Application has been made for the Ordinary Shares issued and to be issued pursuant to the Placing to be admitted to trading on AIM, a market operated by the London Stock Exchange. AIM is a market designed primarily for emerging or smaller companies to which a higher investment risk tends to be attached than to larger or more established companies. AIM securities are not admitted to the Official List of the UK Listing Authority.
    [Show full text]
  • System-On-A-Chip
    System-on-a-chip From Wikipedia, the free encyclopedia Jump to: navigation, search System-on-a-chip or system on chip (SoC or SOC) is an idea of integrating all components of a computer or other electronic system into a single integrated circuit (chip). It may contain digital, analog, mixed-signal, and often radio-frequency functions – all on one chip. A typical application is in the area of embedded systems. If it is not feasible to construct an SoC for a particular application, an alternative is a system in package (SiP) comprising a number of chips in a single package. SoC is believed to be more cost effective since it increases the yield of the fabrication and because its packaging is simpler. Contents [hide] • 1 Structure • 2 Design flow • 3 Fabrication • 4 See also • 5 External links [edit] Structure y513719001187192499 from [email protected] was published by D-Publish on August 15, 2007 Microcontroller-based System-on-a-Chip A typical SoC consists of: • One or more microcontroller, microprocessor or DSP core(s). • Memory blocks including a selection of ROM, RAM, EEPROM and Flash. • Timing sources including oscillators and phase-locked loops. • Peripherals including counter-timers, real-time timers and power-on reset generators. • External interfaces including industry standards such as USB, FireWire, Ethernet, USART, SPI. • Analog interfaces including ADCs and DACs. • Voltage regulators and power management circuits. These blocks are connected by either a proprietary or industry-standard bus such as the AMBA bus from ARM. DMA controllers route data directly between external interfaces and memory, by-passing the processor core and thereby increasing the data throughput of the SoC.
    [Show full text]
  • G3 CARD IST-1999-13515 Public Final Report January 2003
    G3 CARD IST-1999-13515 Public Final Report January 2003 G3Card –Public Final Report Contents 1 Project Overview....................................................................................................................................................2 2 Background ............................................................................................................................................................4 2.1 Self-timed logic ..............................................................................................................................................4 2.2 Attack technologies ........................................................................................................................................5 2.3 Societal needs .................................................................................................................................................6 3 Results – summary .................................................................................................................................................7 4 Results – details......................................................................................................................................................8 4.1 XAP designs...................................................................................................................................................8 4.2 Prototype SmartMIPS.....................................................................................................................................9
    [Show full text]
  • Klocwork 2019.1 System Requirements System Requirements the Following System Configurations Are Required to Run the Klocwork Tools
    Klocwork 2019.1 System Requirements System Requirements The following system configurations are required to run the Klocwork tools. To ensure the best experience, use the recommended settings listed below. Supported platforms The Klocwork Server and Build Tools packages are supported on the following operating systems (except where noted). This means that Klocwork has performed the full test suite on these operating systems with certain hardware and will provide technical support as specified in the Klocwork support policies. Note that for AIX, Mac, and Solaris, the Klocwork Server package is not supported. For more information, see . Klocwork Server Note: It is not possible to use Klocwork tools with SELinux (Security-Enhanced Linux) enabled. Processor Operating system Intel and AMD 32 bit and 64 bit • CentOS 7.5. As of Klocwork 2019.1, includes 7.5 to 7.6. • Debian 8.x to 8.11 and 9.x to 9.5. As of Klocwork 2019.1, includes 9.x to 9.8. • Fedora 27 to 29 • OpenSUSE Leap 15, Tumbleweed • SUSE Enterprise 12.x and Leap 15 • Red Hat Enterprise Linux 7.5. As of Klocwork 2019.1, includes 7.5 to 7.6. • Ubuntu 16.04 to 16.04.4 LTS and 18.04 to 18.04.1 LTS. As of Klocwork 2019.1, includes 16.04 to 16.04.5 LTS and 18.10. Klocwork supports Linux glibc 2.15 to 2.28. Klocwork also supports Debian running glibc 2.15 or greater (use getconf GNU_LIBC_VERSION to find out your version). • Windows 7 SP1 • Windows 8.1 • Windows 10 versions 1709 to 1803.
    [Show full text]
  • The Internet of Things in the Cloud
    THE INTERNET I OF THINGS Downloaded by [New Horizon College of Engineering] at 01:03 10 March 2017 The Internet of Things in the Cloud A Middleware Perspective Honbo Zhou CRC Press Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 © 2013 by Taylor & Francis Group, LLC CRC Press is an imprint of Taylor & Francis Group, an Informa business No claim to original U.S. Government works Version Date: 2012918 International Standard Book Number-13: 978-1-4398-9302-9 (eBook - PDF) This book contains information obtained from authentic and highly regarded sources. Reasonable efforts have been made to publish reliable data and information, but the author and publisher cannot assume responsibility for the validity of all materials or the consequences of their use. The authors and publishers have attempted to trace the copyright holders of all material reproduced in this publication and apologize to copyright holders if permission to publish in this form has not been obtained. If any copyright material has not been acknowledged please write and let us know so we may rectify in any future reprint. Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmit- ted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, microfilming, and recording, or in any information storage or retrieval system, without written permission from the publishers. For permission to photocopy or use material electronically from this work, please access www.copyright. Downloaded by [New Horizon College of Engineering] at 00:56 10 March 2017 com (http://www.copyright.com/) or contact the Copyright Clearance Center, Inc.
    [Show full text]
  • Devcon On-Site
    COURSE SELECTOR GUIDE 1 of 8 DevCon On-Site make it easier to apply digital-filtering and signal-processing ˾ Labs should take up half or more of your seminar techniques in embedded control systems. The presentation briefly reviews the basics of digital filters and associated design tools ˾ Half-day seminars should be 3 to 4 hours long, and then describes practical design details. Topics covered and 6 to 7 hours long for full-day seminars include the impact of analog-to-digital converter (ADC) characteristics and floating-point math on the effectiveness of ˾ You can go to www.renesasinteractive.com and click on performing digital filtering with an MCU. DevCon 2010 link for access to presentations and other materials ˾ LECTURE Introduction to ADC Implementation – 60 Minutes Introduction – Proposed for all DevCon – Introduction On-Site Seminars Different types and designs of analog-to-digital converters (ADCs) provide different levels of performance and have specific ˾ Introduction to our Next Generation “Renesas Extreme pros and cons. This session focuses on the characteristics that (RX)” MCU Architecture are most relevant to several key applications, to make it easier to match the choice of an ADC implementation to the system – 60 minutes requirements of a particular project. – Introduction This session provides technical details on the industry’s first ˾ LECTURE Application Code Reprogramming Using 200-MHz MCU architecture: Renesas’ next-generation 16/32-bit Different Serial Communication Protocols platform, called “Renesas Extreme” (RX). The presentation – 60 Minutes describes the RX’s best-in-class performance, superior code – Introduction density, unique peripheral features, and ability to provide high This session explains what a bootloader is, what its requirements throughput while consuming minimum power (500µA/MHz).
    [Show full text]
  • Licensed Silicon Intellectual Property
    Licensed Silicon Intellectual Property ® XAP processor cores System on Chip performance low energy, low cost, low risk Registers Max Address Processor Data Bus Gates Memory Bus Std Addr Brk XAP4 64 kB 16 bit 16 bit 8 x 16 4 x 16 2 x 16 12k XAP5 16 MB 24 bit 16 bit 8 x 16 4 x 24 4 x 24 18k XAP6 4 GB 32 bit 32 bit 8 x 32 5 x 32 4 x 32 30k Powerful Business Solutions Electronic products in today’s competitive markets demand ever-higher performance, yet with lower energy consumption and unit cost. XAP processor cores are optimised to meet these requirements for System on Chip (SoC) devices (mixed analog-digital and pure digital). XAP processors have powerful debug features and Software Development Toolkits (SDKs) which will reduce your project risk and time to market. XAP processor cores have very high code density, which minimises memory size, silicon area and energy consumption. XAP processor cores have flexible licensing terms, making them ideal for a wide range of markets (medical, security, industrial, energy, wireless, etc). Applications for XAP processors include wireless communications (e.g. WiFi, Bluetooth, BLE, ZigBee, Thread, 6LoWPAN, GPS, RFID, NFC), sensors, controllers, smart meters, medical devices, IoT devices, secure trusted systems and many more. XAPs’ low power makes them ideal for battery powered products. There are over 2 billion XAPs in silicon. You probably have some of your own already! XAP IP is delivered as Verilog RTL. You can synthesise it to whichever semiconductor process and library (gates and memory) that you choose.
    [Show full text]
  • Klocwork System Requirements
    Klocwork 2020.3 System Requirements System Requirements The following system configurations are required to run the Klocwork tools. To ensure the best experience, use the recommended settings listed below. Supported platforms The Klocwork Server and Build Tools packages are supported on the following operating systems (except where noted). This means that Klocwork has performed the full test suite on these operating systems with certain hardware and will provide technical support as specified in the Klocwork support policies. Note that for AIX, Mac, and Solaris, the Klocwork Server package is not supported. For more information, see . Klocwork Server Note: It is not possible to use Klocwork tools with SELinux (Security-Enhanced Linux) enabled. Processor Operating system Intel and AMD 32 bit and 64 bit • For Klocwork 2020.1, includes CentOS 7.5 to 7.7, CentOS 8.0. For Klocwork 2020.2, includes CentOS 7.5 to 7.7, CentOS 8.0 to 8.1. For Klocwork 2020.3, includes CentOS 7.5 to 7.8, CentOS 8.0 to 8.2. • For Klocwork 2020.1, includes Debian 9.x to 9.11, 10.0 to 10.1. For Klocwork 2020.2, includes Debian 9.x to 9.12, 10.0 to 10.3. For Klocwork 2020.3, includes Debian 9.x to 9.12, 10.0 to 10.4. • For Klocwork 2020.1, includes Fedora 29 to 30. For Klocwork 2020.2, includes Fedora 30 to 31. For Klocwork 2020.2, includes Fedora 31 to 32. • For Klocwork 2020.1, includes Oracle Linux 7. For Klocwork 2020.2, includes Oracle Linux 7 to 7.7, Oracle Linux 8 to 8.1.
    [Show full text]
  • Software Toolset for ASIC, ASSP Or MCU
    Software toolset for ASIC, ASSP or MCU xIDE integrated development environment xIDE is a flexible, extensible software development and debug environment for ASICs or embedded systems. It is used to build application development toolsets for ASICs that semiconductor companies can use and also distribute to their customers. xIDE can be configured for use with any IC, FPGA, ASIC, ASSP, MCU, SoC or embedded system and can host any software toolset. Plug-in software components configure xIDE for the target’s functionality. Current plug-ins offer support for 32-bit ARM, 16-bit XAP and 32-bit XAP processors and tools. xIDE licensees can offer their own branded development tool suite, integrating tools, libraries and documentation and deliver them to users in a simple installer. xIDE reduces support costs, brings in design wins, enhances products, and speeds time to market. Featured for programmers The ASSP software challenge Time to volume . Integrated software developer Application-specific semiconductor The xIDE core is extended with and debug tool environment products are increasingly complex software plug-ins for a particular and companies supplying them ASSP. Versions of xIDE can be . Supports multi-core ICs, boards must offer customers a program branded with a company’s logo and and multiple board systems development environment enabling other data. Documentation and . Hosts instruction set simulators, ASSPs to be designed in products. help files are added and interfaces to the accompanying tools are debuggers, code and libraries Modern ASSPs contain multiple defined. Tools such as compilers or cores, processors, DSPs, hardware . Easy to use with HTML-based debuggers can be shipped within engines, memories, interfaces, on-line help and documentation xIDE or delivered separately.
    [Show full text]
  • Security Evaluation at Design Time for Cryptographic Hardware
    UCAM-CL-TR-665 Technical Report ISSN 1476-2986 Number 665 Computer Laboratory Security evaluation at design time for cryptographic hardware Huiyun Li April 2006 15 JJ Thomson Avenue Cambridge CB3 0FD United Kingdom phone +44 1223 763500 http://www.cl.cam.ac.uk/ c 2006 Huiyun Li This technical report is based on a dissertation submitted December 2005 by the author for the degree of Doctor of Philosophy to the University of Cambridge, Trinity Hall. Technical reports published by the University of Cambridge Computer Laboratory are freely available via the Internet: http://www.cl.cam.ac.uk/TechReports/ ISSN 1476-2986 Abstract Consumer security devices are becoming ubiquitous, from pay-TV through mobile phones, PDA, prepayment gas meters to smart cards. There are many ongoing research efforts to keep these devices secure from opponents who try to retrieve key information by observation or manipulation of the chip’s components. In common industrial practise, it is after the chip has been manufactured that security evaluation is performed. Due to design time oversights, however, weaknesses are often revealed in fabricated chips. Furthermore, post manufacture security evaluation is time consuming, error prone and very expensive. This evokes the need of design time security evaluation techniques in order to identify avoidable mistakes in de- sign. This thesis proposes a set of design time security evaluation methodologies covering the well-known non-invasive side-channel analysis attacks, such as power analysis and electro- magnetic analysis attacks. The thesis also covers the recently published semi-invasive optical fault injection attacks. These security evaluation technologies examine the system under test by reproducing attacks through simulation and observing its subsequent response.
    [Show full text]