Minimizing Bank Selection Instructions for Partitioned Memory Architectures∗

Total Page:16

File Type:pdf, Size:1020Kb

Minimizing Bank Selection Instructions for Partitioned Memory Architectures∗ Minimizing Bank Selection Instructions for Partitioned Memory Architectures∗ Bernhard Scholz Bernd Burgstaller Jingling Xue The University of Sydney The University of Sydney University of NSW [email protected] [email protected] [email protected] ABSTRACT 1. INTRODUCTION Bank switching is a technique that increases the code and Embedded systems have become an integral part of the data memory in microcontrollers without extending the ad- infrastructure of today's technological society. They are dress buses. Given a program in which variables have been prevalent in an ever-increasing range of applications, in- assigned to data banks, we present a novel optimization cluding consumer electronics, home appliances, instrumen- technique that minimizes the overhead of bank switching tation/measurement, automotive, communications and in- through cost-effective placement of bank selection instruc- dustrial control. Microcontrollers constitute the core of all tions. The optimal placement is controlled by a variety embedded systems designs. According to the Semiconductor of different objectives, such as runtime, low power, small Industry Association's November 2005 forecast, the market code size or a combination of these parameters. We have for 4-, 8-, 16-, and 32-bit microcontrollers will grow to $12.8 formulated the problem as a form of Partitioned Boolean billion in 2006. The reported share of 8-bit microcontrollers Quadratic Programming (PBQP). is 42%. Gartner Dataquest reports that the 8-bit market We implemented the optimization as part of a PIC Micro- reached $5.5 billion in 2004 [6]. chip backend and evaluated the approach for several opti- The widespread use of 8-bit microcontrollers can be at- mization objectives. Our benchmark suite comprises pro- tributed to the following: (1) many embedded systems de- grams from MiBench and DSPStone plus a microcontroller signs do not need the more costly, energy-burning and com- real-time kernel and drivers for microcontroller hardware de- plex 16- or 32bit CPUs, (2) many embedded systems designs vices. Our optimization achieved a reduction of program distribute small numbers of low-cost electronics instead of memory space between 2.7% and 18.2%, and an overall im- using one powerful and expensive core CPU, (3) embedded provement with respect to instruction cycles between 5.1% systems designs often employ 8-bit microcontrollers as low- and 28.8%. Our optimization achieved an optimal solution cost subsystems of complex 32-bit hardware designs, and (4) for all benchmark programs. there is a trend to add entry-level electronics intelligence to mechanical-based systems. Categories and Subject Descriptors Bank switching is a common technique for 8-bit micro- controllers to increase the size of code and data memory D3.4 [Programming Languages]: Processors|Compilers without extending the address buses of the CPU. The ad- dress space is partitioned into memory banks, and the CPU General Terms can only access one bank at a time. This bank is called the Algorithms, Languages, Performance active bank. To keep track of the active bank the CPU's bank register stores the address of the active bank. A bank selec- tion instruction is issued to switch between banks. Smaller Keywords address buses result in smaller chip die-sizes, higher clock Compiler optimization, microcontrollers, partitioned mem- frequencies and less power consumption. As an example, ory architecture, bank-switching, RAM allocation, PBQP Motorola 68HC11 8-bit microcontrollers addresses a maxi- ∗ mum of 64KB memory using their 16-bit address registers. This project has been supported by the ARC Discovery This scheme allows multiple 64KB banks to be accessed al- Project Grant \Compilation Techniques for Embedded Sys- tems" under Contract DP 0560190 and the University of though only one can be active at a time. As another exam- Sydney R&D Grants Scheme \Speculative Partial Redun- ple, the PIC16F877A microcontroller allows data accesses to dancy Elimination" under Contract L2849 U3229. be switched between four 128B data banks. Other processor families have similar features such as Zilog's Z80 and Intel's 8051 processor families. Architectures such as Ubicom's 8- bit SX microcontroller organize their registers in register Permission to make digital or hard copies of all or part of this work for banks to shorten the cycle time avoiding multi-porting [15]. personal or classroom use is granted without fee provided that copies are The disadvantage of bank switched architectures is the not made or distributed for profit or commercial advantage and that copies code-size and runtime overhead caused by bank selection bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific instructions. Several commercial and open-source compil- permission and/or a fee. ers for microcontrollers provide limited support to generate CASES'06, October 23–25, 2006, Seoul, Korea. bank-switched code. For example, GNU GCC for Motorola Copyright 2006 ACM 1-59593-543-6/06/0010 ...$5.00. 68HC11 and 68HC12 will compile a function declared with to show that our optimization can accommodate a va- the far attribute by using a calling convention that takes riety of optimization objectives such as speed, space care of switching banks when entering and leaving a func- and a combination of both. tion. However, the GCC compiler does not eliminate re- dundant bank selection instructions. The CC5X compiler The paper is organized as follows. In Section 2, we de- for mid-range PICmicro devices (from B Knudsen Data) ex- scribe the background. In Section 3, we define and motivate pects the programmer to allocate variables to banks but the problem of minimizing the costs of bank selection in- will insert bank selection instructions automatically with no structions across basic block boundaries. The optimization guarantee of optimal placement of the bank selection in- algorithm is presented in Section 4. In Section 5, we present structions. The PICC-18 for the PIC18Fxxx family appears and discuss our experimental results. We draw our conclu- to have automated both tasks under certain language re- sions in Section 6. strictions. As far as the authors are aware of, the bank switching schemes used in existing compilers seem to be ad 2. BACKGROUND hoc, and it is still a challenging research problem to generate A basic block is a sequence of statements in which flow efficient memory accesses for bank-switched architectures. of control can only enter from its beginning and leave at This work is concerned with developing a compiler opti- its end. A control flow-graph(CFG) is a directed graph mization for optimal placement of bank selection instruc- G = hV; E; s; ei where V is the set of vertices represent- tions in a bank-switched architecture. This problem is im- ing basic blocks and E is the set of edges. Vertex s is the portant because poor placement of bank selection instruc- entry node (aka. start node) of the CFG and e is the exit tions increases runtime, code-size, and power consumption. node (aka. end node). The set of predecessors preds(u) is Given a program in which all variables have been assigned defined as fwj(w; u) 2 Eg and the set of successors succs(u) to banks (by the programmer or compiler), we present an as fvj(u; v) 2 Eg. A critical edge is an edge (u; v) for optimization that inserts a minimum number of bank selec- which jsuccs(u)j > 1 and jpreds(v)j > 1. A path π is a tion instructions in the program to guarantee that banked sequence of vertices hv ; : : : ; v i such that (vi; vi ) 2 E for memory is accessed correctly. The optimal placement is con- 1 k +1 all 1 ≤ i < k. In a CFG, all vertices are reachable, i.e. there trolled by a variety of objectives such as runtime, low power, is a path from s to every other vertex in V . small code size or a combination of these parameters. The The PBQP problem [20, 4] is a specialized quadratic as- authors are only aware of an ad-hoc approach in this area, signment problem and is NP-complete. Consider a set of which was introduced in [8]. discrete variables X = fx ; : : : ; xng and their finite domains Most previous efforts on partitioned memory architectures 1 fD ; : : : ; Dng. A solution of PBQP is a simple function focus on maximizing parallel data accesses to make mem- 1 h : X ! D where D is D [ : : : [ Dn; for each variable ory banks simultaneously active [2, 10, 16, 17, 19, 21, 25, 1 xi we choose an element di in Di. The quality of a solution 26]. By enabling parallel memory accesses in a single in- is based on the contribution of two sets of terms: struction, one can increase memory bandwidth and thus improve program performance. Such partitioned memory 1. for assigning variable xi to the element di in Di. The banks are found in Motorola's DSP56000, Analog Devices' quality of the assignment is measured by a local cost ADSP2016x and NEC's µPD77016. Some researchers re- function c(xi; di). organize the order of instructions and the layout of data, e.g., by loop transformations [3], to reduce energy consump- 2. for assigning two related variables xi and xj to the tion in partitioned memory architectures. In the case of elements di in Di and dj in Dj . We measure the heterogeneous memory banks such as scratchpad SRAM, in- quality of the assignment with a related cost function ternal DRAM and external DRAM, we refer to [1, 11, 23, C(xi; xj ; di; dj ). 24] and the references therein for a number of compiler tech- niques proposed on performing automatic scratchpad man- Thus, the total cost of a solution h is given as agement.
Recommended publications
  • Linux and Electronics
    Linux and Electronics Urs Lindegger Linux and Electronics Urs Lindegger Copyright © 2019-11-25 Urs Lindegger Table of Contents 1. Introduction .......................................................................................................... 1 Note ................................................................................................................ 1 2. Printed Circuits ...................................................................................................... 2 Printed Circuit Board design ................................................................................ 2 Kicad ....................................................................................................... 2 Eagle ..................................................................................................... 13 Simulation ...................................................................................................... 13 Spice ..................................................................................................... 13 Digital simulation .................................................................................... 18 Wings 3D ....................................................................................................... 18 User interface .......................................................................................... 19 Modeling ................................................................................................ 19 Making holes in Wings 3D .......................................................................
    [Show full text]
  • Sensors: Sensing and Data Acquisidon
    Sensors: Sensing and Data Acquisi3on Prof. Yan Luo For UMass Lowell 16.480/552 Sensors: Sensing and Data Acquisi3on 1 Prof. Yan Luo, UMass Lowell Outline • Sensors • Sensor interfacing • Sensor data conversion and acquisi3on • PIC microcontroller programming • Lab 1: Sensor design and data acquisi3on (a light intensity sensor) Sensors: Sensing and Data Acquisi3on 2 Prof. Yan Luo, UMass Lowell Basic Principle of Sensors • Transducer: a device that converts energy from one form to another • Sensor: converts a physical parameter to an electric output – Electric output is desirable as it enables further signal processing. • Actuator: coverts an electric signal to a physical output Sensors: Sensing and Data Acquisi3on 3 Prof. Yan Luo, UMass Lowell Sensors • Cameras • Analog sensors • Accelerometer - Con3nuously varying output • Rate gyro • Digital sensors • Strain gauge - on/off • Microphone - Pulse trains (freq convey measurement) • Magnetometer • Chemical sensors • Op3cal sensors Sensors: Sensing and Data Acquisi3on 4 Prof. Yan Luo, UMass Lowell Example: Photoresistor • Or Light Dependent Resistor (LDR) – Resistance decreases with increasing light intensity – Made of semiconductor – Photons absorbed cause electrons to jump into conduc3on band Sensors: Sensing and Data Acquisi3on 5 Prof. Yan Luo, UMass Lowell Interfacing with Sensors • Interface circuitry • ADC • Interfaces of the embedded system • SoVware drivers and APIs Sensors: Sensing and Data Acquisi3on 6 Prof. Yan Luo, UMass Lowell Example voltage divider circuit Vcc R2 V=Vcc x R1/(R1+R2) V R1 Sensors: Sensing and Data Acquisi3on 7 Prof. Yan Luo, UMass Lowell Analog-Digital Converter (ADC) • Types of ADC – Integrang ADC • Internal voltage controlled oscillator • slow – Successive approximaon ADC • Digital code driving the analog reference voltage – Flash ADC • A bank of comparators • Fast Sensors: Sensing and Data Acquisi3on 8 Prof.
    [Show full text]
  • "Firefly" Z80 General-Purpose Retro Computing Platform
    "FIREFLY" Z80 GENERAL-PURPOSE RETRO COMPUTING PLATFORM THREE FARTHING LABS http://www.threefarthing.com Page 1 of 13 PREFACE A project has to have a name and this one wound up being called "Firefly" as it©s the culmination of a wirewrap board begun several years ago while binge-watching the series of the same name. That board, in turn, was a redesign of a single board computer I created in 1998, creatively named the "SBCZ1." All three of these projects were begun as a chance to tinker with a processor I first met hands- on in 1984, the ZiLOG Z-80, though it was long-established by that time and dominated the business computer market. It was the CPU of preference behind most CP/M machines and CP/M was what I wanted to tinker with again, from the ground up ± not in some cozy emulator. When I began preparing to design the board I looked around on the Internet and found many excellent Z80 projects, including kit options. The choice was made to "roll my own" for numerous reasons. In the SBCZ1 I had most of a good design and wanted to retain a lot of hard work (done before I had Internet access, mind you). There were also specific reasons for wanting "to stay within ZiLOG canon" and work with a particular hardware configuration. I saw no kits that did just what I wanted in the way that I wanted. There was also a desire to maintain modularity and be extensible but not require a proliferation of modules for what I considered core functionality, yet great restraint was employed to keep "core functionality" spartan.
    [Show full text]
  • Efficient Automated Code Partitioning for Microcontrollers with Switchable
    Efficient Automated Code Partitioning for Microcontrollers with Switchable Memory Banks MICHAL CISZEWSKI and KONRAD IWANICKI, University of Warsaw 114 Switching active memory banks at runtime allows a processor with a narrow address bus to access memory that exceeds ranges normally addressable via the bus. Switching code memory banks is regaining interest in microcontrollers for the Internet of Things (IoT), which have to run continuously growing software, while at the same time consuming ultra-small amounts of energy. To make use of bank switching, such software has to be partitioned among the available banks and augmented with bank-switching instructions. In contrast to the augmenting, which is done automatically by a compiler, today the partitioning is normally done manually by programmers. However, since IoT software is cross-compiled on much more powerful machines than its target microcontrollers, it becomes possible to partition it automatically during compilation. In this article, we thus study the problem of partitioning program code among banks such that the resulting runtime performance of the program is maximized. We prove that the problem is NP-hard and propose a heuristic algorithm with a low complexity, so that it enables fast compilation, and hence interactive software development. The algorithm decomposes the problem into three subproblems and introduces a heuristic for each of them: (1) Which pieces of code to partition? (2) Which of them to assign to permanently mapped banks? and (3) How to divide the remaining ones among switchable banks? We integrate the algorithm, together with earlier ones, in an open-source compiler and test the resulting solution on synthetic as well as actual commercial IoT software bases, thereby demonstrating its advantages and drawbacks.
    [Show full text]
  • Tesis De Microcontroladores.Pdf
    UNIVERSIDAD DE EL SALVADOR FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE DEPARTAMENTO DE INGENIERÍA Y ARQUITECTURA. TRABAJO DE GRADUACIÓN DENOMINADO: “DISEÑO DE GUÍAS DE TRABAJO Y CONSTRUCCIÓN DE EQUIPO DIDÁCTICO PARA LA IMPLANTACIÓN DE PRÁCTICAS DE LABORATORIO CON MICRO CONTROLADORES EN LA CARRERA DE INGENIERÍA DE SISTEMAS INFORMÁTICOS DE LA FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE.” PARA OPTAR AL GRADO DE: INGENIERO DE SISTEMA INFORMÁTICOS PRESENTAN: FRANCIA ESCOBAR, ROBERTO ANTONIO GARCÍA, JUAN CARLOS UMAÑA ORDOÑEZ, JORGE ARTURO DOCENTE DIRECTOR ING. JOSE FRANCISCO ANDALUZ NOVIEMBRE, 2007. SANTA ANA EL SALVADOR CENTRO AMÉRICA UNIVERSIDAD DE EL SALVADOR RECTOR MÁSTER RUFINO ANTONIO QUEZADA SÁNCHEZ VICERRECTOR ACADÉMICO MÁSTER MIGUEL ÁNGEL PÉREZ RAMOS VICE RECTOR ADMINISTRATIVO MÁSTER ÓSCAR NOÉ NAVARRETE SECRETARIO GENERAL LICENCIADO DOUGLAS VLADIMIR ALFARO CHÁVEZ FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE DECANO LIC. JORGE MAURICIO RIVERA VICE DECANO LIC. ELADIO ZACARÍAS ORTEZ SECRETARIO LIC. VÍCTOR HUGO MERINO QUEZADA JEFE DE DEPARTAMENTO DE INGENIERÍA ING. RENÉ ERNESTO MARTÍNEZ BERMÚDEZ AGRADECIMIENTOS A DIOS TODOPODEROSO Por permitir que llegara hasta el final de la carrera, por no dejarme solo en este camino y siempre levantarme cuando necesite de su apoyo y fuerza para continuar adelante. A MI MADRE ÁNGELA VICTORIA ESCOBAR DE FRANCIA Por su apoyo, paciencia y ser un pilar en mi vida; sin la cual no hubiese podido culminar la carrera., le dedico este triunfo con las palabras con las que siempre me ha dado confianza y fuerza de seguir adelante “se triunfa cuando se persevera”. A MI PADRE JOSÉ ANTONIO FRANCIA ESCOBAR Que su ejemplo formo en mi la idea de siempre mirar más adelante, seguir luchando y creer que siempre es posible superarse cada día más; gracias por su inmenso apoyo desde todos los puntos de mi carrera y mi vida, como padre, docente, asesor y amigo.
    [Show full text]
  • The Ultimate C64 Overview Michael Steil, 25Th Chaos Communication Congress 2008
    The Ultimate C64 Overview Michael Steil, http://www.pagetable.com/ 25th Chaos Communication Congress 2008 Retrocomputing is cool as never before. People play Look and Feel C64 games in emulators and listen to SID music, but few people know much about the C64 architecture A C64 only needs to be connected to power and a TV and its limitations, and what programming was like set (or monitor) to be fully functional. When turned back then. This paper attempts to give a comprehen- on, it shows a blue-on-blue theme with a startup mes- sive overview of the Commodore 64, including its in- sage and drops into a BASIC interpreter derived from ternals and quirks, making the point that classic Microsoft BASIC. In order to load and save BASIC computer systems aren't all that hard to understand - programs or use third party software, the C64 re- and that programmers today should be more aware of quires mass storage - either a “datasette” cassette the art that programming once used to be. tape drive or a disk drive like the 5.25" Commodore 1541. Commodore History Unless the user really wanted to interact with the BA- SIC interpreter, he would typically only use the BA- Commodore Business Machines was founded in 1962 SIC instructions LOAD, LIST and RUN in order to by Jack Tramiel. The company specialized on elec- access mass storage. LOAD"$",8 followed by LIST tronic calculators, and in 1976, Commodore bought shows the directory of the disk in the drive, and the chip manufacturer MOS Technology and decided LOAD"filename",8 followed by RUN would load and to have Chuck Peddle from MOS evolve their KIM-1 start a program.
    [Show full text]
  • Z80 Bank-Switching Scheme An101
    Z80 BANK-SWITCHING SCHEME AN101 1. INTRODUCTION 1. Scope: This Application Note gives a description of a circuit design allowing the classic Z80 microproces- sor to access expanded memory, beyond the 64K bytes made readily available by its 16 address lines, A0 through A15. 2. Z80 microprocessor: Though it has been over 20 years since the introduction of the Z80, this family of microprocessors still finds application in new designs. This is because the Z80 is still cost-effective for many 8-bit applications; because many users have a large library of tested code for the Z80; and because the parts are readily available from several manufacturers, easing supply concerns that apply to sole-sourced processors. 3. Applicable chips: This Application Note applies to the classic Z80 microprocessor. It can also be applied to the newer Z84C15, which comprises a Z80 CPU, a clock generator, four Z80 CTC channels, two Z80 SIO channels, DMA, chip select signals, and glue logic in a 100-pin quad flat pack. However this external bank-switching circuitry is not necessary for members of the Z80180 family, which have a built-in MMU (memory management unit) on-chip. 2. DESIGN GOALS 1. Program memory: We wanted to expand program memory space to 128K bytes for our application. We needed to support in-circuit reprogramming, so we chose the AMD 29F010 flash memory device. This +5 volt part does not require a +12 volt power supply for programming. After the flash chip is initially programmed at the factory with the bootstrap loader and the current application code, it can later be reprogrammed in the field over the RS-232 serial port.
    [Show full text]
  • Genel Amaçli Robot Kolu Tasarimi
    DOKUZ EYLÜL ÜNøVERSøTESø FEN Bø/øMLERø ENSTøTÜSÜ GENEL AMAÇLI ROBOT KOLU TASARIMI Orhan Efe ALP Nisan, 2012 øZMøR GENEL AMAÇLI ROBOT KOLU TASARIMI Dokuz Eylül Üniversitesi Fen Bilimleri Enstitüsü Yüksek Lisans Tezi Mekatronik Mühendisli÷i Bölümü, Mekatronik Mühendisli÷i ProgramÕ Orhan Efe ALP Nisan, 2012 øZMøR TEùEKKÜR ÇalÕúmalarÕm boyunca de÷erli yardÕm ve katkÕlarÕyla beni yönlendiren, hoúgörü ve sabÕr gösteren de÷erli hocam ve tez danÕúmanÕm Yrd. Doç. Dr. Nalan ÖZKURT’a, yine önemli tecrübelerinden faydalandÕ÷Õm Prof. Dr. Erol UYAR hocama, robotik konusunda yo÷un tecrübelerinden yararlandÕ÷Õm de÷erli arkadaúÕm Aytekin GÜÇLÜ ’ye, mekanik aksam konusunda yo÷un eme÷i geçen, atölye ve teçhizatlarÕQÕ kullanÕPÕma açan de÷erli ustalarÕm Önder ve Erkan KURTKAFA’ya, bana verdikleri destek için çok teúekkür ederim. Son olarak bu günleri görmemi sa÷layan, hayatÕmda herúeyi borçlu oldu÷um herúeyden çok sevdi÷im, güvenlerini ve sevgilerini her zaman yo÷un hissetti÷im Húim Hatice ALP, annem Nüzhet ALP, babam Ali Ergün ALP, ablalarÕm Fethiye Yelkin ALP, Ceren SERøNKAN, Canan TOKEM, dayÕm Niyazi TOKEM ve anneannem Fikriye TOKEM’ en büyük teúekkürü borç bildi÷imi söylemek isterim. Orhan Efe ALP iii GENEL AMAÇLI ROBOT KOLU TASARIMI ÖZ Bu tez, üç eksen ve bir adet tutucuya sahip bir robot manipülatör ve robot manipülatöre insansÕ el hassasiyeti kazandÕrmak amacÕ ile ivmeölçer sensörlerden gönderilen komutlarla yönlendirilen, mikroiúlemci ailesinden PIC ile kontrol edilen servo motor sürücü kartÕ tasarÕm çalÕúmasÕQÕ ortaya koymaktadÕr. Robot manipülatörün tasarÕPÕ için Dassault Systemes firmasÕQÕn üretti÷i Solidworks programÕ kullanÕlmÕúWÕr. BaskÕ devre tekni÷i ile üretilen 5 adet servo motoru sürebilen motor sürücü kartÕ Proteus ve Eagle çizim programlarÕnda tasarlanmÕú ve çizilmiútir.
    [Show full text]
  • Introduction to PIC 18 Microcontrollers
    Mod-5: PIC 18 Introduction 1 Module 5 Contents: Overview of PIC 18, memory organisation, CPU, registers, pipelining, instruction format, addressing modes, instruction set, interrupts, interrupt operation, resets, parallel ports, timers, CCP. Features of the PIC18 microcontroller 8-bit CPU 2 MB program memory space 256 bytes to 1KB of data EEPROM Up to 3968 bytes of on-chip SRAM 4 KB to 128KB flash program memory Sophisticated timer functions that include: input capture, output compare, PWM, real- time interrupt, and watchdog timer Serial communication interfaces: SCI SPI I2C and CAN Background debug mode (BDM) 10-bit A/D converter Memory protection capability Instruction pipelining Operates at up to 40 MHz crystal oscillator Overview of the PIC18 MCU Microchip has introduced six different lines of 8-bit MCUs over the years: 1. PIC12XXX: 8-pin, 12- or 14-bit instruction format 2. PIC14000: 28-pin, 14-bit instruction format (same as PIC16XX) 3. PIC16C5X: 12-bit instruction format 4. PIC16CXX: 14-bit instruction format 5. PIC17: 16-bit instruction format 6. PIC18: 16-bit instruction format Each line of the PIC MCUs supports different number of instructions with slightly different instruction formats and different design in their peripheral functions. This makes products designed with a different family of PIC MCUs incompatible. The members of the Muhammed Riyas A.M, Assistant Professor,Department of E.C.E, M.C.E.T Pathanamthitta Mod-5: PIC 18 Introduction 2 PIC18 family share the same instruction set and the same peripheral function design and provide from eight to more than 80 signal pins.
    [Show full text]
  • Universidad De San Carlos De Guatemala Facultad De Ingeniería Escuela De Ingeniería Mecánica Eléctrica
    Universidad de San Carlos de Guatemala Facultad de Ingeniería Escuela de Ingeniería Mecánica Eléctrica IMPLEMENTACIÓN DEL PIC PLC AL LABORATORIO DE ELECTRÓNICA III Juan Alejandro Ortíz Chial Asesorado por el Ing. Enrique Sarvelio Ortíz Chial Guatemala, mayo de 2018 UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERÍA IMPLEMENTACIÓN DEL PIC PLC AL LABORATORIO DE ELECTRÓNICA III TRABAJO DE GRADUACIÓN PRESENTADO A LA JUNTA DIRECTIVA DE LA FACULTAD DE INGENIERÍA POR JUAN ALEJANDRO ORTÍZ CHIAL ASESORADO POR EL ING. ENRIQUE SARVELIO ORTÍZ CHIAL AL CONFERÍRSELE EL TÍTULO DE INGENIERO ELECTRICISTA GUATEMALA, MAYO DE 2018 UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERÍA NÓMINA DE JUNTA DIRECTIVA DECANO Ing. Pedro Antonio Aguilar Polanco VOCAL I Ing. Angel Roberto Sic García VOCAL II Ing. Pablo Christian De León Rodríguez VOCAL III Ing. José Milton De León Bran VOCAL IV Br. Óscar Humberto Galicia Núñez VOCAL V Br. Carlos Enrique Gómez Donis SECRETARIA Inga. Lesbia Magalí Herrera López TRIBUNAL QUE PRACTICÓ EL EXAMEN GENERAL PRIVADO DECANO a.i. Ing. Angel Roberto Sic García EXAMINADOR Ing. Bayron Armando Cuyán Culajay EXAMINADOR Ing. Julio Rolando Barrios Archila EXAMINADOR Ing. Jorge Gilberto González Padilla SECRETARIO Ing. Hugo Humberto Rivera Pérez HONORABLE TR¡BUNAL EXAMINADOR En cumplimiento con Ios preceptos que establece la ley de la Universidad de San Carlos de Guatemala, presento a su consideracién mi trabajo de graduación titulado: IMPLEMENTACIÓN DEL PIC PLC AL LABORATORIO DE ELECTRÓNICA I¡I Tema que me fuera asignado por la Dirección de la Escuela de lngeniería Mecánica Eléctrica, con fecha 01 de julio de 2011. Ghial ACTO QUE DEDICO A: Dios Por ser una importante influencia en mi carrera, entre otras cosas.
    [Show full text]
  • Microcontrollers Apnote AP0821
    查询AP0821供应商 捷多邦,专业PCB打样工厂,24小时加急出货 Microcontrollers ApNote AP0821 o additional file APXXXX01.EXE available C5xx / 80C5xx In-System FLASH Programming The following approach describes the proceeding for in-system reprogramming of an external (5V-only) FLASH code memory by using the internal ROM code. Due to the ´Havard Architecture´, an additional external logic (PLD) is used for a software switching mechanism between code and data memory. K. Scheibert / Siemens HL MC AT Semiconductor Group 08.96, Rel. 01 C5xx / 80C5xx In-System FLASH Programming 1 Memory Organization............................................................................................. 4 2 Hardware Description............................................................................................. 5 3 Functional Description of the ROM Software Routine ........................................ 7 AP0821 ApNote - Revision History Actual Revision : Rel.01 Previous Revison: Rel. none Page of Page of Subjects changes since last release) actual Rel. prev. Rel. Semiconductor Group 2 of 7 AP0821 08.96 C5xx / 80C5xx In-System FLASH Programming In-System FLASH Programming with hardware implemented bank switching capability The following information concerns all microcontrollers of the C5xx / SAB 80C5xx family which use an internal ROM mask in combination with an external code FLASH memory. The external FLASH memory can be used as reprogrammable code memory for the application software. This application focuses on SIEMENS 8-bit microcontroller derivatives with internal code memory (ROM) sizes of 8/16 Kbyte in maximum because of the overlapped code memory area of the FLASH memory of 8/16 Kbyte cannot be used: • C501-1R • C502-2R • C504-2R • C511(A)-R • C513(A)-R/-2R • C515-1R • SAB 80C535 • SAB 80C537 This application note describes the proceeding for the in-system reprogramming of application software by using special application hardware for memory bank switching and software programming service routines in the internal mask programmable ROM for external FLASH memories (5V-only).
    [Show full text]
  • The Triumphant March of the 6502.Pdf
    INFOTAINMENT THE 6502 The Triumphant March 30-year old design still inspires thousand Roelf Sluman Are eight-bit processors something from the past or is it still possible to do some- thing useful with them? Elektor Electronics went looking and discovered that the good-old 6502, in a world of threaded computing and dual-core processors, still has a following of faithful fans. In the 1970’s and 80’s three 8-bit processors dominated elegant 8-bit processor. Many thousands of enthusiasts the market: the 6809 from Motorola, the Z80 from Zilog across the whole world still work daily with the 6502 and the 6502 from MOS. By far the most popular of and make it do things that were not considered possible these three was the in 1975. 6502: its low cost (when introduced, the 6502 set you back about 25 dol- Price war History lars) and the advanced The 6502 processor cele- design for its time made When the 6502 was introduced in 1975 it cost brates its 30th anniver- sure that the 6502 con- about 25 dollars. That made it a serious com- sary this year. The intro- quered the world in a petitor to the processor it was copied from, the duction was preceded by short time as the brain in 6800, which by comparison costs a whopping a scandal: the designers popular home-computers 179 dollars. No wonder computer manufacturers of the 6502 had, in the such as the such as Apple and Commodore went for the first instance, developed Commodore 64 and the 6502.
    [Show full text]