zoukankan      html  css  js  c++  java
  • 汇编基础

    +在内存或者磁盘上,指令和数据没有啥区别都是01代码。
    +存储器,即内存,一个字节就是一个存储单元,每个存储单元从0开始顺序编号。
    +每一种CPU都有自己的汇编指令集。
    +汇编指令只是助记符。
    +CPU有许多管脚,就是这些管脚和总线相连。
     
    汇编指令种类:

    汇编指令:机器码助记符,有对应的机器码。
    伪指令:没有对应的机器码,编译器执行,机器不执行。
    其他符号:如加减乘除等,编译器执行,没有对应机器码。
     
    CPU在对存储器读写时,要指明是对那一器件进行操作,毕竟计算机有多种器件。
    所以读写存在三类条件信息:
    1. 存储单元地址(地址信息)。
    2. 器件选择,读或写的命令(控制信息)。
    3. 读或写的数据(数据信息)。
     
    总线:

    专门连接cpu和其他芯片的导线(传递电信号)。
    物理上来讲,总线就是一根根导线的集合。
    总线分为三种:
    1. 地址总线。
    2. 控制总线。
    3. 数据总线。
     
    地址总线(AB):
    CPU和通过地址总线来选择存储单元,所以地址总线的宽度(即总线根数)决定了可以寻址的内存单元个数。
    N根总线,则可以寻址2的N次方个内存单元。
     
    数据总线(DB):
    CPU和其他器件之间通过数据总线传递数据,数据总线的宽度决定了CPU和外界的数据传送速度。比如:8根数据总线,一次就可以传送8bit(1Byte)数据。
     
    控制总线(CB):
    控制总线是一些不同控制线的集合,比如:有一根’读信号控制线’,CPU向其输出低电平表示发出读取信号。
    控制总线宽度,决定了CPU对外部器件的控制能力。
     
    地址总线宽度决定CPU的寻址能力。
    数据总线宽度决定CPU与其他器件的数据传送能力。
    控制总线宽度决定CPU对其他器件的控制能力。
     
     
    主板:

    主板用来承载CPU和其他器件,这些器件通过总线相连接。包含CPU、存储器、外围芯片组、扩展插槽等。
     
    接口卡:

    CPU对外部设备不能直接控制,如打印机。直接控制这些设备进行工作的是插在扩展插槽上的接口卡。扩展插槽通过总线和CPU相连,接口卡可以通过总线连接CPU。
    CPU可以直接控制这些接口卡,从而实现CPU对外设的间接控制。
    CPU通过总线想接口卡发送命令,接口卡根据CPU命令控制外设工作。
     
    存储器芯片:

    以读写属性来区分:
     + 随机存储器(RAM):不可断电存储,可读写
     + 和只读存储器(ROM):可断电存储,只读
     
    BIOS(Basic Input/Output System)基本输入输出系统。
    由主卡或各类接口卡厂商提供,用来提供对硬件的控制。
    通常BIOS装在ROM上,主板和某些接口卡上有有存储相应BIOS的ROM。例如,主板上的ROM存着主板BIOS,显卡上的ROM存着显卡的BIOS。
     
    接口卡上可已有RAM,如显卡。
     
    TIPS:
    事实上由于ROM烧录一次不可修改十分不方便,所以后来发展出EEPROM,可以对ROM进行重写,方便BIOS升级。
     
     
    内存地址空间:

    各种储存器器件,有两个共同点:
     + 都和CPU总线相连
     + CPU都是通过总线控制读写
     
    所以,CPU在控制他们的时候,把他们当做内存看待就可以,若将所有这些物理存储器器组成一个逻辑存储器,而这个逻辑存储器就是内存地址空间。
     
    每个物理存储器在逻辑存储器中占有一个地址段,也称一段地址空间。CPU在这段地址空间中读写,实际就是对对应的物理存储器读写。
     
    TIPS:我们在基于一个计算机硬件系统编程时,必须知道这个系统中的内存地址空间分配情况,不同的计算机系统的内存地址空间的分配情况是不同的。
     
    参考《汇编语言》王爽版
  • 相关阅读:
    基于Python的人脸动漫转换
    let 与 var的区别
    【LeetCode】汇总
    【HDU】4632 Palindrome subsequence(回文子串的个数)
    【算法】均匀的生成圆内的随机点
    【LeetCode】725. Split Linked List in Parts
    【LeetCode】445. Add Two Numbers II
    【LeetCode】437. Path Sum III
    【LeetCode】222. Count Complete Tree Nodes
    【LeetCode】124. Binary Tree Maximum Path Sum
  • 原文地址:https://www.cnblogs.com/luweimy/p/4957544.html
Copyright © 2011-2022 走看看