使用教材:钱晓捷,16/32位微机原理、汇编语言及接口技术教程机械工业出版社,2011.9ISBN978-7-111-35593-9课程介绍微机原理:8088CPU和IBMPC系列机汇编语言:8088指令和MASM汇编语言接口技术:半导体存储器及其接口I/O接口电路及其与外设连接硬件--接口电路原理软件--接口编程方法参考文献钱晓捷,微型原理与接口技术——基于IA-32处理器和32位汇编语言,北京:机械工业出版社,2008.1钱晓捷,新版汇编语言程序设计,北京:电子工业出版社,2006.12网站资源大学微机技术系列课程教学辅助网站课程特点专业技术基础课硬件系列课程之一•计算机组成原理•微机原理及接口技术•计算机体系结构必修课或指定选修课•以技术为主•面向应用•软硬件相结合区别先修课程数字逻辑•提供硬件基础计算机组成原理•确立计算机部件功能•掌握计算机工作原理高级语言程序设计•熟悉DOS环境程序设计的方法•掌握基本程序设计思想第1章第1章:微型计算机系统概述教学重点微型计算机的系统组成IBMPC系列机的主机板1.1微型计算机的发展微型计算机(Microcomputer)性能适中、价格低廉、体积较小的计算机最常见的计算机现代计算机三大主要应用形式的主角•桌面个人微机(PC机)•服务器•嵌入式计算机系统采用微处理器为核心构造的计算机微处理器、处理器、中央处理单元CPU计算机的运算和控制核心采用一块大规模集成电路芯片构成处理器的基本性能指标字长(Word)处理器每个时间单位处理的二进制数据位数(例如一次进行运算、传输的位数)指示处理器的数据处理能力时钟频率处理器的处理速度反映处理器的基本时间单位集成度芯片上集成的晶体管数量表明处理器的生产工艺水平4、8、16、32、64、128Hz、kHz、MHz、GHz1.1.1通用微处理器4位微处理器1971年,Intel4004,第一个微处理器8位微处理器M6800、Z80和Intel8080/8085Apple公司苹果机16位微处理器Intel8086/808816位个人计算机(PC:PersonalComputer)32位微处理器80386,80486,Pentium~Pentium432位PC机,APPLE公司的Macintosh机64位微处理器IA-64结构:Itanium(安腾)x86结构:AMD的64位处理器、Intel64处理器采用4004的计算器Intel4004性能指标单片机(微控制器,嵌入式控制器,MCU)Intel的MCS-48,MCS-51,MCS-96/98系列爱特梅尔(Atml)公司的AT89系列(与MCS-51兼容),AT91系列(基于ARM内核)MicrochipTechnology公司的PIC系列数字信号处理器(DSP)专注于数字信号的高速处理美国德州仪器TI公司TMS320各代产品主要应用于通信、消费类电子产品和计算机主要应用形式:嵌入式系统1.1.2专用微处理器1.1.3摩尔定律集成电路生产技术推动了计算机的飞速发展摩尔定律(Moore'sLaw)集成电路上晶体管密度每年将翻倍每隔18个月硅片密度(晶体管容量)将翻倍每18个月,集成电路的性能将提高一倍,而其价格将降低一半摩尔定律不会永远持续今后,性能提高更多地得益于计算机系统结构的革新现在,多核处理器使得摩尔定律延续1.2微型计算机的系统组成运算器控制器寄存器组主存储器总线输入输出接口电路外部设备软件微处理器微型计算机微型计算机系统区别3个概念1.2.1冯·诺依曼计算机结构ENIAC冯·诺伊曼冯·诺伊曼计算机的基本思想采用二进制形式表示数据和指令。指令由操作码和地址码组成将程序和数据存放在存储器中,计算机在工作时从存储器取出指令加以执行,自动完成计算任务。这就是“存储程序”和“程序控制”(简称存储程序控制)的概念指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现计算机由存储器、运算器、控制器、输入设备和输出设备五大基本部件组成,并规定了5部分的基本功能1.组成部件5大部件组成控制器、运算器、存储器、输入设备和输出设备3个硬件子系统处理器、存储系统和输入输出系统2.二进制编码计算机采用二进制形式表示数据和指令现实中的一切,计算机中都是0和1数码二进制编码按照一定规律组合的0和1数码不同的信息用不同的数码表示同样的信息也可以用不同的编码规则用不同的数码表示程序、指令、操作码程序用程序设计语言编写,由指令构成指令(机器语言)是控制计算机操作的命令指令由操作码和地址码组成操作码(Opcode)表明指令的操作地址码、操作数(Operand)是参与操作的数据指令的代码格式:二进制编码规则处理器的母语是指令基本数据单位(二进制位)1位比特(bit:binarydigit)4位半字节(Nibble)8位字节(Byte)16位字(Word)32位双字(Doubleword)64位4字(Quadword)D7D6D5D4D3D2D1D0哪“位”?二进制B,十进制D,还是十六进制H?3.存储程序和程序控制存储程序把指令以代码的形式事先输入到计算机的主存储器中,这些指令按一定的规则组成程序程序控制启动后,程序就会控制计算机按规定的顺序逐条执行指令,自动完成预定的信息处理任务存储单元地址为每个存储单元编排的一个唯一的编号主存储器是字节可寻址的:主存储器的每个存储单元具有一个地址,保存一个字节的信息地址=编号取指-译码-执行周期取指(Fetch)处理器从主存储器读取指令译码(Decode)翻译指令代码的功能执行(Execute)执行指令完成指令所规定的操作取指译码执行程序计数器PC确定下一条指令的主存地址PC具有自动增量的能力,实现程序的顺序执行转移指令改变PC的数值,实现分支、循环、调用1.2.2微型计算机的硬件组成图1-2微型计算机的系统组成控制总线CB数据总线DB地址总线AB微处理器I/O设备I/O接口存储器系统总线BUS1.微处理器2.存储器3.I/O设备和I/O接口4.系统总线1.微处理器微机的核心、控制中心,中央处理器CPU大规模集成电路VLSI芯片,集成控制器运算器(整数运算器)寄存器(高速存储单元)高性能微处理器内部还有浮点处理单元甚至多媒体数据运算单元存储管理单元、代码保护机制高速缓冲存储器……2.存储器存储器(Memory)是存放程序和数据的部件高性能微机的存储系统微处理器内部的寄存器(Register)高速缓冲存储器(Cache)主板上的主存储器以外设形式出现的辅助存储器主存储器(主存、内存)半导体存储器芯片组成RAM部分断电后信息丢失相对造价高、速度快、但容量小辅助存储器(简称辅存或外存)磁盘、光盘存储器等构成相对造价低、容量大、信息可长期保存,但速度慢RAM和ROM3.I/O接口和I/O设备I/O设备(Peripheral):用户与微机交互输入(Input)设备•标准输入设备:键盘输出(Output)设备•标准输出设备:显示器I/O接口(Interface):外设和主机间的桥梁完成信号变换、数据缓冲、联络控制等工作较简单的I/O接口电路与主板一体较复杂的I/O接口电路制成独立的电路板(接口卡Card)4.系统总线总线(Bus)传递信息的一组公用导线、信息通道系统总线(SystemBus)微机系统中信息交换的主要公共通道地址总线单向输出主存单元或I/O端口的地址信息数据总线读(Read)操作数据输入微处理器写(Write)操作数据输出到外界(主存或外设)控制总线有些控制信号或状态信号输出有些请求或联络信号输入存储器外设CPUReadWrite举例举例1.2.3IBMPC系列机结构16位IBMPC系列机是32位微机的基础8088CPUIBMPC机IBMPC/AT机IBMPC/XT机IBMPC/XT主机板结构8088微处理器8087协处理器8288总线控制器I/O通道8259中断控制器随机存储器RAM只读存储器ROM8253定时控制器8237DMA控制器8255并行接口控制总线数据总线地址总线地址锁存器数据收发器扬声器接口8284时钟发生器键盘接口系统配置开关•处理器8088CPU:16位内部结构、8位数据总线、20位地址总线、4.77MHz主频•主存储器ROM-BIOS(基本输入输出系统)、主体为RAM•I/O接口控制电路8259A、8253、8237A、8255等•总线插槽62线的IBMPC总线IBMPC/AT主机板结构微处理器:Intel80286主存储器ROM-BIOS:固化基本输入输出系统(BasicInput/OutputSystem)主存主要由RAM组成I/O接口两个中断控制器8259A两个DMA控制器8237A定时控制器8254并行接口电路系统总线:ISA总线(I/O通道)示意图1.2.4微型计算机的软件系统操作系统MS-DOS汇编程序MASM调试程序DEBUG.EXE硬件BIOS应用程序*.ASM,*.OBJ*.LST,*.EXE操作系统编辑程序,汇编程序连接程序,调试程序1.DOS操作系统操作系统管理着系统的软硬件资源为用户提供使用机器的交互界面为程序员使用资源提供可供调用的驱动程序为其他程序构建稳定的运行平台16位模拟DOS环境%SystemRoot%\system32\command.com16位模拟DOS环境和32位控制台环境两种基本功能和界面一致,但本质不同2.汇编程序将汇编语言源程序转换为机器代码微软宏汇编程序MASMMASM6.11是最后一个独立发行的MASM软件包MASM6.15来自VisualC++6.0,支持到Pentium4的SSE2指令系统为什么采用汇编语言?本教材配套开发环境MASM6.15汇编系统1.3计算机中的数据表示计算机只能识别0和1两个数码进入计算机的任何信息都要转换成0和1数码处理器支持的基本数据类型8、16、32、64位无符号整数8、16、32、64位有符号整数ASCII字符、字符串和BCD码请大家复习掌握本小节内容1.3.1数值的编码计算机内部采用二进制,称为机器数为便于人们交流,引入十六进制日常生活使用十进制,可称为真值定点整数无符号整数:0~2N-1有符号整数,默认采用补码:-2N-1~2N-1-1浮点实数(IEEE754标准)单精度浮点数双精度浮点数1.3.2字符的编码BCD(8421码)压缩BCD码:二进制4位表达十进制1位非压缩BCD码:二进制8位表达十进制1位ASCII控制字符,例如:回车0DH、换行0AH可显示字符,例如:数字0~9(30H~39H)、大写字母(41H~)、小写字母(61H~)Unicode给每个字符提供了一个唯一的数字,不论是什么平台,不论是什么程序,不论是什么语言