微原笔记

目录

微原笔记

计算机中的信息表示

计算机系统组成

80X86微处理器发展与内部结构

汇编语言指令集


计算机中的信息表示

十进制数的二进制编码——BCD码

  • BCD码有多种形式,最常用的是8421BCD码,它是用4位二进制数对一个十进制数进行编码,这4位二进制码的值就是被编码的一位十进制数的值。(BCD码只能表示0-9 实际上是16进制数的一个子集)

    • 紧凑型BCD码

      (37)D=0011,0111B

    • 非紧凑型BCD码

      (37)D=0000,0011B

有符号数的编码

  • 在计算机中如何表示正负?

    计算机只能识别0和1组成的数或代码,所以有符号数的符号也只能用0和1来表示,即符号数值化,并作为数的一部分参与运算。

  • 机器数:一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机中用一个数的最高位存放符号,正数为0,负数为1.

  • 字长:是计算机在同一时间内处理二进制数的位数。是CPU的一个主要技术指标。

    对有符号数来讲,是包括符号位在内的一个二进制有符号数占有的位数。

    • 有符号数有三种表示方法(即机器数有三种形式):

      • 原码 [X]原

        最高位为符号位,数值位部分就是该数的绝对值。

      • 反码 [X]反

        把最高位规定为符号位,数值部分对正数是其绝对值,对负数则是其绝对值按位取反(1变0,0变1)

      • 补码 [X]补

        对于正数的补码同原码、反码,负数的数值位部分为其绝对值按位取反后末位加1所得。

    • 无符号数

      某些处理的数据都是正数,最小数为0.可取消符号位,机器数的最高位是数值位。

    1.机器数比真值数多一个符号位

    2.正数的原、反、补码与真值数相同

            3. 负数原码的数值部分与真值相同;负数反码的数值部分为真值数按位取反;负数补码的数值部分为真指数按位取反末位加1.3. 没有负零的补码,或者说负零的补码与正零的补码相同。3. 由于补码表示的机器数更适合运算,计算机系统中负数一律用补码表示。

    练习题

整数补码运算

  • “模"的概念

    一个计量器的最大容量称为该计量器的“模”

    (四位计数器能存0000~1111共十六个数,模=2^4

  • 求补运算

    设一个数的真值数值部分用X来表示,按照补码的编码规则,可以得到[+X]补;

    对[+X]补按位取反末尾加1,就得到[-X]补

  • 整数补码的加减运算

    [X+Y]补 = [X]补 + [Y]补

    [X-Y]补 = [X]补 +[-Y]补

    • 符号位参与运算

    • 以2^n 为模(n为字长)

    • 当真值满足下列条件时,结果是正确的,否则结果错误

      (-2^n-1) <= x,y,x+y,x-y <= (+2^n-1)

  • 溢出和进位的概念

    进位:运算后,最高位向更高位的进位值。(CF为进位标志)

    最高位的进位值保存在“进位标志寄存器”中

    溢出:运算结果超出了运算器所能表示的范围。(OF溢出标志)

    如加数与被加数的最高位相同,却与结果的最高位相异,则将"溢出标志寄存器"置为1,否则为0

  • 程序员如何判断溢出?

    如果参与运算的数是无符号数,则判进位标志

    如果是无符号数,则正确。若为有符号数则错误(两个整数相加生成一个负数)

    不论是无符号数还是有符号数都是错误的

计算机系统组成

计算机系统组成

微型机的硬件结构

以CPU为核心通过3条总线连接存储器、I/O接口,构成微型计算机,以其为主体,配上系统软件和外部设备,构成微型计算机系统。

  • CPU(微处理器):

    是超大规模集成电路,内部集成了运算器、控制器、寄存器组。

  • 存储器:

    系统的主存储器,简称为内存或主存。用来存放程序、数据

    • RAM

    • ROM

  • I/O接口:

    是CPU和外部设备交换信息的"中转站"

    (外部设备不能直接与CPU交换信息,必须通过接口)

  • 总线:

    是CPU与存储器、I/O接口交换信息的公共通道。

    • 地址总线:传输CPU访问存储器,访问I/O端口的地址信号。

    • 数据总线:传输CPU 读/写内存,读写I/O端口时的数据。

    • 控制总线:CPU发出的控制命令,或外部向CPU提出的请求。

“术语”:

  1. 读:即输入,信息通过总线从外部—>CPU

  2. 写:即输出,信息通过总线从CPU—>外部

存储器的基本概念

  • 存储元

    存储器的最小组成单位,用以存储1位二进制代码

  • 存储单元

    是CPU访问存储器基本单元,由若干个具有相同操作属性的存储元组成

  • 存储体

    存储单位的集合,是存放二进制信息的地方

  • 单元地址

    在存储器中用以标识存储单元的唯一编号,CPU通过该编号访问相应的存储单元

位(bit)是计算机所能表示的最小最基本的数据单位,是取值只能为0或1的一个二进制数值位。记作b

字节(byte)由8个二进制位组成,通常用作计算存储容量的单位。记作B

地址线条数决定了访问内存的容量:n条地址线,可以访问2^n个字节存储容量。

通常用:KB(2^10字节)、MB(2^20字节)、GB(2^30字节)、TB(2^40字节)作为存储器的容量单位

  • 存储器的分类

    • 按存储介质分

      半导体存储器;用半导体器件组成的存储器

      磁表面存储器:用磁性材料做成的存储器

    • 按存储器的读写功能分

      只读存储器(ROM):存储的内容是固定不变的,只能读出而不能写入的半导体存储器。

      随机读写存储器(RAM):既能读出又能写入的半导体存储器。

    • 按在计算机系统中的作用分:

      根据存储器在计算机系统中所起的作用,可分为:

      主存储器(主存)、辅助存储MIPS

      器(外存、辅存)、高速缓冲存储器(Cache)、控制存储器等

80X86微处理器发展与内部结构

  • 与微处理器有关的常用术语

    • 字长(数据宽度)

      字长是微处理器一次可以直接处理的二进制数码的位数,它通常取决于微处理器内部通用寄存器的位数和数据总线的宽度。微处理器的字长有4位、8位、16位、32位和64位等。

    • 寻址能力

      指CPU能直接存取数据的内存地址的范围,它由CPU的地址总线的数目决定。

    • 主频

      主频也叫时钟频率,用来表示微处理器的运行速度,主频越高,表示微处理器运行越快,主频的单位是MHz、GHz.

    • MIPS

      MIPS是Millions of Instruction Per Second的缩写,用来表示微处理器的性能——运算速度,用每分钟能执行多少百万条指令表示。

    • 微处理器的集成度

      指微处理器芯片上集成的晶体管的密度

  • 微处理器的基本功能模块:

    • 总线接口单元BIU

      (寄存器组)

    • 执行单元EU

    (运算器和控制器、寄存器组)

 32位微处理器的内部结构寄存器

基本结构寄存器

  • 通用寄存器

    • BX—— 基址寄存器

    • AX——累加器

    • CX——计数器

    • DX——数据寄存器

      IP、SP、BP、SI、DI为寻址存储单元提供偏移地址

    • IP——指令指针

    • BP——基址指针

    • SI——源变址寄存器

    • DI——目的变址寄存器

  • 标志寄存器

    标志寄存器EFLAGS为32位寄存器,FLAGS又称为程序状态字PSW,为16为寄存器。

    32位CPU标志寄存器为32位,实际使用15

    • 标志寄存器的作用:记录CPU运行结果状态标志;控制CPU的某种操作

    • 标志寄存器提供两类标志:

      • 状态标志:表示前面的操作执行后,算术逻辑部件处在怎样一种状态,有SF、ZF、PF、CF、AF、OF。

      • 控制标志:每个控制标志都对某一种特定的功能其控制作用。指令系统中有专门的指令用于控制标志的设置和清除。有DF、IF、TF。

  • 段寄存器

    • CS——代码段寄存器

    • DS——数据段寄存器

    • ES——附加段寄存器

    • SS——堆栈寄存器

      CS、DS、ES、SS——4个段寄存器,和偏移地址寄存器一起形成20位存储器物理地址,对存储器中存放的程序、数据、堆栈区域加以区别、寻址。

      寻址程序(指令):CS+IP

      寻址数据:(DS或ES)+(SI或DI、BX、BP)

      寻址堆栈:SS+(SP或BP)

32位微处理器的工作模式

32位微处理器地址空间

  • 存储空间

    • 物理空间:程序的运行空间,即主存空间

      • 486有32条地址线,内存最大容量4G,这4G字节称为物理存储器,每一单元的地址称为物理地址,其地址范围:0000,0000H~FFFF,FFFFH为物理存储空间。

    • 虚拟空间:编程空间

      • CPU内部的存储管理部件把主存(物理存储器)和辅存(磁盘)看做是一个整体。

      • 允许编程空间为2^46=64T,程序员可在此地址范围内编程,大大超过物理空间。该空间对应的地址称为虚拟地址或逻辑地址。

      • 程序运行时,操作系统从虚拟空间取一部分程序代码载入物理空间运行。

    • 线性空间

      • 当程序 从虚拟空间调入物理空间时,要进行地址转换。

      • 分段部件首先把虚拟地址转换为线性地址。

      • 如果不分页的话,线性地址就是物理地址。

      • 如果分页的话,则由分页部件把线性地址转换为物理地址。

  • I/O空间

    • 486利用低16位地址线访问I/O端口,所以I/O端口最多有2^16=64K,I/O地址空间为0000H~FFFFH

    • I/O地址空间不分段

    • I/O地址空间与存储空间不重叠

32位微处理器(486)工作模式

  • 实地址模式(实模式)

    实地址模式下的物理地址与逻辑地址

    • 物理空间对应的物理地址

      是指1MB存储区域中的某一单元地址,地址信息是20位的二进制代码,以16进制表示 时,是00000H~FFFFFH中的一个单元。

    • 编程空间对应的逻辑地址

      编制程序应采用逻辑地址。程序是分段的,逻辑地址由段基址和偏移地址组成。

      书写成段基址:偏移地址

      注意:物理地址是唯一的,不同的逻辑地址可以得到相同的物理地址。

      1000H:2345H——12345H

      1200H:0345H——12345H

  • 保护虚拟地址模式(保护模式)

  • 虚拟86模式

汇编语言指令集

指令概述

  • 指令

    指令时CPU操作的基本单位,每条指令执行一个特定的操作。

    CPU全部指令的集合,称为指令集。

    • 指令的分类

      • 机器指令:二进制格式编码的序列(为表达方便下表用16进制表示)

      • 符号指令:用字符串形式的序列表示

        操作 80486符号指令 80486机器指令
        1234H->AX MOV AX,1234H B8 43 12
        AX+BX->AX ADD AX,BX 03 C3
        CX-DX->CX SUB CX,DX 2B CA
        返回调用程序 RET C3
    • 指令的组成

      标号:操作码助记符 空格 操作数助记符 ;注释

      NEXT: ADD AX,BX ;AX+BX->AX

    • 指令的长度

      指令在存储器中占用的字节数称为指令长度。80X86指令长度为1~16字节

    • 指令的地址

      多字节指令占用连续的内存单元,存放指令第一字节的内存单元地址,称为“指令地址”

    • 指令的存放

      首先存放操作码,然后存放操作数。多字节操作数连续存放,顺序依据小端法规则(低位字节存放在低地址单元,高对高)

  • 标志寄存器

    • C标志——进位/借位标志

      • 字节加/减,最高位(D7)产生进位/借位时:C标志置1,否则置0

      • 字加减,最高位(D15)产生进位/借位时,C标志置1,否则置0

      • 双字加减,最高位(D31)产生进位/借位时:C标志置1,否则置0

    • A标志——辅助进位/借位标志

      • 字节、字、双字加减,D3位产生进位/借位时:A标志置1,否则置0

    • S标志——符号标志

      • 字节运算后,结果的最高位D7位为1,S标志置1,否则置0

      • 字运算后,结果的最高位D15位为1,S标志置1,否则置0

      • 双字运算后,结果的最高位D31位为1,S标志置1,否则置0

    • Z标志——零标志

      • 运算结果为全0时,Z标志置1,否则置0

    • P标志——奇偶标志(实际上是偶标志 )

      • 运算结果的低8位中,若“1”的个数为偶数个,则P标志置1,否则置0

    • O标志——溢出标志

      • 则加数与被加数的最高位相同,却与结果的最高位相异,则O标志置1,否则置0

      • 程序员如何判断溢出?

        • 有符号数运算,判O标志,O标志为1,有溢出

        • 无符号数运算,判C标志,C标志为1,有溢出

    • 操作数的分类

      • 操作数包含在指令中,称为立即数

        • 操作数存放在CPU的某个寄存器中,称为寄存器操作数

        • 操作数存放在存储器中,称为存储器操作数(内操作数)

        • 操作数存放在I/O端口中,称为I/O端口操作数

  • 操作数对应的寻址方式

    • 立即寻址:获得立即数

      立即寻址方式所提供的操作数直接放在指令中,紧跟在操作码的后面,与操作码一起放在代码段区域中。立即数可以是8、16、32位 

    • 寄存器寻址:获得寄存器操作数

    • 操作数在CPU的某个寄存器中,符号指令中直接写出寄存器名称

    • 存储器操作数寻址:获得内存操作数

      • 在读取内存操作数之前,CPU必须知道相关存储单元的物理地址

      • 由于CPU对存储器采用分段管理,因此指令格式中只能写出存放操作数的内存单元的逻辑地址

      • 直接寻址

        地址表达式的格式1:段寄存器:[偏移地址]

        地址表达式的格式2:段寄存器:变量名

        用变量名代表存储单元的有效地址

        格式1很少使用 通常程序员不知道某单元的偏移地址

        汇编语言允许为某单元起一个名字,这个名字就称为该单元的变量名

      • 寄存器间接寻址

        操作数在内存单元,该单元的段基址在段寄存器中,偏移地址在间址寄存器中,CPU首先进行地址计算

        1)间接寻址的地址表达式 段寄存器:[间址寄存器]

        某单元的物理地址=段寄存器内容×16 + 间址寄存器

        2)访问约定的逻辑段,间接寻址的地址表达式 简化为:

        [间址寄存器]

        某单元的物理地址=约定的段寄存器内容×16 + 间址寄存器

        间址寄存器 约定访问的逻辑段
        BP 堆栈段 16位寻址方式
        BX,SI,DI 数据段 16
        EBP,ESP 堆栈段 32位寻址方式
        EAX~EDX,ESI,EDI 数据段 32
      • I/O端口操作数寻址

【复习总结】微型计算机原理相关推荐

  1. 《微型计算机原理与接口技术》复习笔记(四)

    使用教材为 <微型计算机原理与接口技术>(慕课版) 孙丽娟.李爱群.陈燕俐.周宁宁.邓玉龙编著 微机原理复习笔记一 微机原理复习笔记二 微机原理复习笔记三 微机原理复习笔记四 中断系统 1 ...

  2. 《微型计算机原理与接口技术》期末总复习 —— 一篇匆匆忙忙的复习笔记

    这篇复习笔记是针对<微型计算机原理与接口技术>后面几章的 前面的汇编复习内容在 "零.学习笔记总目录" 的 "汇编考前复习" 中 ✅ 这篇笔记中可能 ...

  3. 《微型计算机原理与接口技术》复习笔记(二)

    使用教材为 <微型计算机原理与接口技术>(慕课版) 孙丽娟.李爱群.陈燕俐.周宁宁.邓玉龙编著 默认存储器单元的地址编排顺序从上往下,地址从低向高编排 微机原理复习笔记一 微机原理复习笔记 ...

  4. 《微型计算机原理与接口技术》复习笔记(三)

    使用教材为 <微型计算机原理与接口技术>(慕课版) 孙丽娟.李爱群.陈燕俐.周宁宁.邓玉龙编著 微机原理复习笔记一 微机原理复习笔记二 微机原理复习笔记四 微机原理复习笔记三 1. 存储器 ...

  5. 《微型计算机原理与接口技术》复习笔记(一)

    使用教材为 <微型计算机原理与接口技术>(慕课版) 孙丽娟.李爱群.陈燕俐.周宁宁.邓玉龙编著 微机原理复习笔记二 微机原理复习笔记三 微机原理复习笔记四 微机复习笔记(一) 1. 二进制 ...

  6. 10个微型计算机应用的例子,微型计算机原理与接口技术 复习资料

    微型计算机原理与接口技术 复习资料 一.问答题 1.下列字符表示成相应的ASCII码是多少? (1)换行 0AH (2)字母"Q" 51H (3)空格 20H 2.下列各机器数所表 ...

  7. 2021《微型计算机原理与接口技术》总复习

    第 1 部分 指令 1.1 数据传送 1.通用数据传送 MOV dest,src 传送指令,将src的内容赋值给destPUSH OPRD ; 压入栈指令,将oprd压入栈 16 位寄存器或者存储器字 ...

  8. 微型计算机实验代码,微型计算机原理实验1-数据传送

    <微型计算机原理实验1-数据传送>由会员分享,可在线阅读,更多相关<微型计算机原理实验1-数据传送(14页珍藏版)>请在人人文库网上搜索. 1.实验一数据传送一.实验目的1.熟 ...

  9. 微型计算机的逻辑元素,微机原理及应用 宋廷强 微型计算机原理及应用.ppt

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbsp计算机原理 微机原理及应用 宋廷强 微型计算机原理及应用.ppt ...

  10. 微型计算机原理DL,微型计算机原理练习附解答.doc

    微型计算机原理练习附解答 复习提纲 1.两个4字节的无符号数分别存放在从2000H和2010H开始的存储单元中,编写程序完成它们的相加操作,并将所求的和放在从2000H开始的内存单元中. 2.设在20 ...

最新文章

  1. day1-字符串拼接、表达式、break和continue
  2. 软工文档”注意注意“事项
  3. urlencode urldecode
  4. Filter 字符编码Filter 一
  5. Lumen中启用session
  6. C语言交换两个数(不创建临时变量)
  7. echarts地图的基本使用配置
  8. linux 格式化u盘_使用Universal USB Installer,打造你的U盘版Linux系统
  9. SSH Iptables访问控制
  10. Vue 给第三方组件加入自定义参数
  11. chrome ubuntu_ubuntu 安装chrome
  12. The Art of Memory Forensics-Windows取证(Virut样本取证)
  13. C# 调用讯飞实时语音转写
  14. 平安城市视频监控运维解决方案
  15. 计算机网络vtp,VTP学习笔记(二)
  16. 使用log4j如何打印输出到日志文件
  17. HLT外网GitLab账号申请
  18. 一个骚操作,公众号粉丝破10万!
  19. Centos7下安装Tkinter的一些问题
  20. HTC S510b官方解锁、刷recovery、刷ROOT教...

热门文章

  1. matplotlib 进阶之Tight Layout guide
  2. TightVNC Java Viewer
  3. 【Matlab学习手记】了解Matlab界面布局
  4. Activiti7入门Demo
  5. 阿里敏捷教练如何优化优酷需求分析流程?
  6. 进击高手【第十期】树
  7. python-自动化Airtest-3IDE poco介绍
  8. CISA:注意这三个工控系统软件中的严重漏洞
  9. 解决PyCharm中的Manage Repositories为空
  10. Java基础学习之数据结构:利用栈和队列完成表达式解析