Loading

王爽汇编第一章,基础知识

王爽汇编第一章,基础知识

1、计算机科学,CPU历史

计算机科学速成课

最近在bilibili上看到一套视频《计算机科学速成课》,这套教程我觉得很适合新手拿来做当做计算机系列的科普视频,评价也非常的好。

image
image
image

CPU历史

1947年12月16日,晶体管之父––威廉·肖克利和约翰·巴顿,沃特·布拉顿在贝尔实验室共同研制出世界上第一块晶体管,人类在信息技术方面展开了一场潜移默化的变革,只不过这场革命在多年以后才会爆发。
1971年11月15日,英特尔公司造出了世界上第一块CPU––4004微处理器,它的晶体管数只有大概2300颗晶体管之间的距离只有10纳米,能处理4bit的数据,频率有108KHZ,其性能与现在的CPU进行比较,简直就是蜗牛和跑车的速度比较,但是,它却具有极大的跨时代意义。
具体的介绍可以看知乎的这篇文章《CPU的历史》。

image

2、指令

  • 机器指令:其实就是二进制,CPU可以直接识别并执行。(早期程序员就是用0、1数字来写程序不得不说真牛逼。)
  • 汇编指令:为了方便阅读和记忆所以就有了汇编指令(想想也是,你用0和1写个程序不小心漏了个0,这时候要怎么找bug)
  • 指令:指令通常由操作码和地址码(操作数)两部分组成
  • 指令集:每种CPU都有自己的汇编指令集。

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

  • 汇编指令
  • 伪指令:没有对应的机器码,由编译器执行,计算机并不执行
  • 其他符号:如+、-、*、/等,由编译器识别,没有对应的机器码。

编译器:够将汇编指令转换成机器指令的翻译程序每一种CPU都有自己的汇编指令集。
image
在内存或磁盘上,指令和数据没有任何区别,都是二进制信息。

3、存储器

存储器用来存放CPU执行的指令和数据,也就是我们平时说的“内存”或者“硬盘”。

  • 指令和数据:在计算机中所有指令和数据都是0和1
  • 存储单元: 一个存储器有128个存储单元
  • 随机存储器(RAM)在程序的执行过程中可读可写,必须带电存储
  • 只读存储器(ROM)在程序的执行过程中只读,关机数据不丢失
;要把一个二进制看成数据或指令,由程序员来确定,根据汇编代码上下文来确定。
1000100111011000  -> 89D8H    (数据)
1000100111011000  -> mov ax,bx(指令)


4、总线

  • 地址线
  • 数据线
  • 控制线

地址总线

CPU是通过地址总线来指定存储单元的。
假设:一个CPU有10根地址总线,那么他的寻址能力就是2^10次方,1024 10位二进制数 如下图。

数据总线

CPU通过数据总线来与内存或者其他设备传输数据。
比如:CPU只有8根数据总线,那么他一次最大只能传送8位也就是一个字节(0-255)(0x00-0xFF)

控制总线

CPU对外部设备的控制就是通过控制总线进行的。
这是一个总称:比如CPU对内存的读,是通过“读信号输出”的控制线进行的,那么写就是“写信号输出”的控制线。
CPU有多少根控制总线,那就意味着CPU提供了对外部器件的多少种控制

5、内存地址空间

物理器件

  • 每个显卡插槽或者内存条插槽都是通过总线和CPU相连,CPU通过控制插槽间接的来控制内存条或显卡。
  • 每个显卡或者内存条都是独立的,从读写属性来看分为两类:(RAM)和(ROM)。

    上述的存储器,在物理上都是独立的器件,但是在以下两点上系统。
  • 都和CPU的总线相连
  • CPU对他们进行读或写的时候都通过控制线发出内存读写命令

逻辑内存空间

CPU在控制他们的时候,把他们都当作内存来对待,把他们总的看成若干单元的逻辑存储器

本文来自博客园,作者:VxerLee,转载请注明原文链接:https://www.cnblogs.com/VxerLee/p/15055485.html 专注逆向、网络安全 ——VxerLee

posted @ 2021-07-24 16:15  VxerLee昵称已被使用  阅读(90)  评论(0编辑  收藏  举报