Survey of Machine Learning Applied to Computer Architecture Design

Total Page:16

File Type:pdf, Size:1020Kb

Survey of Machine Learning Applied to Computer Architecture Design 1 A Survey of Machine Learning Applied to Computer Architecture Design Drew D. Penney, and Lizhong Chen∗, Senior Member, IEEE Abstract—Machine learning has enabled significant benefits in diverse fields, but, with a few exceptions, has had limited impact on computer architecture. Recent work, however, has explored broader applicability for design, optimization, and simulation. Notably, machine learning based strategies often surpass prior state-of-the-art analytical, heuristic, and human-expert approaches. This paper reviews machine learning applied system-wide to simulation and run-time optimization, and in many individual components, including memory systems, branch predictors, networks-on-chip, and GPUs. The paper further analyzes current practice to highlight useful design strategies and identify areas for future work, based on optimized implementation strategies, opportune extensions to existing work, and ambitious long term possibilities. Taken together, these strategies and techniques present a promising future for increasingly automated architectural design. F 1 INTRODUCTION In the past decade, machine learning (ML) has rapidly become a revolutionary factor in many fields, ranging from commercial applications, as in self-driving cars, to medical applications, improving disease screening and diagnosis. In each of these applications, an ML model is trained to make predictions or decisions without explicit programming by discovering embedded patterns or relationships in the data. Notably, ML models can perform well in tasks/applications where relationships are too complex to model using analyt- ical methods. These powerful learning capabilities continue to enable rapid developments in diverse fields. Concur- rently, the exponential growth predicted by Moore’s law has slowed, putting increasing burden on architects to supplant Moore’s law with architectural advances. These opposing Fig. 1. Publications on machine learning applied to architecture (for trends suggest opportunities for a paradigm shift in which works examined in Section3) computer architecture enables ML and, simultaneously, ML improves computer architecture, closing a positive-feedback tinue to provide breakthroughs as promising applications loop with vast potential for both fields. are explored. Traditionally, the relationship between computer archi- The paper is organized as follows. Section 2 provides tecture and ML has been relatively imbalanced, focusing background on ML and existing models to build intuition on on architectural optimizations to accelerate ML algorithms. ML applicability to architectural issues. Section 3 presents In fact, the recent resurgence in AI research is, at least existing work on ML applied to architecture. Section 4 partly, attributed to improved processing capabilities. These then compares and contrasts implementation strategies in improvements are enhanced by hardware optimizations existing work to highlight significant design considerations. exploiting available parallelism, data reuse, sparsity, etc. in Section 5 identifies possible improvements and extensions existing ML algorithms. In contrast, there has been relatively to existing work as well as promising, new applications for limited work applying ML to improve architectural design, future work. Finally, Section 6 concludes. arXiv:1909.12373v1 [cs.AR] 26 Sep 2019 with branch prediction being one of a few mainstream examples. This nascent work, although limited, presents an 2 BACKGROUND auspicious approach for architectural design. 2.1 Fundamental Applicability This paper presents an overview of ML applied to archi- tectural design and analysis. As illustrated in Figure1, this Machine learning has been rapidly adopted in many fields field has grown significantly in both success and popularity, as an alternative approach for a diverse range of prob- particularly in the past few years. These works establish lems. This fundamental applicability stems from the pow- the broad applicability and future potential of ML-enabled erful relationship learning capabilities of ML algorithms. architectural design; existing ML-based approaches, ranging Specifically, ML models leverage a generic framework in from DVFS with simple classification trees to design space which these models learn from examples, rather than ex- exploration via deep reinforcement learning, have already plicit programming, enabling application in many tasks, surpassed their respective state-of-the-art human expert and including those too difficult to representing using standard heuristic based designs. ML-based design will likely con- programming methods. Furthermore, using this generic framework, there may be many possible approaches for ∗ any given problem. For example, in the case of predicting Corresponding author. Email: [email protected] IPC for a processor, one can experiment with a simple The authors are with Oregon State University, Corvallis, OR 97331 Copyright 2019 by Drew D. Penney and Lizhong Chen linear regression model, which learns a linear relationship All Rights Reserved between features (such as core frequency and cache size) 2 and the instructions-per-cycle (IPC). This approach may sums. Additional variants such as convolutional neural net- work well or it may work poorly. In the case it works works (CNNs) incorporate convolution operations between poorly, one can try different features, non-linear feature some layers to capture spatial locality while recurrent neural combinations (such as core frequency times cache size), networks re-use the previous output to learn sequences and or a different model entirely, with another common choice long-term patterns. All these supervised learning models being an artificial neural network (ANN). This diversity in can be used in both classification and regression tasks, possible approaches enables adjustment of models, model although there are some distinct high-level differences. Vari- parameters, and training features to match the task at hand. ants of SVMs and neural networks tend to perform better for high-dimension and continuous features and also when features may be nonlinear [1]. These models, however, tend 2.2 Learning Approaches & Models to require more data compared to Bayesian networks and The learning approach and the model are both fundamental decision trees. considerations in applying machine learning to any prob- Unsupervised learning: Unsupervised learning uses just lem. In general, there are four main categories of learn- input data to extract information without human effort. ing approaches: supervised learning, unsupervised learn- These models can therefore be useful, for example, in reduc- ing, semi-supervised learning, and reinforcement learning. ing data dimensionality by finding appropriate alternative These approaches can be differentiated by what data is used representations or clustering data into classes that may not and how that data is used to facilitate learning. Similarly, be obvious for humans. many appropriate models may exist for a given problem, Thus far, the primary two unsupervised learning models thus enabling significant diversity in application based applied to architecture are principal components analysis on the learning approach, hardware resources, available (PCA) and k-means clustering. PCA provides a method data, etc. In the following, we introduce these learning to extract significant information from a dataset by deter- approaches and several significant models for each learning mining linear feature combinations with high variance [4]. approach, focusing on approaches with proven applicability. As such, PCA can be applied as an initial step towards Implementation details are considered later in Section4. building a model with reduced dimensionality, a highly Supervised learning: In supervised learning, the model desirable feature in most applications, albeit at the cost of is trained using input features and output targets, with the interpretability (discussed in Section4). K-means clustering result being a model that can predict the output for new, is instead used to identify groups of data with similar fea- unseen inputs. Common supervised learning applications tures. These groups may be further processed to generalize include regression (predicting a value such as processor behavior or simplify representations for large datasets. IPC) and classification (predicting a label such as the op- Semi-supervised learning: Semi-supervised learning timal core configuration for application execution). Feature represents a mix of supervised and unsupervised methods, selection, discussed in Section 2.3, is particularly important with some paired input/output data, and some unpaired in- in these applications as the model must learn to predict put data. Using this approach, learning can take advantage solely based on feature values. of limited labeled data and potentially significant unlabeled Supervised learning models can be generalized into data. We note that this approach has, thus far, not yet four categories: decision trees, Bayesian networks, support found application in architecture. Nevertheless, one work vector machines (SVMs), and artificial neural networks [1]. on circuits analysis [5] presents a possible strategy that Decision trees use a tree structure where each node repre- could be adapted in future work. sents a feature and branches represent a value (or range of Reinforcement Learning: In reinforcement learning, an values) for that feature. Inputs are therefore classified by agent is sequentially provided with
Recommended publications
  • Three-Dimensional Integrated Circuit Design: EDA, Design And
    Integrated Circuits and Systems Series Editor Anantha Chandrakasan, Massachusetts Institute of Technology Cambridge, Massachusetts For other titles published in this series, go to http://www.springer.com/series/7236 Yuan Xie · Jason Cong · Sachin Sapatnekar Editors Three-Dimensional Integrated Circuit Design EDA, Design and Microarchitectures 123 Editors Yuan Xie Jason Cong Department of Computer Science and Department of Computer Science Engineering University of California, Los Angeles Pennsylvania State University [email protected] [email protected] Sachin Sapatnekar Department of Electrical and Computer Engineering University of Minnesota [email protected] ISBN 978-1-4419-0783-7 e-ISBN 978-1-4419-0784-4 DOI 10.1007/978-1-4419-0784-4 Springer New York Dordrecht Heidelberg London Library of Congress Control Number: 2009939282 © Springer Science+Business Media, LLC 2010 All rights reserved. This work may not be translated or copied in whole or in part without the written permission of the publisher (Springer Science+Business Media, LLC, 233 Spring Street, New York, NY 10013, USA), except for brief excerpts in connection with reviews or scholarly analysis. Use in connection with any form of information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed is forbidden. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. Printed on acid-free paper Springer is part of Springer Science+Business Media (www.springer.com) Foreword We live in a time of great change.
    [Show full text]
  • Lazy Threads Compiler and Runtime Structures For
    Lazy Threads Compiler and Runtime Structures for FineGrained Parallel Programming by Seth Cop en Goldstein BSE Princeton University MSE University of CaliforniaBerkeley A dissertation submitted in partial satisfaction of the requirements for the degree of Do ctor of Philosophy in Computer Science in the GRADUATE DIVISION of the UNIVERSITY of CALIFORNIA at BERKELEY Committee in charge Professor David E Culler Chair Professor Susan L Graham Professor Paul McEuen Professor Katherine A Yelick Fall Abstract Lazy Threads Compiler and Runtime Structures for FineGrained Parallel Programming by Seth Cop en Goldstein Do ctor of Philosophy in Computer Science University of California Berkeley Professor David E Culler Chair Many mo dern parallel languages supp ort dynamic creation of threads or require multithreading in their implementations The threads describ e the logical parallelism in the program For ease of expression and b etter resource utilization the logical parallelism in a program often exceeds the physical parallelism of the machine and leads to applications with many negrained threads In practice however most logical threads need not b e indep endent threads Instead they could b e run as sequential calls which are inherently cheap er than indep endent threads The challenge is that one cannot generally predict which logical threads can b e implemented as sequential calls In lazy multithreading systems each logical thread b egins execution sequentially with the attendant ecientstack management and direct transfer of control and data
    [Show full text]
  • Declustering Spatial Databases on a Multi-Computer Architecture
    Declustering spatial databases on a multi-computer architecture 1 2 ? 3 Nikos Koudas and Christos Faloutsos and Ibrahim Kamel 1 Computer Systems Research Institute University of Toronto 2 AT&T Bell Lab oratories Murray Hill, NJ 3 Matsushita Information Technology Lab oratory Abstract. We present a technique to decluster a spatial access metho d + on a shared-nothing multi-computer architecture [DGS 90]. We prop ose a software architecture with the R-tree as the underlying spatial access metho d, with its non-leaf levels on the `master-server' and its leaf no des distributed across the servers. The ma jor contribution of our work is the study of the optimal capacity of leaf no des, or `chunk size' (or `striping unit'): we express the resp onse time on range queries as a function of the `chunk size', and we show how to optimize it. We implemented our metho d on a network of workstations, using a real dataset, and we compared the exp erimental and the theoretical results. The conclusion is that our formula for the resp onse time is very accurate (the maximum relative error was 29%; the typical error was in the vicinity of 10-15%). We illustrate one of the p ossible ways to exploit such an accurate formula, by examining several `what-if ' scenarios. One ma jor, practical conclusion is that a chunk size of 1 page gives either optimal or close to optimal results, for a wide range of the parameters. Keywords: Parallel data bases, spatial access metho ds, shared nothing ar- chitecture. 1 Intro duction One of the requirements for the database management systems (DBMSs) of the future is the ability to handle spatial data.
    [Show full text]
  • Chap01: Computer Abstractions and Technology
    CHAPTER 1 Computer Abstractions and Technology 1.1 Introduction 3 1.2 Eight Great Ideas in Computer Architecture 11 1.3 Below Your Program 13 1.4 Under the Covers 16 1.5 Technologies for Building Processors and Memory 24 1.6 Performance 28 1.7 The Power Wall 40 1.8 The Sea Change: The Switch from Uniprocessors to Multiprocessors 43 1.9 Real Stuff: Benchmarking the Intel Core i7 46 1.10 Fallacies and Pitfalls 49 1.11 Concluding Remarks 52 1.12 Historical Perspective and Further Reading 54 1.13 Exercises 54 CMPS290 Class Notes (Chap01) Page 1 / 24 by Kuo-pao Yang 1.1 Introduction 3 Modern computer technology requires professionals of every computing specialty to understand both hardware and software. Classes of Computing Applications and Their Characteristics Personal computers o A computer designed for use by an individual, usually incorporating a graphics display, a keyboard, and a mouse. o Personal computers emphasize delivery of good performance to single users at low cost and usually execute third-party software. o This class of computing drove the evolution of many computing technologies, which is only about 35 years old! Server computers o A computer used for running larger programs for multiple users, often simultaneously, and typically accessed only via a network. o Servers are built from the same basic technology as desktop computers, but provide for greater computing, storage, and input/output capacity. Supercomputers o A class of computers with the highest performance and cost o Supercomputers consist of tens of thousands of processors and many terabytes of memory, and cost tens to hundreds of millions of dollars.
    [Show full text]
  • Arch2030: a Vision of Computer Architecture Research Over
    Arch2030: A Vision of Computer Architecture Research over the Next 15 Years This material is based upon work supported by the National Science Foundation under Grant No. (1136993). Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation. Arch2030: A Vision of Computer Architecture Research over the Next 15 Years Luis Ceze, Mark D. Hill, Thomas F. Wenisch Sponsored by ARCH2030: A VISION OF COMPUTER ARCHITECTURE RESEARCH OVER THE NEXT 15 YEARS Summary .........................................................................................................................................................................1 The Specialization Gap: Democratizing Hardware Design ..........................................................................................2 The Cloud as an Abstraction for Architecture Innovation ..........................................................................................4 Going Vertical ................................................................................................................................................................5 Architectures “Closer to Physics” ................................................................................................................................5 Machine Learning as a Key Workload ..........................................................................................................................6 About this
    [Show full text]
  • Performance Portability Libraries
    The Heterogeneous Computing Revolution Felice Pantaleo CERN - Experimental Physics Department [email protected] 1 A reminder that… CPU evolution is not B. Panzer able to cope with the increasing demand of performance 2 …CMS is in a computing emergency • Performance demand will increase substantially at HL-LHC • an order of magnitude more CPU performance offline and online 3 Today • High Level Trigger • readout of the whole detector with full granularity, based on the CMS software, running on 30,000 CPU cores • Maximum average latency is ~600ms with HT 4 The CMS Trigger in Phase 2 • Level-1 Trigger output rate will increase to 750 kHz (7.5x) • Pileup will increase by a factor 3x-4x • The reconstruction of the new highly granular Calorimeter Endcap will contribute substantially to the required computing resources • Missing an order of magnitude in computing performance 5 The Times They Are a-Changin' Achieving sustainable HEP computing requires change Long shutdown 2 represents a good opportunity to embrace a paradigm shift towards modern heterogeneous computer architectures and software techniques: • Heterogeneous Computing • Machine Learning Algorithms and Frameworks The acceleration of algorithms with GPUs is expected to benefit: • Online computing: decreasing the overall cost/volume of the event selection farm, or increasing its discovery potential/throughput • Offline computing: enabling software frameworks to execute efficiently on HPC centers and saving costs by making WLCG tiers heterogeneous • Volunteer computing: making use of accelerators that are already available on the volunteers’ machines Patatrack • Patatrack is a software R&D incubator • Born in 2016 by a very small group of passionate people • Interests: algorithms, HPC, heterogeneous computing, machine learning, software engineering • Lay the foundations of the CMS online/offline heterogeneous reconstruction starting from 2020s 8 and it’s growing fast 9 Why should our community care? • Accelerators are becoming ubiquitous • Driven by more complex and deeper B.
    [Show full text]
  • Computer Architecture Techniques for Power-Efficiency
    MOCL005-FM MOCL005-FM.cls June 27, 2008 8:35 COMPUTER ARCHITECTURE TECHNIQUES FOR POWER-EFFICIENCY i MOCL005-FM MOCL005-FM.cls June 27, 2008 8:35 ii MOCL005-FM MOCL005-FM.cls June 27, 2008 8:35 iii Synthesis Lectures on Computer Architecture Editor Mark D. Hill, University of Wisconsin, Madison Synthesis Lectures on Computer Architecture publishes 50 to 150 page publications on topics pertaining to the science and art of designing, analyzing, selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals. Computer Architecture Techniques for Power-Efficiency Stefanos Kaxiras and Margaret Martonosi 2008 Chip Mutiprocessor Architecture: Techniques to Improve Throughput and Latency Kunle Olukotun, Lance Hammond, James Laudon 2007 Transactional Memory James R. Larus, Ravi Rajwar 2007 Quantum Computing for Computer Architects Tzvetan S. Metodi, Frederic T. Chong 2006 MOCL005-FM MOCL005-FM.cls June 27, 2008 8:35 Copyright © 2008 by Morgan & Claypool All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means—electronic, mechanical, photocopy, recording, or any other except for brief quotations in printed reviews, without the prior permission of the publisher. Computer Architecture Techniques for Power-Efficiency Stefanos Kaxiras and Margaret Martonosi www.morganclaypool.com ISBN: 9781598292084 paper ISBN: 9781598292091 ebook DOI: 10.2200/S00119ED1V01Y200805CAC004 A Publication in the Morgan & Claypool Publishers
    [Show full text]
  • COSC 6385 Computer Architecture - Multi-Processors (IV) Simultaneous Multi-Threading and Multi-Core Processors Edgar Gabriel Spring 2011
    COSC 6385 Computer Architecture - Multi-Processors (IV) Simultaneous multi-threading and multi-core processors Edgar Gabriel Spring 2011 Edgar Gabriel Moore’s Law • Long-term trend on the number of transistor per integrated circuit • Number of transistors double every ~18 month Source: http://en.wikipedia.org/wki/Images:Moores_law.svg COSC 6385 – Computer Architecture Edgar Gabriel 1 What do we do with that many transistors? • Optimizing the execution of a single instruction stream through – Pipelining • Overlap the execution of multiple instructions • Example: all RISC architectures; Intel x86 underneath the hood – Out-of-order execution: • Allow instructions to overtake each other in accordance with code dependencies (RAW, WAW, WAR) • Example: all commercial processors (Intel, AMD, IBM, SUN) – Branch prediction and speculative execution: • Reduce the number of stall cycles due to unresolved branches • Example: (nearly) all commercial processors COSC 6385 – Computer Architecture Edgar Gabriel What do we do with that many transistors? (II) – Multi-issue processors: • Allow multiple instructions to start execution per clock cycle • Superscalar (Intel x86, AMD, …) vs. VLIW architectures – VLIW/EPIC architectures: • Allow compilers to indicate independent instructions per issue packet • Example: Intel Itanium series – Vector units: • Allow for the efficient expression and execution of vector operations • Example: SSE, SSE2, SSE3, SSE4 instructions COSC 6385 – Computer Architecture Edgar Gabriel 2 Limitations of optimizing a single instruction
    [Show full text]
  • A Practical Quantum Instruction Set Architecture
    A Practical Quantum Instruction Set Architecture Robert S. Smith, Michael J. Curtis, William J. Zeng Rigetti Computing 775 Heinz Ave. Berkeley, California 94710 Email: {robert, spike, will}@rigetti.com IV Quil Examples 9 Abstract—We introduce an abstract machine archi- IV-A Quantum Fourier Transform . .9 tecture for classical/quantum computations—including compilation—along with a quantum instruction lan- IV-B Variational Quantum Eigensolver . .9 guage called Quil for explicitly writing these computa- tions. With this formalism, we discuss concrete imple- IV-B1 Static Implementation . .9 mentations of the machine and non-trivial algorithms IV-B2 Dynamic Implementation . 10 targeting them. The introduction of this machine dove- tails with ongoing development of quantum computing technology, and makes possible portable descriptions V Forest: A Quantum Programming Toolkit 10 of recent classical/quantum algorithms. Keywords— quantum computing, software architecture V-A Overview . 10 V-B Applications and Tools . 11 Contents V-C Quil Manipulation . 11 I Introduction 1 V-D Compilation . 11 V-E Instruction Parallelism . 12 II The Quantum Abstract Machine 2 V-F Rigetti Quantum Virtual Machine . 12 II-A Qubit Semantics . .2 II-B Quantum Gate Semantics . .3 VI Conclusion 13 II-C Measurement Semantics . .4 VII Acknowledgements 13 III Quil: a Quantum Instruction Language 5 III-A Classical Addresses and Qubits . .5 Appendix 13 III-B Numerical Interpretation of Classical A The Standard Gate Set . 13 Memory Segments . .5 B Prior Work . 13 III-C Static and Parametric Gates . .5 B1 Embedded Domain- III-D Gate Definitions . .6 Specific Languages . 13 III-E Circuits . .6 B2 High-Level QPLs .
    [Show full text]
  • Adéquation Algorithme Architecture : Aspects Logiciels, Matériels Et Cognitifs Dominique Ginhac
    Adéquation Algorithme architecture : Aspects logiciels, matériels et cognitifs Dominique Ginhac To cite this version: Dominique Ginhac. Adéquation Algorithme architecture : Aspects logiciels, matériels et cognitifs. Traitement du signal et de l’image [eess.SP]. Université de Bourgogne, 2008. tel-00646480 HAL Id: tel-00646480 https://tel.archives-ouvertes.fr/tel-00646480 Submitted on 30 Nov 2011 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Habilitation à Diriger des Recherches LE2I UMR CNRS 5158 Université de Bourgogne ADÉQUATION ALGORITHME ARCHITECTURE ASPECTS LOGICIELS, MATÉRIELS ET COGNITIFS présentée par DOMINIQUE GINHAC Composition du Jury Pr. PIERRE MAGNAN - Institut Supérieur de l'Aéronautique et de l'Espace - Rapporteur Pr. ALAIN MÉRIGOT - Université Paris Sud - Rapporteur Pr. MICHEL ROBERT - Université Montpellier II - Rapporteur DR AXEL CLEEREMANS - Université Libre de Bruxelles - Examinateur Pr PATRICK MARQUIE - Université de Bourgogne - Examinateur Pr MICHEL PAINDAVOINE - Université de Bourgogne - Directeur de l’HDR Remerciements Sommaire
    [Show full text]
  • A Hybrid-Parallel Architecture for Applications in Bioinformatics
    A Hybrid-parallel Architecture for Applications in Bioinformatics M.Sc. Jan Christian Kässens Dissertation zur Erlangung des akademischen Grades Doktor der Ingenieurwissenschaften (Dr.-Ing.) der Technischen Fakultät der Christian-Albrechts-Universität zu Kiel eingereicht im Jahr 2017 Kiel Computer Science Series (KCSS) 2017/4 dated 2017-11-08 URN:NBN urn:nbn:de:gbv:8:1-zs-00000335-a3 ISSN 2193-6781 (print version) ISSN 2194-6639 (electronic version) Electronic version, updates, errata available via https://www.informatik.uni-kiel.de/kcss The author can be contacted via [email protected] Published by the Department of Computer Science, Kiel University Computer Engineering Group Please cite as: Ź Jan Christian Kässens. A Hybrid-parallel Architecture for Applications in Bioinformatics Num- ber 2017/4 in Kiel Computer Science Series. Department of Computer Science, 2017. Dissertation, Faculty of Engineering, Kiel University. @book{Kaessens17, author = {Jan Christian K\"assens}, title = {A Hybrid-parallel Architecture for Applications in Bioinformatics}, publisher = {Department of Computer Science, CAU Kiel}, year = {2017}, number = {2017/4}, doi = {10.21941/kcss/2017/4}, series = {Kiel Computer Science Series}, note = {Dissertation, Faculty of Engineering, Kiel University.} } © 2017 by Jan Christian Kässens ii About this Series The Kiel Computer Science Series (KCSS) covers dissertations, habilitation theses, lecture notes, textbooks, surveys, collections, handbooks, etc. written at the Department of Computer Science at Kiel University. It was initiated in 2011 to support authors in the dissemination of their work in electronic and printed form, without restricting their rights to their work. The series provides a unified appearance and aims at high-quality typography. The KCSS is an open access series; all series titles are electronically available free of charge at the department’s website.
    [Show full text]
  • CHAPTER 1 Introduction
    CHAPTER 1 Introduction 1.1 Overview 1 1.2 The Main Components of a Computer 3 1.3 An Example System: Wading through the Jargon 4 1.4 Standards Organizations 15 1.5 Historical Development 16 1.5.1 Generation Zero: Mechanical Calculating Machines (1642–1945) 17 1.5.2 The First Generation: Vacuum Tube Computers (1945–1953) 19 1.5.3 The Second Generation: Transistorized Computers (1954–1965) 23 1.5.4 The Third Generation: Integrated Circuit Computers (1965–1980) 26 1.5.5 The Fourth Generation: VLSI Computers (1980–????) 26 1.5.6 Moore’s Law 30 1.6 The Computer Level Hierarchy 31 1.7 The von Neumann Model 34 1.8 Non-von Neumann Models 37 Chapter Summary 40 CMPS375 Class Notes (Chap01) Page 1 / 11 by Kuo-pao Yang 1.1 Overview 1 • Computer Organization o We must become familiar with how various circuits and components fit together to create working computer system. o How does a computer work? • Computer Architecture: o It focuses on the structure and behavior of the computer and refers to the logical aspects of system implementation as seen by the programmer. o Computer architecture includes many elements such as instruction sets and formats, operation code, data types, the number and types of registers, addressing modes, main memory access methods, and various I/O mechanisms. o How do I design a computer? • The computer architecture for a given machine is the combination of its hardware components plus its instruction set architecture (ISA). • The ISA is the agreed-upon interface between all the software that runs on the machine and the hardware that executes it.
    [Show full text]