zoukankan      html  css  js  c++  java
  • 汇编语言第一章基础知识总结

    首先,对汇编语言有一个感性的认识:

    计算机是通过机器指令即一系列二进制数转变成一系列高低电频来运作的。但机器指令很难记忆,容易出错,于是改进产生了汇编语言(由汇编指令,伪指令,其他符号组成⚠️伪指令没有对应的机器码,由编译器执行,计算机不执行)。注意⚠️从目标代码的长度和程序运行时间的角度上看,汇编语言程序与机器语言程序是等效的。

    其次,是计算机硬件系统的基本结构:

    1.冯诺伊曼体系

    冯诺伊曼体系结构的核心思想是存储程序。即,指令和数据都必须以二进制的形式存储在内存中。

    冯诺伊曼体系结构中,认为数字计算机应当由五大部件构成,分别是控制器,运算器,存储器(内存),输入设备,输出设备。

    2.计算机系统

    硬件结构:外设和主机(cpu和存储器)

    软件结构

      

    再来细分计算机的硬件结构:

    基础知识:

    1.寄存器: 指令和数据存放在其中,通过指令和数据让cpu工作。

    2.存储器,存储单元:

    (1)存储器以字节为单位划分成若干个存储单元。

    (2)每个存储单元从0开始顺序编号

     涉及到单位换算:1KB=1024B   1MB=1024KB   1GB=1024MB  1TB=1024GB

    (最小单元是bit,1Byte=8bit)

    3.指令和数据:在内存或磁盘上,指令和数据没有任何区别,都是二进制信息,在具体形式上没有差别

    4.cpu对存储器的读取:

    cpu要从内存中读取数据,讨论cpu对存储器的读取。具体分为3类

    (1)地址信息:存储单元的地址

    (2)控制信息:器件的选择,读或写的命令。

    (3)数据信息:读或写的数据。

    怎样物理上实现呢?

    计算机处理电信号通过导线传输。总线:计算机中专门连接cpu和其他芯片的导线。逻辑上分为3类:地址总线,控制总线,数据总线。(与要实现的3类信息交互相对应)

    具体读写过程:

    1.读

    (1)cpu通过地址线将地址信息发出

    (2)cpu通过控制线发出内存读命令,选中存储器芯片,并通知它,将要从中读取数据

    (3)存储器将对应单元中的数据通过数据线送入cpu

    2.写

    (1)cpu通过地址线将地址信息发出

    (2)cpu通过控制线发出内存写命令,选中存储器芯片,并通知它,将要从中读取数据

    (3)存储器通过数据线将数据送入内存对应的单元中

      

    最后是内存地址空间:

    1.概念

    内存地址空间也称寻址空间,与cpu地址总线的宽度直接相关,表示cpu所能寻找到的最大地址空间范围。

    2.具体计算:

    设一个CPU的地址总线宽度为n,那么可以寻址2n个内存单元,这2n个可寻到的内存单元就构成这个CPU的内存地址空间[例] 8086cpu的地址总线宽度为20bit,它的寻址空间范围是0~fffff h

    3.相关说明1                             

    (1) CPU在操控这些独立的物理存储器时,把它们统一当作一个逻辑存储器看待。这个逻辑存储器即内存地址空间。

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

    (3) 不同的计算机系统的内存地址空间分配情况是不同的。

    4.相关说明2

    (1)内存地址空间是逻辑上的概念

    (2) 内存地址空间,即CPU寻址空间,与CPU地址总线宽度直接相关;

    (3) 内存地址空间的容量与平时所讲的内存条的容量不是一回事;

    (4) 不同的计算机系统内存地址空间如何使用有不同的分配方案

    最后的最后我对内存地址空间的容量与内存条的容量进行了拓展研究:

    内存地址空间的容量——硬盘:硬盘存储是指以硬盘为存储介质的存储方式,而硬盘存储容量就是其内部硬盘的存储容量。硬盘存储容量就决定着其数据存储量大小的能力。

    内存条 :运行内存,高速反复访问的数据存在内存条里。具体的运行过程是只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。

  • 相关阅读:
    打造属于自己的谷歌Maps版博客公告【演示+源码】
    CentOS 更改默认启动顺序
    VC的控制台程序,如何获取输入参数和环境变量
    如何同时提供ANSI和UNICODE函数
    VC工程需要注意字符集问题
    升级firefox到最新版
    VC工程需要注意字符集问题
    如何同时提供ANSI和UNICODE函数
    使C++ Builder编译程度独立运行
    安装谷歌浏览器
  • 原文地址:https://www.cnblogs.com/makaya/p/9749375.html
Copyright © 2011-2022 走看看