第1章-导论与概论_第1页
第1章-导论与概论_第2页
第1章-导论与概论_第3页
第1章-导论与概论_第4页
第1章-导论与概论_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机与单片机原理导论一、电子计算机的发展

1946年2月,由美国宾夕法尼大学莫尔学院的物理学博士莫克利和电气工程师埃克特领导的研制小组,研制成功了世界上第一台数字式电子计算机ENIAC。这台计算机使用了约18000个电子管、1500个继电器、耗电量达150KW,占地面积167m2,重量约30t,计算速度每秒5000次,采用字长10位的十进制计算方式,编程通过接插件进行。

导论一、电子计算机的发展

1944年,著名的数学家冯·诺依曼提出了采用二进制、存储程序,并在程序控制下自动执行的思想。按照这一思想,新机器由运算、控制、存储、输入、输出等五个部件构成,这种模式的计算机称为冯·诺依曼机。时至今日,电子计算机的发展已经经历了五代,虽然在技术上不断发展和完善,但基于冯·诺依曼机的基本结构仍然未有大的变化。

导论一、电子计算机的发展第一代(1946~1957),以电子管为逻辑部件,以阴极射线管、磁芯和磁鼓等为存储器。软件上采用机器语言,后期采用汇编语言。第二代(1958~1965),以晶体管为逻辑部件,内存用磁芯、外存用磁盘。软件上广泛采用高级语言,并出现了早期的操作系统。第三代(1966~1979),以中小规模集成电路为主要部件,内存用磁芯、半导体,外存用磁盘。软件上广泛使用操作系统,产生了分时、实时操作系统和计算机网络。导论一、电子计算机的发展第四代(1980~1993),以大规模、超大规模集成电路为主要部件,以半导体存储器和磁盘为内、外存储器。在软件方法上产生了结构化程序设计和面向对象程序设计的思想。第五代(1994~至今),以甚大规模集成电路为主要部件,以半导体存储器和磁盘为内、外存储器。在软件方法上,占支配地位的语言变为C++、Java、HTML和XML。此外,基于建模语言(UML)的图形设计语言开始出现。导论二、微处理器的发展阶段

第一阶段(1971~1973年):1971年Intel公司推出了世界上第一款微处理器Intel4004,这是第一个可用于微型计算机的4

位微处理器,它集成了2300只晶体管,成为第一代微处理器。第二阶段(1973~1977年):1971年Intel公司从8008发展成Intel8080,成为真正意义上的8

位微处理器。8080采用NM0S工艺,集成度约9000只晶体管,平均指令执行时间为1~2μs,很快作为代替电子逻辑电路的器件被广泛应用于各种电子设备中,成为早期嵌入式系统的核心部件。第二阶段中还有代表性的机型:

Zilog公司的增强型Z80,Motorola的M6800导论二、微处理器的发展阶段

第三阶段(1978~1983年):1978年,Intel公司推出了第一个16位微处理器,即著名的8086。它的最高主频为10MHz,16位字长,内存寻址能力为1MB。很快,Zilog和Motorola公司也宣布计划生产16位微处理器Z8000和M68000。从此以后微处理器进入了群雄逐鹿的时代。

第四阶段(1983~2003年):Intel公司相继推出了32位微处理器80386、80486系列、Pentium系列。以及AMD公司的K5、K6、K7(Athlon)等系列微处理器,主频达到1GHz主频。导论二、微处理器的发展阶段第五阶段(1993年~至今):2003年4月,AMD公司的64处理器Opteron、K8问世,宣告了64位微处理器时代的到来。2005年Intel和AMD先后发布了自己的双核处理器——PentiumD和Athlon64X2,宣告微处理器双核时代的来临。

现在,这些高性能的微处理器被广泛应用于各种领域,诸如:大中型计算机、通用个人计算机(PC机)、测控领域专用计算机和普通嵌入式系统。

导论三、嵌入式处理器的发展

微型计算机是伴随微处理器的诞生而出现的。但随着半导体技术的迅猛发展,它很快进入了两大分支:通用计算机系统和嵌入式计算机系统。通用计算机系统用于高速数值计算和海量数据处理。嵌入式计算机系统则面向工控领域,嵌入到各种控制应用系统、各类电子系统和电子产品中。

导论三、嵌入式处理器的发展

由于应用对象对低功耗、小体积、高可靠性的苛刻要求,现在市场上的嵌入式处理器实际上都是一个单片微型计算机,广泛应用在制造工业、过程控制、通信、仪器、汽车、船舶、航空航天、军事装备和消费类产品等方面,在应用数量上远远超过了各种通用微处理器。

作为以硬件技术为基础,以电子系统设备的设计为目标的信通类的学生来说,掌握嵌入式处理器的应用技术是非常重要的。导论三、嵌入式处理器的发展

1976年Intel公司首先推出真正能称为单片机的MCS-48系列单片微型计算机。它以体积小、功能全、价格低等特点,赢得了广泛的应用。在MCS-48成功的刺激下,许多半导体公司和计算机公司争相研制和发展自己的单片机系列。在短短的十几年间,经历了四次更新换代,其发展速度大约每二、三年要更新一代,集成度增加一倍,功能翻一番。发展速度之快,应用范围之广达到了惊人的地步。单片机已渗透到生产和生活的各个领域,可谓无所不在。导论三、嵌入式处理器的发展

80C51是单片机中的经典和标准产品,具有品种全、性价比高,兼容性强、软硬件资料丰富等特点,因此时至今日,在国内的应用仍非常广泛。近年来,受IT技术发展的推动,ARM处理器(32位单片机)在全球范围内流行,已经开始成为高中端嵌入式应用和设计的主流。32位ARM体系结构已经成为一种事实上的标准。第一章计算机系统概论本章学习要点:计算机硬件的概念及结构计算机软件的概念及分类计算机的体系结构计算机的层次结构计算机基本工作原理§1.1计算机硬件

计算机的功能从根本上说就是能够接收信息,根据事先编好的程序对信息进行处理,并给出处理的结果。信息是复杂的,但不论多么复杂,都是靠计算机的基本部件协作完成的,这些部件有运算器、控制器、存储器、输入设备和输出设备。由主存储器流向控制器的信息流称为指令流

由主存储器流向运算器或由运算器流向主存储器的信息流称为数据流

控制器依据指令发出的控制信号,称为控制流§1.2

计算机软件1.2.1软件的组成与分类计算机中的程序、数据和文档称为计算机软件。计算机软件一般分为系统软件和应用软件两类。如图1-2所示。系统软件是方便用户使用计算机,发挥计算机效率、功能的基础软件。它负责计算机系统的调度管理,提供程序的运行环境和开发环境,并且向用户提供各种服务。应用软件是用各种程序设计语言编写出来的具有特定功能的程序。§1.2

计算机软件1.2.2计算机语言

1、机器语言机器语言是计算机硬件能够直接识别和执行的以二进制代码表示的机器指令,是面向机器的。每一种机器语言编写的程序只适用于某种特定类型的计算机。由于计算机能直接识别和执行机器语言程序,故机器语言程序又称为目标程序,显然用机器语言编写的程序实现路径最直接,执行起来是最快的。用机器语言编写程序既烦琐,又容易出错,还要求程序编写者深入理解计算机硬件结构。因此,在计算机发展过程中,逐步出现了汇编语言和各种高级的程序设计语言,以帮助人们更有效、更方便地编写程序。§1.2

计算机软件1.2.2计算机语言

2、汇编语言汇编语言是一种与计算机机器语言相当接近的符号语言。它采用助记符来表示机器指令的操作码。采用符号地址指示程序存放在存储器中的位置及跳转关系,并增加一些控制程序执行和便于表示数据及其存放的命令(伪指令),以方便人们编写程序。汇编语言与机器语言一样,也是一种面向机器的语言。用汇编语言编写的程序称为汇编语言源程序。计算机不能直接识别和执行汇编语言源程序,需要通过称为汇编程序的一种语言处理程序加以处理。得到机器指令形式的目标程序,计算机才能识别和执行。将汇编语言的源程序编译成机器语言的目标程序的过程,称为“汇编”。§1.2计算机软件1.2.2

计算机语言

3、高级语言高级语言克服了机器语言和汇编语言依赖于具体计算机的缺陷,使计算机语言成为描述各种问题求解过程的算法语言。并从过程化语言发展为现代广泛应用的面向对象的语言。用某种高级语言编写的程序称为高级语言源程序,如C++语言源程序、PASCAL语言源程序等。计算机不能直接执行高级语言源程序,用高级语言编写的源程序在输入计算机后,通过“翻译程序”翻译成机器语言,这样计算机才能识别和执行。

§1.2计算机软件1.2.2计算机语言

4、高级语言“翻译”通常有两种方式,即编译方式和解释方式。

编译方式是指利用事先编好的一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户将高级语言编写的源程序输入计算机后,编译程序便把源程序翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算,并取得结果。

解释方式是指源程序进入计算机后,由一个叫解释程序的处理程序边扫描边解释,逐句输入逐句翻译,计算机再逐句执行,并不产生目标程序。§1.2计算机软件

1.2.3指令集结构

指令是机器语言的词汇,指令集就是机器语言的的辞海。为提高计算机系统的性价比,设计指令集结构时有两种不同的优化策略。计算机系统设计师把指令集分成两大类,将处理器分为复杂指令计算机(ComplexInstructionSetComputer,CISC)和精简指令集计算机(ReducedInstructionSetComputer,RISC)。§1.2计算机软件1.2.3指令集结构

CISC的世纪思想和特点

CISC的思想是让每一条指令完成尽可能多的任务,其结果导致了CISC机的多种操作数寻址模式。更重要的是,在CISC机的设计中,每条指令所带的操作数数目及其存放的地点都是任意的。这种设计的结果是指令长短不一,指令执行时间也相差悬殊。

优点:减少对存储器的存取操作,也就减少存储器存取速度慢带来的影响,并使一条指令实现一个复杂的处理,如:求一个函数值。§1.2计算机软件1.2.3指令集结构RISC的设计思想及特点

RISC的设计思想是尽量降低指令的数量和复杂性,力求每条指令只执行一个基本计算,从而得到一个最小化的指令集。为了达到可能的最高速度,RISC指令被设计为固定长度,并在一个时钟周期内执行一条命令。同时,RISC机的设计充分利用了高速缓存、提前读取、流水线操作和超标量运算等手段,有效地提高了计算机的性能。缺点:由于指令简单,RISC的性能更依赖于编译程序(针对高级语言)的有效性,如果没有一个很好的编译程序,RISC结构的潜在优势就无法发挥。§1.3计算机系统的体系结构

一、冯•诺依曼结构冯•诺依曼型计算机以存储程序原理为基础,指令与数据混合存储。程序执行时,CPU在程序计数器的指引下,顺序地读取下一条指令和数据,这就注定了其本质特点是串行性,表现在两个方面:指令执行的串行性和存储器读取的串行性。§1.3计算机系统的体系结构

二、哈佛结构

如图所示,哈佛体系结构的特点如下:程序存储器与数据存储器分开;提供了较大的存储器带宽;适合于数字信号处理;大多数DSP都是哈佛结构;单位时间内存储器所存取的信息量,是体现数据传输速率的技术指标(bit/s、byte/s)§1.4

计算机系统的层次结构

计算机系统以硬件为基础,通过配置各种软件,形成一个有机组合的系统。使用计算机帮助我们解决问题的方法从控制流程的角度看可分为三种:全硬件的方法,即使用组合、时序逻辑设计方法,设计硬件逻辑电路,实现控制流程;软、硬件相结合的方法,即部分流程由硬件逻辑实现,另一部分由微程序实现;全软件的方法,即采用某种计算机语言,按流程算法编制程序,实现控制流程。§1.4

计算机系统的层次结构

用一种层次结构的观点分析计算机,计算机系统按功能划分的层次结构如下图所示。没有加载任何软件之前是一台最基本的物理机,按照功能实现划分成不可再分的三个实际机器层次。

M3~M6为虚拟机器层,它的功能体现在广义的计算机语言上。从某一层次的观察者看来,它只能是通过该层次的语言来了解和使用计算机,至于对实际问题在较低层次上的具体解决和实现是不必关心的§1.4

计算机系统的层次结构

操作系统的主要功能有:处理器管理功能,即为一个或多个用户合理、有效地分配CPU;存储管理功能,即合理组织和分配存储空间(包括主存和辅存);数据管理功能,即合理组织信息在辅助存储器上的存储和检索;设备管理功能,即合理组织和使用I/O设备;作业管理功能,即合理组织和调度作业的运行;系统的安全和保护功能,即为保护系统正常运行,减少和避免由各种操作错误及设备故障引起的问题所采取的防范措施。§1.5计算机的基本工作原理1.5.1存储程序工作原理

事先编制程序,并将程序(包含指令和数据)存入主存储器中,计算机在运行程序时,要能自动、连续地从主存储器中依次取出指令并执行,根据指令所含的控制信息,调用数据进行处理。

为了控制指令序列的执行顺序,设置一个程序计数器(PC),让它存放当前指令所在的存储单元的地址。控制器根据PC的指示,合着时序脉冲的节拍,周期性地从存储器取指、并进行译码和执行。大多数情况下,程序的执行都是顺序的,因此,控制器取指后,

PC自动增1,从而保证能够按照指令的先后顺序执行。如果被执行的指令是一条转移指令,那么这条指令被执行后,其目标地址将装入PC。可见,PC就像一个指针,一直指示着程序的执行进程。

这就是著名的冯•诺依曼机结构,是美国科学家冯•诺依曼(vonNeumann)在1945年领导设计EDVAC计算机的过程中提出的。它奠定了现代计算机的基本结构思想,到目前为止,绝大多数计算机仍沿用这一结构。§1.5计算机的基本工作原理

计算机的工作过程:计算机的工作过程是执行程序的过程。程序是为求解特定问题而设计的指令序列,所以计算机的工作过程就是按照给定次序执行一系列指令的过程。按照存储程序工作原理,执行一条指令可以分为两个阶段进行:

取指令和执行指令

于是计算机的工作过程也就是反复取指和执指的过程。§1.5计算机的基本工作原理

例如,求两个正整数a,b的较大值,即f=max(a,b),其解题步骤如下:①输入a和b这两个数;②执行a赋值给f;③判断,如果b>a,则执行b赋值给f;④输出f;⑤结束。结合汇编语言程序的执行,可以很清楚地看出,冯•诺依曼体系的计算机执行程序的过程。数据a存放在主存300AH单元,数据b存放在主存300BH单元,运算结果f存放在主存300CH单元。

§1.5计算机的基本工作原理

用汇编语言编写的程序如下:单元地址 单元内容 2000H MOVAL,[300AH] 2001H MOVBL,[300BH] 2002H MOV[300CH],AL 2003H CMPBL,AL 2004H JG2006H 2005H HLT 2006H MOV[300CH],BL 2007H HLT 300AH a 300BH b 300CH 存结果f§1.6计算机的性能指标1.运算速度

计算机的运算速度是指计算机每秒钟执行的指令数。通常以MIPS和MFLOPS为计量单位来衡量运算速度。MIPS表示每秒百万次指令。对于给定的程序,MIPS可定义为

MIPS=IN/(TE×10E6) 式中,IN表示指令条数,TE表示程序的执行时间(s)。 MFLOPS表示每秒百万次浮点运算。对于给定的程序,MFLOPS可定义为

MFLOPS=IFN/(TE×10E6)

式中,IFN表示浮点运算指令的条数。 MIPS只适用于衡量标量计算机的性能,MFLOPS则比较适用于衡量向量计算机的性能。

§1.6计算机的性能指标影响运算速度的有如下几个主要因素:主频,也就是CPU的时钟频率或工作频率。主频越高,单位时间所执行的指令数量就会越多,计算机的运算速度自然就越高了。外频,是CPU与外界(存储器、I/O设备)交换数据的频率(系统时钟)。主频再高,如果外频低,整个系统的速度也提不起来。内频与外频具有倍频关系,即

内频=外频×倍频§1.6计算机的性能指标影响运算速度的有如下几个主要因素:存储器存取速度。内存储器完成一次读(取)或写(存)操作所需的时间称为存储器的存取时间或者访问时间。而连续两次读(或写)所需的最短时间称为存储周期。对于半导体存储器来说,存取周期为几十到几百ns(10-9s)。由于访存操作在计算机的工作过程中是必不可少的,因此,存储器存取速度这个因素对计算机速度的影响就非常显著了。I/O的速度。主机I/O的速度取决于I/O总线的设计。这对于慢速设备(如键盘、打印机)关系不大,但对于高速设备则效果十分明显。§1.6计算机的性能指标2.字长一般说来,计算机CPU在同一时刻处理的一组二进制数称为一个计算机的“字”,而这组二进制数的位数就是“字长”。能处理字长为8位数据的CPU通常就叫8位的CPU。同理,32位的CPU就能在单位时间内处理字长为32位的二进制数。很明显,字长意味着计算精度和速度。当然字长位数越多,硬件成本也越高,因为它决定着寄存器、运算部件、数据总线等的位数(它们的位数相同,都是相同字长)。§1.6计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论