Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 1 主讲:王忠民.

Slides:



Advertisements
Similar presentations
计算机系 信息处理实验室 Understanding the Inside of Microsoft Windows Spring 陈香兰.
Advertisements

The Assembly Language Level
The Intel Microprocessors. --from 8086 to Pentium
CS 345 Computer System Overview
Introduction to Microprocessor Design and Implementation Zhou Jianyang Electronic Engineering Department jyzhou.3322.org TextBook:Computer.
嵌入式操作系统 陈香兰 助教:王振明 Spring 2006.
Lecturer: Mu Lingling (穆玲玲)
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
嵌入式操作系统 陈香兰 助教:毛熠璐、吴昊 Spring 2008.
Introduction to Computers and Programming. Some definitions Algorithm: –A procedure for solving a problem –A sequence of discrete steps that defines such.
安全操作系统 中国科学技术大学计算机系 陈香兰( 0512 - ) 助教:裴建国 Autumn 2008.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
信息利用与学术论文写作 Library of Jiangsu University, Zhenjiang Sha Zhenjiang
UML 对象设计与编程 主 讲 : 董兰芳 副教授 Dept. of Computer Science,USTC
嵌入式操作系统 陈香兰 助教:王振明 Spring 2007.
How to build your own computer And why it will save you time and money.
1 Input/Output Chapter 3 TOPICS Principles of I/O hardware Principles of I/O software I/O software layers Disks Clocks Reference: Operating Systems Design.
1 地 理 信 息 系 统 —— 专业必修课程 西南大学地理科学学院 田永中 ,
College of Computer Science & Technology Compiler Construction Principles & Implementation Techniques -1- Self Introduction Ying JIN ( 金英 ) , PhD, Associate.
SM3121 Software Technology Mark Green School of Creative Media.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
高级数据结构和算法分析 Advanced Data Structures and Algorithm Analysis 主讲教师: 陈 越 Instructor: CHEN, YUE Courseware and homework sets.
1 CHAPTER 4 LANGUAGE/SOFTWARE Hardware Hardware is the machine itself and its various individual equipment. It includes all mechanical, electronic.
CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#1) By Dr. Syed Noman.
Ch1 Windows CE Introduction Jianjian SONG Software Institute, Nanjing University May, 2005.
1 Chapter-01 Introduction to Computers and C++ Programming.
1 Input/Output. 2 Principles of I/O Hardware Some typical device, network, and data base rates.
Course Introduction C++ An Introduction to Computing.
1 Layers of Computer Science, ISA and uArch Alexander Titov 20 September 2014.
Slide 1 System Software Software The term that we use for all the programs and data that we use with a computer system. Two types of software: Program.
Unit 1 – Improving Productivity Louis Price Instructions ~ 100 words per box.
Chapter 9 Database Management Discovering Computers Fundamental.
RjpSystem Level Programming Operating Systems 1 Having fun withy the Unix Operating System Praxis Week 7 Rob Pooley.
1 Welcome to CS 362 Applied Software Engineering What happens after (and during) design? Testing, debugging, maintaining programs Lessons for software.
Week 1 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
Delivering the System 中国科学技术大学软件学院 孟宁 2012 年 11 月.
Molecular biology. 讲 授:李有志 研究员 授课对象:生物技术专业本科 年 级: 2007 级 课 时 数: 54 教学方式:多媒体双语教学.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Robert Crawford, MBA West Middle School.  Explain how the binary system is used by computers.  Describe how software is written and translated  Summarize.
Microcomputer Principle and Interface Technology - Introduction 计算机学院 李征 Tel : : OICQ:
LOADING L O AD I BOOK I UNIT3 HEALTH EATING HABITS.
CS 3500 L Performance l Code Complete 2 – Chapters 25/26 and Chapter 7 of K&P l Compare today to 44 years ago – The Burroughs B1700 – circa 1974.
COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGE Lecture 19 & 20 Instruction Formats PDP-8,PDP-10,PDP-11 & VAX Course Instructor: Engr. Aisha Danish.
Beginning Snapshots Chapter 0. C++ An Introduction to Computing, 3rd ed. 2 Objectives Give an overview of computer science Show its breadth Provide context.
1 Software. 2 What is software ► Software is the term that we use for all the programs and data on a computer system. ► Two types of software ► Program.
© GCSE Computing Computing Hardware Starter. Creating a spreadsheet to demonstrate the size of memory. 1 byte = 1 character or about 1 pixel of information.
计算机专业英语. 一、 Vocabulary( 词汇 ) (一) Translate the following words and expressions into Chinese 。 ( 写出下列词组的汉语。) 1.central processing unit ( CPU ) 2.title.
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
GamblingGambling What are the odds? Jessica Judd.
森林保护学本科系列课程 教学改革与实践 西北农林科技大学 一、基本情况 二、主要成果 三、创新点 四、成果的应用 项目研究背景 项目的总体设计 成果简介 解决的主要教学问题 解决教学问题的方法 改革前后的对比.
课程简介 算法设计与分析 ( Design and Analysis of Algorithms) 任课教师 : 王轶彤 Tel: TA: 周泽学 授课方式 : 全英文教学, 3.
Reduced Instruction Set Computing Ammi Blankrot April 26, 2011 (RISC)
1. 利用图形化开发环境 LabVIEW 对 Xilinx Spartan3E 进行编程 汤敏 NI 高校市场部.
CHAPTER SIX Read the poem ‘Some days’ on page 72 again. Then rewrite it in a cheerful way. You may begin your poem like this: 2-1 I found it interesting,
Midterm OPERATING SYSTEM. Objectives At the end of the course, the student should be able to: Define the operating system; Demonstrate the abstract view.
2016年3月16日星期三 2016年3月16日星期三 2016年3月16日星期三 涂湘东 1 美术学科与教学论.
Instructor: Chris Trenkov Hands-on Course Python for Absolute Beginners (Spring 2015) Class #003 (February 14, 2015)
Chapter 6 Limited Direct Execution Chien-Chung Shen CIS/UD
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Introduction to Programming By: Prof. Muhammad Abu Baker Siddique 2 nd Lecture 1.
System is a set of interacting or interdependent components forming an integrated whole.
Unit 1 What is CNC 数控概念.
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
CSCI/CMPE 3334 Systems Programming
Objective of This Course
Operating Systems Chapter 5: Input/Output Management
Chapter One: An Introduction to Programming and Visual Basic
Course Webpage:swjx.scu.edu.cn/moodle
Reasons To Study Programming Languages
Presentation transcript:

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 1 主讲:王忠民 微机原理与接口技术 Principles of Microcomputer & Interface Techniques Bilingual Course(50%)

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2 Principles of Microcomputers Wang Zhongmin

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 3 Chapter One Introduction of Microcomputer system (1)

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 4 Suggested Textbooks and other course materials Randy Hyde , The Art of Assembly Language Programming , Sep Wang Zhongmin, Principles of Microcomputers, XIPT,2005 Wang Zhongmin, Wang Yu, Wang Xiaojie, Principles of Microcomputers, XIDIAN press House,2003( 中文教材 ) Wang YU, Wang Jinsong, Xing Gaofeng, Guidelines for the study and experiment to the Principles of Microcomputer. XIDIAN Press House,2004( 中文实验指导书 )

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 5 原版教材情况 The Art of Assembly Language Programming Published 32-bit edition both for Windows and Linux 32-bit electronic edition for Windows 32-bit electronic edition for Linux 16-bit electronic edition for DOS 清华大学出版社有该书的影印本,取名:汇编语言艺术, 2005 年 3 月出版, 888 页,定价 88 元 Authour: Randy Hyde Department of Computer Science University of California Homepage:

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 6 Department of Computer Science at the University of California for assembly language study

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 7

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 8

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 9 Which Edition is for Me? The Art of Assembly Language Programming is available in four editions: a published edition that handles both Windows and Linux, a 32-bit electronic edition for Windows, a 32-bit electronic edition for Linux, and a 16-bit electronic edition for DOS. Most PC owners will want to read the published edition as it covers both OSes in a generic fashion. The Windows and Linux on-line electronic editions are great for quick reference when the book is not available. Most readers should avoid the DOS edition since DOS is essentially obsolete at this point. Unless you're taking a course or have a special need to write some DOS software, there is little reason to waste time learning about various DOS calls, segmentation, and other features that you'll never use under Windows or Linux. The published edition has been professionally proofread and edited. Those wanting an edition with the fewest mistakes in an easy to read format should grab a copy of "The Art of Assembly" from their local bookstore.

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 10

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 11

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 12 王忠民 主编 王忠民 王钰 王晓婕 编著 面 向 21 世 纪高等学校计算机类专业系列教材 西安电子科技大学出版社 微型计算机原理 Principles of Microcomputers

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 13 “Principle of Microcomputer” 自编英文教材,西安邮电学院印制 2005 年

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 14 “ 《微型计算机原理》学习与实验指导 ” 王钰等编写 西安电子科技大学出版社, 2004 本课程教学辅助网站提供的 “ 实验 CAI 课件 ”

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 15 why you want to learn this course? Maybe there are some reasons as following Your major requires a course in assembly language; i.e., you’re here against your will. A programmer where you work quit. Most of the source code left behind was written in assembly language and you were elected to maintain it. Your boss has the audacity to insist that you write your code in assembly against your strongest wishes. Your programs run just a little too slow, or are a little too large and you think assembly language might help you get your project under control. You want to understand how computers actually work. You’re interested in learning how to write efficient code. You want to try something new.

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 16 What’s Wrong With Assembly Language Assembly language has a pretty bad reputation. The common impression about assembly language programmers today is that they are all hackers or misguided individuals who need enlightenment. Here are the reasons people give for not using assembly language Assembly is hard to learn. Assembly is hard to read and understand. Assembly is hard to debug. Assembly is hard to maintain. Assembly is hard to write. Assembly language programming is time consuming. Improved compiler technology has eliminated the need for assembly language. Today, machines are so fast that we no longer need to use assembly. If you need more speed, you should use a better algorithm rather than switch to assembly language. Machines have so much memory today, saving space using assembly is not important. Assembly language is not portable.

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 17 What’s Right With Assembly Language? An old joke goes something like this: “There are three reasons for using assembly language: speed, speed, and more speed.” Even those who absolutely hate assembly language will admit that if speed is your primary concern, assembly language is the way to go. Assembly language has several benefits: Speed. Assembly language programs are generally the fastest programs around. Space. Assembly language programs are often the smallest. Capability. You can do things in assembly which are difficult or impossible in HLLs. Knowledge. Your knowledge of assembly language will help you write better programs, even when using HLLs.

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 18 Speed Assembly language is the uncontested speed champion among programming languages. An expert assembly language programmer will almost always produce a faster program than an expert C programmer. While certain programs may not benefit much from implementation in assembly, you can speed up many programs by a factor of five or ten over their HLL counterparts by careful coding in assembly language; even greater improvement is possible if you’re not using an optimizing compiler. Alas, speedups on the order of five to ten times are generally not achieved by beginning assembly language programmers. However, if you spend the time to learn assembly language really well, you too can achieve these impressive performance gains.

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 19 space Despite some people’s claims that programmers no longer have to worry about memory constraints, there are many programmers who need to write smaller programs. Assembly language programs are often less than one-half the size of comparable HLL programs. Saving space saves money. Pure and simple. If a program requires 1.5 megabytes, it will not fit on a 1.44 Mbyte floppy. Most users put more large memory in their machines so they can run multiple programs at one time. The bigger a program is, the fewer applications will be able to coexist in memory with it. Virtual memory isn’t a particularly attractive solution either. With virtual memory, the bigger an application is, the slower the system will run as a result of that program’s size.

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 20 Capability Capability is another reason people resort to assembly language. HLLs are an abstraction of a typical machine architecture. They are designed to be independent of the particular machine architecture. As a result, they rarely take into account any special features of the machine. If you want to use such features, you will need to use assembly language. A really good example is the input/output instructions available on the 80x86 microprocessors. These instructions let you directly access certain I/O devices on the computer. In general, such access is not part of any high level language. In assembly language you have no such restrictions. Anything you can do on the machine you can do in assembly language. This is definitely not the case with most HLLs.

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 21 knowledge Now some of you may be thinking, “Gee, that would be wonderful, but I’ve got lots to do. My time would be better spent writing code than learning assembly language.” There are some practical reasons for learning assembly, even if you never intend to write a single line of assembly code. If you know assembly language well, you’ll have an appreciation for the compiler, and you’ll know exactly what the compiler is doing with all those HLL statements. Good assembly language programmers make better HLL programmers because they understand the limitations of the compiler and they know what it’s doing with their code. Those who don’t know assembly language will accept the poor performance their compiler produces and simply shrug it off.

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 22 Work hard on the assembly studying—you will get as much as you can imagine from it Yes, assembly language is definitely worth the effort. The only scary thing is that once you learn it really well, you’ll probably start using it far more than you ever dreamed you would. That is a common malady among assembly language programmers. Seems they can’t stand what the compilers are doing with their programs.

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 23 Table of the contents Section One: Machine Organization Chapter One Data Representation. Chapter Two Boolean Algebra Chapter Three System Organization Chapter Four Memory Layout and Access Section Two: Basic Assembly Language Chapter Five Variables and Data Structures Chapter Six The 80x86 Instruction Set Chapter Seven The UCR Standard Library Chapter Eight MASM: Directives & Pseudo-Opcodes Chapter Nine Arithmetic and Logical Operations Chapter 10 Control Structures Chapter 11 Procedures and Functions

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 24 Table of the contents Section Three: Intermediate Level Assembly Language Programming Chapter 12 Procedures: Advanced Topics Chapter 13 MS-DOS, PC-BIOS, and File I/O Chapter 14 Floating Point Arithmetic Chapter 15 Strings and Character Sets Chapter 16 Pattern Matching Section Four: Advanced Assembly Language Programming Chapter 17 Interrupts, Traps, and Exceptions Chapter 18 Resident Programs Chapter 19 Processes, Coroutines, and Concurrency

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 25 Table of the contents Section Five: The PC’s I/O Ports Chapter 20 The PC Keyboard Chapter 21 The PC Parallel Ports Chapter 22 The PC Serial Ports Chapter 23 The PC Video Display Chapter 24 The PC Game Adapter Section Six: Optimization Chapter 25 Optimizing Your Programs Section Seven: Appendixes

Chapter One-- Introduction of Microcomputer System Principles of Microcomputers 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 2015年8月30日 26 本章应补充内容 冯. 诺依曼计算机体系结构的基本思想 计算机五大组成部分 总线的概念 计算机的基本工作过程 详见 “ 中文 2”