微机原理实验报告
实验日期:2012.11.29 班级:100518 学号:10051033 姓名:张文英
实验内容:
1. 实验作业:将你的姓名字符串送到以“班级:学号”为逻辑地址的内存单元中。(班级学号均取后四位数字)
2. 实验分析及设计:
(1)实验目的已知,实验环境为debug环境,各种命令见附录;
(2)首先需要写入姓名字符串;
(3)再通过传送、串传送指令等将字符串从原地址传送到目的地址。
3. 实验数据及运行结果观察(包括程序运行过程及结果记录)
(1) 首先写入字符串“zhangwenying”;
(2)编写程序并运行,过程及结果如下:
4. 分析及结果讨论:
实验结果正确,字符串被传送到指定位置。
实验过程中出现了一个问题:当最初用E指令写入字符串时,如果使用默认地址(13BA:0100),则结果为乱码;使用指定地址(本人生日1992:1108)时,结果正确。
不知道是不是因为使用A指令写入汇编程序时,语句被汇编到默认地址(13BA:0100)导致乱码。
5. 程序清单:
第二篇:北航微机原理第一章
一、 电子计算机19xx年问世,先后经历了电子管、晶体管、集成电路和大规模和超大规模集成电路四代的发展。
二、 微处理器(MP):
1. 指的是由一片或几片大规模集成电路组成的具有运算器和控制器功能的中央处理器(CPU)部件。在微型计算机中直接用CPU表示微处理器。
2. CPU内部结构归纳起来可分为运算逻辑部件、寄存器部件和控制器部件三个部分。相互协调,对命令和数据进行分析、判断、运算并控制计算机各部分协调工作。按照其处理信息的字长,可分为4.8.16.32.64位处理器。
三、 微型计算机(MC):是指以微处理器为核心,配上存储器、输入/输出接口电路及系统总线所组成的计算机
四、 微型计算机系统(MCS):
1. 是指以微型计算机为核心,配以相应的外围设备、电源和辅助电路等以及控制微型计算机工作的软件(系统软件和应用软件)所组成的系统。
2. 组成:
1) 硬件系统:计算机的许多重要特性,如快速性、通用性、准确性和逻辑性,都取决于其最主要的结构原理,即存储程序原理,是计算机组织的关键。根据存储程序原理构造的计算机称为存储程序计算机,
由运算器、控制器、输入设备和输出设备组成的。其特点如下:采用存储程序的方式,程序和数据放在同一存储器中,指令和数据一样可以送到运算器中运算,即由指令组成的程序是可以修改的;数据以二进制码表示;指令由操作码和地址码组成;指令在存储器中按执行顺序存放,由指令计数器指明要执行的指令所在的单元地址微机以运算器为中心,输入/输出设备与存储器间的数据传送是通过运算器实现的。现代主流的微机硬件系统包括:主机(运算器、控制器和存储器在其内。主机内的主板是构成复杂电子系统的中心,)、输入设备、输出设备
2) 软件系统:系统软件和应用软件
五、 微机硬件系统结构:
1. 是指按照总体布局的设计要求,将各部件构成某个系统的连接方式。系统总线是用来传动信息的公共导线,所有的信息都通过总线传送。
2. 通常,根据传送信息的内容与作用的不同,可以将系统总线分为数据总线(DB)、地址总线(AB)、控制总线(CB)。系统各部件都挂在总线上,有时将这种系统结构称为面向系统的总线结构。
3. 在微型计算机中,有两股信息流(数据信心流和控制信息流)在流动。在总线结构中,通过总线实现微处
理器、存储器和所有I/O设备之间的信息交换。
4. 根据总线结构组织方式的不同,目前采用的总线结构可分为单总线、双总线和双重总线三种类型。在单总线结构中,系统存储器M和I/O接口均使用同一组信息通路,因此CPU对M的读/写和对I/O接口的输入/输出操作只能分时进行。双总线结构的M和I/O接口各具有一组连接CPU的总线故CPU可以分别在两组总线上同时与M和I/O交换信息,因为拓宽了总线带宽,提高了总线的数据传输效率。由于双总线结构中CPU药同时管理M和I/O的通信,CPU的负担加重,通常通过采用专门的处理芯片,即所谓的I/O接口来负责I/O的管理任务,以减轻CPU的负担。双重总线结构中有局部总线和全局总线两种双重总线。当CPU通过局部总线访问局部M和局部I/O时,其工作方式与单总线的情况相同。当系统中某微处理器需要对全局M和全局I/O访问时,则必须由总线控制逻辑统一安排才能进行,这时该处理器就是系统的主控设备。
六、 微处理器由运算器、控制器和内部寄存器阵列三部分组成
1. 运算器:算数逻辑单元,用来进行算数或逻辑运算以及位移循环等操作。通常参加运算的两个操作数,一个来自累加器,另一个来自内部数据总线,可以是数
据寄存器中的内容,也可以是寄存器阵列中某个寄存器的内容。运算结果往往送回累加器暂存。
2. 控制器:包括指令寄存器、指令译码器、可编程逻辑阵列
1) 指令寄存器(IR):用来存放从存储器取出的、将要执行的指令
2) 指令译码器(ID):用来对指令寄存器中的指令进行译码,以确定该指令执行什么样的操作。
3) 可编程逻辑阵列(PLA):用来产生取指令和执行指令所需的各种微操作控制信号。每条指令对应控制信号的某一种组合,以确定相应的操作序列。
3. 内部寄存器:累加器、数据寄存器、程序计数器、地址寄存器、标志寄存器。
1) 累加器(A):双重功能:运算前,用来保存一个操作数,运算后,用来保存结果。
2) 数据寄存器(DR):用来暂存数据或指令。从存储器读出时,若读出的是指令,则经DR暂存的指令通过内部数据总线送到指令寄存器;若读出的是数据,则通过内部数据总线送到相关的寄存器或运算器。
3) 程序计数器(PC):中存放着正待曲齿的指令的地址。根据PC中的指令地址,微处理器准备从存储器中取出将要执行的指令。通常,程序按照顺序逐条执行、
任何时刻,PC都指示微处理器的下一个字节或下一条指令(对单字节指令而言)所在的地址,因此PC具有自动加1的功能。
4) 地址寄存器(AR):用来存放正要取出的指令的地址或操作数的地址。在取指令时,将PC中存放的指令地址送到AR,并根据此地址从存储器中取出指令;在取操作数时,将操作数地址通过内部数据总线送到AR,在根据此地址从存储器中取出操作数;在向存储器存入数据时,也要先将待写入的数据的地址送到AR,然后再根据此地址想存储器写入数据。
5) 标志寄存器(FR):用来寄存执行指令时产生的结果或状态的标志信号。
总结:常见的英文缩写及其含义:
CPU(central processing unit)微处理器,F(flag register)标志寄存器,PC(program counter)程序计数器,AR(address register)地址寄存器,RA(register array)寄存器阵列,ALU(arithmetic logic unit)算数逻辑单元(运算器),DR(data register)数据寄存器,ID(instruction decoder)指令译码器,IR(instruction register)指令寄存器,PLA(programmable logic array)可编程逻辑阵列,RAM(random access memory)随机存储器。
七、 存储器是微机的存储和记忆部件,用来存放程序和数
据(原始数据、中间结果和最终结果)。在计算机中,程序和数据是用二进制的形式来表示的,在计算机中,一般将8位二进制代码作为一个字节,两个字节组成一个字来标志16位数据的长度。在内存可划分为很多个存储单元,每一个存储单元中一般存放一个字节的二进制信息。存储单元的总书目称为存储容量,其具体数目取决于地址线的根数。存储单元踵的内容为数据或指令。为了能识别不同的单元,分别富赋予每个单元一个编号,这个编号称为地址
八、 随机存取存储器由存储体、地址译码器和控制电路。一个由8根地址线连接的存储体共有256个存储单元,其编号从00H到FFH。地址译码器接收从地址总线送来的地址码,经译码器译码选中相应的某个存储单元,以便从中读出信息或写入信息。控制电路用来控制存储器的读/写操作过程。
九、 读操作过程:假定CPU要读出存储器04H单元中的内同10010111即97H,需要的步骤如下:CPU的地址寄存器先给出地址04H,并将它放在地址总线上,经地址译码器译码选中04H单元;CPU发出读的控制信号给存储器,指示它准备把被寻址的04H单元中的内容97H放在数据总线上;在读的控制信号的作用下,存储器将04H单元中的内容97H放在数据总线上,经它送到数据寄存器,然后由
CPU取走该内容作为所需要的信息使用。读完之后内容不变。
十、 写的操作过程:假定CPU要把数据寄存器中的内容00100110即26H写入存储器08H单元,如下步骤:CPU的地址寄存器先把08H放在地址总线上,经过地址译码器译码选中08H单元;CPU把数据寄存器中的内容26H放到数据总线上;CPU向存储器发送写的控制信号,在该信号的作用下,将内容26H写入被寻址的08H单元。原内容被清除。
十一、 微机的工作过秤就是执行程序的过程,而执行程序的过程是执行指令序列的过程即逐条执行指令;执行每一条指令,都包括取指令和执行指令两个基本阶段,因此微机的工作过程就是不断的取指令和执行指令的过程。 十二、 假定程序已经由输入设备存放到内存中。当计算机从停机状态进入运行状态时,首先应把第一条指令所在的地址赋给程序计数器,然后微机就进入取阶段,在取址阶段,CPU从内存中读出的内容必为指令,于是,数据寄存器便把它送到指令寄存器,然后由指令译码器译码,此时控制器发出相应的控制信号,CPU便知道该条指令要执行什么样的操作。周而复始取址阶段都是由一系列相同的操作组成的,取址阶段的时间总是相同的,称为工操作,但是执指阶段的时间取决于执行指令大类型,变化很大。
十三、 指令通常包括操作码和操作数两大部分。操作码表示计算机执行什么样的具体操作,操作数表示参加操作的数的本身或操作数所在地址。