SDSU Template, Version 11.1

Total Page:16

File Type:pdf, Size:1020Kb

SDSU Template, Version 11.1 ENHANCEMENT OF MC68000 SIMULATOR MACROS TO SUPPORT FLOATING POINT NUMBER _______________ A Thesis Presented to the Faculty of San Diego State University _______________ In Partial Fulfillment of the Requirements for the Degree Master of Science in Computer Science _______________ by Honey Walia Spring 2012 iii Copyright © 2012 by Honey Walia All Rights Reserved iv ABSTRACT OF THE THESIS Enhancement of MC68000 Simulator Macros to Support Floating Point Number by Honey Walia Master of Science in Computer Science San Diego State University, 2012 The purpose of this thesis is to write macros to support floating point number for BSVC simulator. This simulator provides a runtime environment which simulates a Motorola 68000 family CPU system. This system is currently used at SDSU to teach machine organization and assembly language programming to students in CS237. This thesis provides significant enhancements to the functionality of the system, making it more valuable tool for classroom instruction. v TABLE OF CONTENTS PAGE ABSTRACT ............................................................................................................................. iv LIST OF FIGURES ................................................................................................................ vii ACKNOWLEDGEMENTS ................................................................................................... viii CHAPTER 1 INTRODUCTION .........................................................................................................1 1.1 BSVC History ....................................................................................................1 1.2 Motivation ..........................................................................................................2 2 MOTOROLA 68000 ASSEMBLY LANGUAGE BACKGROUND ...........................3 2.1 The MC68000 Family ........................................................................................3 2.2 Trap ....................................................................................................................3 2.3 Macro .................................................................................................................4 2.4 Macro Preprocessor ...........................................................................................4 2.5 Trap 13 ...............................................................................................................4 3 TRAP14 .........................................................................................................................6 3.1 What are Floating Point Numbers? ....................................................................6 3.2 Storage Layout ...................................................................................................6 3.2.1 The Sign Bit ..............................................................................................7 3.2.2 The Exponent ............................................................................................7 3.2.3 The Mantissa .............................................................................................7 3.2.4 Putting it All Together ..............................................................................8 3.3 The Problem .......................................................................................................8 3.4 The Solution .......................................................................................................8 3.4.1 Addition ....................................................................................................8 3.4.2 Subtraction ................................................................................................9 3.4.3 Multiplication ............................................................................................9 3.4.3.1 Code Snippet ..................................................................................10 3.4.3.2 Special Case ...................................................................................11 vi 3.4.3.3 Code Snippet ..................................................................................11 3.4.4 Division ...................................................................................................13 3.4.5 Special Case ............................................................................................14 4 FUTURE WORK DOUBLE PRECISION FLOATING POINT NUMBERS ............15 REFERENCES ........................................................................................................................16 APPENDIX A BSVC SYSTEM ..........................................................................................................17 B FLOAT I/O MACRO ...................................................................................................19 C TRAP 14.S ...................................................................................................................24 D TRAP14 MACRO ........................................................................................................50 E TRAP14 DEMO PROGRAM ......................................................................................57 vii LIST OF FIGURES PAGE Figure 3.1. Floating-point representation...................................................................................7 viii ACKNOWLEDGEMENTS I want to express my gratitude to my advisor Mr. Alan Riggins for giving me an opportunity to work on this thesis project and for his constant guidance, support and motivation throughout this project. I am grateful to Dr. Leland Beck, for trusting me with this project. I am also thankful to Professor Tunc Geveci for being on my committee and for his co-operation. 1 CHAPTER 1 INTRODUCTION 1.1 BSVC HISTORY BSVC is a microprocessor simulation framework written in C++ and TCL/TK. It simulates Motorola 68000 family of microprocessors. It was developed as a senior design project at North Carolina State University by Bradford W. Mott in 1993. Since then, many professors and students have been using BSVC and found it a very useful tool in courses based on the Motorola 68000 family (for different parts of simulator see Appendix A).. BSVC was originally written for Unix operating system, however, it has been ported to windows. The Windows version has the same features as the Unix version except the Motorola 68000 simulator does not support the M68681 Dual UART. The Computer Science department of San Diego State University has been using BSVC for its undergraduate assembly class and has found BSVC to be a very useful tool. However input and output are not part of the assembly language. They need to be accomplished by the use of library functions. The original development of BSVC does not include input and output libraries. This made work requiring input and output impossible, which is inconvenient to both students and professors who are using the simulator. In 1998, Professor Marko Vuskovic at San Diego State University wrote a trap 15 that contained some I/O routines to handle input and output on a Unix system. Trap 15 was revised and expanded to include a complete set of I/O routines by Professor Sara Baase and Alan Riggins at San Diego State University [1]. The new library was renamed trap13 to distinguish it from Professor Vuskovic's work. In 2003, Alan Riggins ported the I/O routines to windows system. Before that any programming requiring input/output had to be done either at school, which is inconvenient to students, or using x-window to remote log in to the school server from a PC, which makes the remote connection very slow. 2 1.2 MOTIVATION The Motorola 68881 and Motorola 68882 were floating-point coprocessor chips that were used in some computer systems in conjunction with the 68020 or 68030 CPUs. The addition of one of these chips added a floating point unit that could rapidly perform floating point math calculations. This was useful mostly for scientific and mathematical software. BSVC simulator does not support floating point numbers. Floating point numbers have a variety of practical uses and are a very important component to an assembly language. Without support for floating-point numbers, the BSVC simulator is incomplete and it is difficult for professors and students to program any floating-point number related programs. Because of this Professor Carl Eckberg at San Diego State University proposed to write a trap that would add floating- point number input/output, addition, subtraction, multiplication and division into the BSVC simulator. In 2004, Huijuan Yin, student at San Diego State University wrote a trap 14 to support floating point numbers. Trap 14, when given input greater than 7 digits before decimal point or greater than three digits after decimal point it failed. So, Professor Alan Riggins proposed to find a solution to support floating point calculations (32 bit- precision) for all valid inputs. 3 CHAPTER 2 MOTOROLA 68000 ASSEMBLY LANGUAGE BACKGROUND 2.1 THE MC68000 FAMILY Early computer systems were programmed using machine language which was slow and error prone. High level programming languages increase programmer productivity but compiled code is usually both larger and less efficient. The need for a language that can directly access machine instruction is obvious. Assembly language grew out of this need then. Assembly language programming is writing machine instructions in mnemonic form, using an assembler to convert these mnemonics into actual processor instructions and associated
Recommended publications
  • Computer Architectures
    Computer Architectures Motorola 68000, 683xx a ColdFire – CISC CPU Principles Demonstrated Czech Technical University in Prague, Faculty of Electrical Engineering AE0B36APO Computer Architectures Ver.1.10 1 Original Desktop/Workstation 680X0 Feature 68000 'EC000 68010 68020 68030 68040 68060 Data bus 16 8/16 16 8/16/32 8/16/32 32 32 Addr bus 23 23 23 32 32 32 32 Misaligned Addr - - - Yes Yes Yes Yes Virtual memory - - Yes Yes Yes Yes Yes Instruct Cache - - 3 256 256 4096 8192 Data Cache - - - - 256 4096 8192 Memory manager 68451 or 68851 68851 Yes Yes Yes ATC entries - - - - 22 64/64 64/64 FPU interface - - - 68881 or 68882 Internal FPU built-in FPU - - - - - Yes Yes Burst Memory - - - - Yes Yes Yes Bus Cycle type asynchronous both synchronous Data Bus Sizing - - - Yes Yes use 68150 Power (watts) 1.2 0.13-0.26 0.13 1.75 2.6 4-6 3.9-4.9 at frequency of 8.0 8-16 8 16-25 16-50 25-40 50-66 MIPS/kDhryst. 1.2/2.1 2.5/4.3 6.5/11 14/23 35/60 100/300 Transistors 68k 84k 190k 273k 1,170k 2,500k Introduction 1979 1982 1984 1987 1991 1994 AE0B36APO Computer Architectures 2 M68xxx/CPU32/ColdFire – Basic Registers Set 31 16 15 8 7 0 User programming D0 D1 model registers D2 D3 DATA REGISTERS D4 D5 D6 D7 16 15 0 A0 A1 A2 A3 ADDRESS REGISTERS A4 A5 A6 16 15 0 A7 (USP) USER STACK POINTER 0 PC PROGRAM COUNTER 15 8 7 0 0 CCR CONDITION CODE REGISTER 31 16 15 0 A7# (SSP) SUPERVISOR STACK Supervisor/system POINTER 15 8 7 0 programing model (CCR) SR STATUS REGISTER 31 0 basic registers VBR VECTOR BASE REGISTER 31 3 2 0 SFC ALTERNATE FUNCTION DFC CODE REGISTERS AE0B36APO Computer Architectures 3 Status Register – Conditional Code Part USER BYTE SYSTEM BYTE (CONDITION CODE REGISTER) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 T1 T0 S 0 0 I2 I1 I0 0 0 0 X N Z V C TRACE INTERRUPT EXTEND ENABLE PRIORITY MASK NEGATIVE SUPERVISOR/USER ZERO STATE OVERFLOW CARRY ● N – negative ..
    [Show full text]
  • RTEMS CPU Supplement Documentation Release 4.11.3 ©Copyright 2016, RTEMS Project (Built 15Th February 2018)
    RTEMS CPU Supplement Documentation Release 4.11.3 ©Copyright 2016, RTEMS Project (built 15th February 2018) CONTENTS I RTEMS CPU Architecture Supplement1 1 Preface 5 2 Port Specific Information7 2.1 CPU Model Dependent Features...........................8 2.1.1 CPU Model Name...............................8 2.1.2 Floating Point Unit..............................8 2.2 Multilibs........................................9 2.3 Calling Conventions.................................. 10 2.3.1 Calling Mechanism.............................. 10 2.3.2 Register Usage................................. 10 2.3.3 Parameter Passing............................... 10 2.3.4 User-Provided Routines............................ 10 2.4 Memory Model..................................... 11 2.4.1 Flat Memory Model.............................. 11 2.5 Interrupt Processing.................................. 12 2.5.1 Vectoring of an Interrupt Handler...................... 12 2.5.2 Interrupt Levels................................ 12 2.5.3 Disabling of Interrupts by RTEMS...................... 12 2.6 Default Fatal Error Processing............................. 14 2.7 Symmetric Multiprocessing.............................. 15 2.8 Thread-Local Storage................................. 16 2.9 CPU counter...................................... 17 2.10 Interrupt Profiling................................... 18 2.11 Board Support Packages................................ 19 2.11.1 System Reset................................. 19 3 ARM Specific Information 21 3.1 CPU Model Dependent Features..........................
    [Show full text]
  • Gestalt Manager 1
    CHAPTER 1 Gestalt Manager 1 This chapter describes how you can use the Gestalt Manager and other system software facilities to investigate the operating environment. You need to know about the 1 operating environment if your application takes advantage of hardware (such as a Gestalt Manager floating-point unit) or software (such as Color QuickDraw) that is not available on all Macintosh computers. You can also use the Gestalt Manager to inform the Operating System that your software is present and to find out about other software registered with the Gestalt Manager. The Gestalt Manager is available in system software versions 6.0.4 and later. The MPW software development system and some other development environments supply code that allows you to use the Gestalt Manager on earlier system software versions; check the documentation provided with your development system. In system software versions earlier than 6.0.4, you can retrieve a limited description of the operating environment with the SysEnvirons function, also described in this chapter. You need to read this chapter if you take advantage of specific hardware or software features that may not be present on all versions of the Macintosh, or if you wish to inform other software that your software is present in the operating environment. This chapter describes how the Gestalt Manager works and then explains how you can ■ determine whether the Gestalt Manager is available ■ call the Gestalt function to investigate the operating environment ■ make information about your own hardware or software available to other applications ■ retrieve a limited description of the operating environment even if the Gestalt Manager is not available About the Gestalt Manager 1 The Macintosh family of computers includes models that use a number of different processors, some accompanied by a floating-point unit (FPU) or memory management unit (MMU).
    [Show full text]
  • From 128K to Quadra: Model by Model
    Chapter 12 From 128K to Quadra: Model by Model IN THIS CHAPTER: I What the specs mean I The specs for every Mac model ever made I Secrets of the pre-PowerPC Mac models I Just how much your Mac has devalued Yes, we’ve already been told that we’re nuts to attempt the next two chapters of this book. Since 1984, Apple has created more than 140 different Mac models — including 35 different PowerBooks and 53 different Performas! Each year, Apple piles on another dozen or so new models. By the time you finish reading this page, another Performa model probably will have been born. So, writing a couple of chapters that are supposed to describe every model is an exercise in futility. But we’re going to attempt it anyway, taking the models one by one and tracking their speeds, specs, and life cycles. This chapter will cover all the Apple Macs — both desktop and portable models — from the birth of the original Macintosh 128K to the release of the PowerBook 190, the last Mac ever made that was based on Motorola’s 68000-series processor chip. When you’re finished reading this chapter, you will be one of the few people on Earth who actually knows the difference between a Performa 550, 560, 575, 577, 578, 580, and 588. 375 376 Part II: Secrets of the Machine Chapter 13 will cover every Power Mac — or, more accurately, every PowerPC-based machine (those with four-digit model numbers) — from the first ones released in 1994 to the models released just minutes before this book was printed.
    [Show full text]
  • Numerical Computation Guide
    Numerical Computation Guide Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 U.S.A. 650-960-1300 Part No. 806-3568-10 May 2000, Revision A Send comments about this document to: [email protected] Copyright © 2000 Sun Microsystems, Inc., 901 San Antonio Road • Palo Alto, CA 94303-4900 USA. All rights reserved. This product or document is distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Third-party software, including font technology, is copyrighted and licensed from Sun suppliers. Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. For Netscape™, Netscape Navigator™, and the Netscape Communications Corporation logo™, the following notice applies: Copyright 1995 Netscape Communications Corporation. All rights reserved. Sun, Sun Microsystems, the Sun logo, docs.sun.com, AnswerBook2, Solaris, SunOS, JavaScript, SunExpress, Sun WorkShop, Sun WorkShop Professional, Sun Performance Library, Sun Performance WorkShop, Sun Visual WorkShop, and Forte are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. The OPEN LOOK and Sun™ Graphical User Interface was developed by Sun Microsystems, Inc.
    [Show full text]
  • Using and Porting the GNU Compiler Collection
    Using and Porting the GNU Compiler Collection Richard M. Stallman Last updated 28 July 1999 for gcc-2.95 Copyright c 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1998, 1999 Free Software Foundation, Inc. For GCC Version 2.95 Published by the Free Software Foundation 59 Temple Place - Suite 330 Boston, MA 02111-1307, USA Last printed April, 1998. Printed copies are available for $50 each. ISBN 1-882114-37-X Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the sections entitled \GNU General Public License" and \Funding for Free Software" are included exactly as in the original, and provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another lan- guage, under the above conditions for modified versions, except that the sections entitled \GNU General Public License" and \Funding for Free Software", and this permission no- tice, may be included in translations approved by the Free Software Foundation instead of in the original English. Chapter 1: Compile C, C++, Objective C, or Fortran 1 1 Compile C, C++, Objective C, or Fortran The C, C++, and Objective C, and Fortran versions of the compiler are integrated; this is why we use the name \GNU Compiler Collection". GCC can compile programs written in C, C++, Objective C, or Fortran.
    [Show full text]
  • How Java's Floating-Point Hurts Everyone Everywhere
    How Java’s Floating-Point Hurts Everyone Everywhere How Java’s Floating-Point Hurts Everyone Everywhere by Prof. W. Kahan and Joseph D. Darcy Elect. Eng. & Computer Science Univ. of Calif. @ Berkeley Originally presented 1 March 1998 at the invitation of the ACM 1998 Workshop on Java for High–Performance Network Computing held at Stanford University http://www.cs.ucsb.edu/conferences/java98 This document: http://www.cs.berkeley.edu/~wkahan/JAVAhurt.pdf or http://www.cs.berkeley.edu/~darcy/JAVAhurt.pdf July 30, 2004 6:28 pm Work in Progress — Subject to Supersession Page 1 How Java’s Floating-Point Hurts Everyone Everywhere Pages Topics 3 Abstract 4 - 9 Overview: Java has evolved to target markets to which its initial design decisions are ill-suited. 10 Pure Java’s Two Cruel Delusions, promises Java cannot keep 11 - 15 Example: Complex Arithmetic Classes; should misplotted fluid flows be exactly reproducible? 16 Example: Faster Matrix Multiply too valuable to forego for unneeded exact reproducibility 17 - 18 Self-Discipline, Reproducibility, Controllability 19 Java purports to fix what ain’t broken in Floating-point 20 - 24 Exceptions; Algebraical Completion; lack of Flags makes Java’s Floating-Point Dangerous 25 - 26 Misconceptions about Floating-point 27 - 30 Example: Disassociate “Catastrophic” from “Cancellation”; Computation as a Web 31 An old Rule of Thumb is wrong because of misconceptions about Precision and Accuracy 32 - 35 Why so many still believe this wrong rule of thumb; another counter-example 36 - 41 What’s wrong with it
    [Show full text]
  • ARM ASSEMBLY LANGUAGE Hohl Hinds EDITION Fundamentals and Techniques SECOND 0 0 0 0 9 1
    Computer Science and Engineering Hohl Hinds ARM ASSEMBLY ARM ASSEMBLY “Assembly language programming is still the best way to learn about the internals of processors and this is one of a very few books that teaches that skill for ARM® processors. It covers the necessary material in a well-organized manner. Updated for newer versions of ARM processors, it adds good material on floating-point arithmetic that was missing from the first edition.” —Ronald W. Mehler, California State University, Northridge, USA “This text retains the ease of using the ARM7TDMI while moving the Fundamentals and Techniques student [or reader] into the more capable Cortex-M4. …The addition of the Cortex-M4 makes this a much stronger text.” —Ralph Tanner, Western Michigan University, Kalamazoo, USA Delivering a solid introduction to assembly language and embedded systems, ARM Assembly Language: Fundamentals and Techniques, Second Edition continues to support the popular ARM7TDMI, but also addresses the latest architectures from ARM, including Cortex™-A, Cortex-R, and Cortex-M processors—all of which have slightly different instruction sets, programmer’s models, and exception handling. Featuring three brand-new chapters, a new appendix, and expanded coverage of the ARM7™, this edition: LANGUAGE • Discusses IEEE 754 floating-point arithmetic and explains how to program with the IEEE standard notation • Contains step-by-step directions for the use of Keil™ MDK-ARM and Texas Instruments (TI) Code Composer Studio™ • Provides a resource to be used alongside a variety of hardware evaluation modules, such as TI’s Tiva Launchpad, STMicroelectronics’ iNemo and Discovery, and NXP Semiconductors’ Xplorer boards Written by experienced ARM processor designers, ARM Assembly Language: Fundamentals and Techniques, Second Edition covers the topics essential to writing meaningful assembly programs, making it an ideal textbook and professional reference.
    [Show full text]
  • MEASUREMENT I -R Bdp COMPUTATION ,,, Product Advances from Hewlettapackard
    - MEASUREMENT I -r bdP COMPUTATION ,,, product advances from HewlettaPackard New modular workstations let you design your own computer The new HP 9600 S&es 300 Cmputers are modular tech- or I/0 interfaces, audio output, and video output for the nical wWtimr that -Lw oonfiwto meet pour chang- 12-inch monochrome display. It also features a battery-backed ins lzushe nmds while probethg the investment you've real-time clock. The four-slot accessory card cage accepts all made in othcj W pradum. The Series 300 leks yon choose HP 9000 Series 200 RAM and I/0 cards. That means you can spbm pmcetxting units, &play options, system operating upgrade to Series 300 computational performance and still hnguages, appucations ~bfW;are,peripherals, and instru- preserve the investments you may already have in Series 200 @ ments. AII are mmpatiue. equipment. Tmo tIkystem prtmmsing unm The Model 320, with the Motorola 68020 processor, is the foundation for a high-performance system for data-intensive The PA& 310 is kased on the 1QhEh Motomla 68010 applications. This 32-bit CPU operates at 16.6 MHz with a CPU..It includes Milt-in 51ZK-byte or 1M-byte RAM, HP-IB 16K-byte cache and a Motorola 68881 floating-point math co- (IEEE a),JB-231-W.14 and HOP-HIL [HPHuman Interface processor. I bop) inte-s, four ameso@y slats for additional mermry (contrnued on page 8) Vector film recorder can produce 35-mm color slides, instant slides, and prints You can make very high-resolution 35-mm color slides for The new film recorder is compatible with a wide variety business and technical presentations with the new HP 7510 of computers.
    [Show full text]
  • IBM, Lockheed and Dassault Systemes
    Chapter 13 IBM, Lockheed and Dassault Systèmes Introduction This is probably the most complicated chapter in this book in that it involves a number of different companies involved in an overlapping manner over several decades with multiple different products. It does not follow a strictly chronological format very well. Therefore, I have chosen to cover some of the following subjects over longer timeframes rather the chop them up into time-dependent chunks. Also, this is really the story of CADAM and CATIA and not of IBM per se. As a consequence, I have kept the discussion of IBM to the minimum required to put what occurred with these software products into context. Finally, although Dassault Systèmes acquired SolidWorks in 1997, that company and its products are discussed separately in Chapter 18. Lockheed’s early development of CADAM CADAM (Computer-graphics Augmented Design and Manufacturing) began as an internal mainframe application referred to as “Project Design” within Lockheed’s Burbank, California operation in 1965. It was initially implemented on IBM 360 computers using IBM’s 2250 graphics display terminals. From the start, a primary objective was to minimize response time. Working with IBM, the two companies determined that optimum productivity would be achieved if the response time for individual operations could be kept under 0.5 seconds. This was typically accomplished with CADAM although some critics claim that it was done by implementing commands that individually did less than what other systems accomplished with each command. According to these critics, the result was that it took more steps to accomplish a given set of tasks with CADAM than with competitive systems.
    [Show full text]
  • Macintosh II - Wikipedia, the Free Encyclopedia File:///C:/Documents%20And%20Settings/Max/My%20Documents/My%
    Macintosh II - Wikipedia, the free encyclopedia file:///C:/Documents%20and%20Settings/Max/My%20Documents/My%... From Wikipedia, the free encyclopedia The Apple Macintosh II was the first personal computer Macintosh II model of the Macintosh II series in the Apple Macintosh line. (Not to be confused with the Apple II series of non-Macintosh computers.) Introduced in March, 1987 and retailing for US $5,498 [1], the Macintosh II was the first "modular" Macintosh model, so called because it came in a horizontal desktop case like many PCs of the time. All previous Macintosh computers used an all-in-one design with a built-in black-and-white CRT. The Macintosh II introduced space for an internal hard disk (originally 20 MB or 40 MB) and an optional second floppy Release date March 2, 1987 disk drive. It also was the first Macintosh computer, simultaneously with the Macintosh SE, to use the Apple Introductory 5500 Desktop Bus (ADB), introduced with the Apple IIGS, for price keyboard and mouse interface. Discontinued January 15, 1990 The primary improvement in the Mac II was Color Operating 3.3– 6.0.8, 7.0-7.5.5 or with QuickDraw in ROM, a color version of the graphics language system 68030 32-bit upgrade Mac OS which was the heart of the machine. Among the many 7.6.1 innovations in Color QuickDraw were an ability to handle CPU Motorola 68020 @ 16 MHz any display size, any color depth, and multiple monitors. The Mac II was the first personal computer which could display Memory 1 MB, expandable to 20 MB (68 true color 24-bit photorealistic images[citation needed].
    [Show full text]
  • 68000 MICROPROCESSOR Also by the Author from TAB BOOKS Inc
    MASTERING THE 68000 MICROPROCESSOR Also by the Author from TAB BOOKS Inc. 1656 The Programming Guide to the Z80™ Chip MASTERING THE MICROPROCESSOR PHILLIP R. ROBINSON FIRST EDITION FIRST PRINTING Copyright © 1985 by TAB BOOKS Inc. Printed in the United States of America Reproduction or publication of the content in any manner, without express permission of the publisher, is prohibited. No liability is assumed with respect to the use of the information herein. Library of Congress Cataloging in Publication Data Robinson, Phillip R. Mastering the 68000 microprocessor. On t.p. the registered trademark symbol "TM" is superscript following "6800" in the title. Includes index. 1. Motorola 68000 (Microprocessor) I. Title. QA76.8.M6895R63 1985 001.64 85-4666 ISBN 0-8306-0886-9 ISBN 0-8306-1886-4 (pbk.) MC68000 is a trademark of Motorola Inc. Contents Preface ix Acknowledgments xi Introduction xv 1 Why Bother About Microprocessors? 1 Power and Popularity 1 Standardization Versus Specialization 3 Cost and Yield 3 Intel's Breakthrough 4 Microprocessor Evolution 5 Microprocessors and Microcomputers 6 Software Versus Hardware 7 Compatibility and Chip Families 7 2 Architecture 9 History and Design Philosophy 9 68000 History-Power Versus Compatibility 8, 16, or 32 Bits 11 Buses 13 Data Bus-Address Bus-Control Bus Registers 15 General Purpose-Special Purpose Arithmetic LogiC Unit 17 Decoder 17 Prefetch Queue 19 Addressing Modes 20 Data Types 20 Instructions 20 Operating Modes 20 Speed 21 Interrupts and Exceptions 22 3 Registers 23 Register Advantages 23
    [Show full text]