zoukankan      html  css  js  c++  java
  • 汇编语言第一章

    一、基础知识

    1、指令

    机器指令:CPU能直接识别并执行的二进制编码

    汇编指令:汇编指令是机器指令的助记符,同机器指令一一对应。

    指令:指令通常由操作码和地址码(操作数)两部分组成

    指令集:每种CPU都有自己的汇编指令集。

    汇编语言由3类指令组成。

    汇编指令

    伪指令:没有对应的机器码,由编译器执行,计算机并不执行
    其他符号:如+、-、*、/等,由编译器识别,没有对应的机器码。
    编译器:够将汇编指令转换成机器指令的翻译程序每一种CPU都有自己的汇编指令集。

    在这里插入图片描述

    在内存或磁盘上,指令和数据没有任何区别,都是二进制信息

    2、存储器

    随机存储器(RAM)在程序的执行过程中可读可写,必须带电存储

    只读存储器(ROM)在程序的执行过程中只读,关机数据不丢失

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    3、总线

    1、总线

    总线是连接各个部件的信息传输线,是各个部件共享的传输介质。

    主板上有核心器件和一些主要器件,这些器件通过总线(地址总线、数据总线、控制总线)相连。这些器件有CPU、存储器、外围芯片组、扩展插槽等。扩展插槽上一般插有RAM内存条和各类接口卡。

    来自唐朔飞·计算机组成原理经典课件

    总线根据位置分类:

    • 片内总线(芯片内部总线)

    • 系统总线(计算机各部件之间的信息传输线)

      根据传送信息的不同,系统总线从逻辑上又分为3类,地址总线、控制总线和数据总线。

    CPU要想进行数据的读写,必须和外部器件(标准的说法是芯片)进行以下3类信息的交互。

    1. 地址总线:CPU通过地址总线来指定存储单元

    在这里插入图片描述

    1. 1根导线可以传送的稳定状态只有两种,高电平或是低电平。用二进制表示就是1或0

    图示有10根地址线即一次可以传输10位,访问存储单元地址为1011,寻址范围为0 ~ (210 - 1)

    1. 数据总线:CPU与内存或其他器件之间的数据传送是通过数据总线来进行的

    在这里插入图片描述

    1. 8根数据线一次可传送一个8位二进制数据(即一个字节),传送2个字节需要两次;16根数据线一次可传送2个字节(内存对齐核心原理)
    2. 控制总线:CPU对外部器件的控制是通过控制总线来进行的。

    有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制。
    所以,控制总线的宽度决定了CPU对外部器件的控制能力。

    2、CPU对存储器的读写

    在这里插入图片描述

    1、 CPU通过地址线将地址信息3发出。
    2、 CPU通过控制线发出内存读命令,选中存储器芯片,并通知它,将要从中读取数据。
    3、 存储器将3号单元中的数据8通过数据线送入CPU。写操作与读操作的步骤相似。
    联想:在组成原理中用微操作表示:(PC) → MAR; 1 → R; M(MAR) → MDR; …

    3、CPU对外设的控制

    CPU对外设都不能直接控制,如显示器、音箱、打印机等。

    直接控制这些设备进行工作的是插在扩展插槽上的接口卡。

    扩展插槽通过总线和CPU相连,所以接口卡也通过总线同CPU相连。CPU可以直接控制这些接口卡,从而实现CPU对外设的间接控制。

    如:CPU无法直接控制显示器,但CPU可以直接控制显卡,从而实现对显示器的间接控制

    4、内存地址空间

    CPU将系统中各类存储器看作一个逻辑存储器,这个逻辑存储器就是我们所说的内存地址空间。
    对于CPU,所有存储器中的存储单元都处于一个统一的逻辑存储器中,它的容量受CPU寻址能力限制。(或许就是计组中学的统一编址吧)

    在这里插入图片描述

    每个物理存储器在这个逻辑存储器中占有一个地址段,即一段地址空间。CPU在这段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据(对ROM写无效)。

    f-1599373811197)]

    每个物理存储器在这个逻辑存储器中占有一个地址段,即一段地址空间。CPU在这段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据(对ROM写无效)。

    在这里插入图片描述

    别废话,拿你代码给我看。
  • 相关阅读:
    MySQL for OPS 02:SQL 基础
    Samba:基于公网 IP 的服务访问
    MySQL for OPS 01:简介 / 安装初始化 / 用户授权管理
    Samba:打造企业级授权文件共享服务器
    嵌入式web server——Goahead移植要点
    libConfuse的使用
    【工具篇】notepad++
    使用sprintf打印float并控制小数位数时引起的问题
    【工具篇】source Insight
    【工具篇】xshell
  • 原文地址:https://www.cnblogs.com/lvxueyang/p/13707377.html
Copyright © 2011-2022 走看看