分享

lesson1 计算机科学篇之CPU与二进制

 阿修罗之狮猿授 2017-02-07

本文根据于po学校mark老师上课所讲的而记录的学习笔记


CPU


   CPU,中央处理器,是电脑中的重要组件之一,如果电脑中没有CPU是无法运行的 ,CPU是负责整体计算机的控制,运行等处理。 

   CPU的内部中有四大组件 :寄存器,控制器,运算器,时钟


    寄存器:  短暂的存储一些值的地方,负责存储电脑中数据的地方,相当于CPU中的内存。一个程序是由指令(算法)加上数据组成的。

    控制器: 负责将内存,寄存器中的数据读入写出,控制寄存器的数据。

    运算器:逻辑运算单元,协助控制器和寄存器,达到运算的效果。

    时钟:CPU必须有人推动,推动的就是时钟。时钟有频率(GHz),i7的CPU有3.2GHz,相当于32亿次每秒的运行速度。


    寄存器

   程序员最需要注意的是寄存器,因为寄存器是软件工程师唯一能接触到的。CPU是寄存器的集合。

    低级语言,机器语言:CPU能读懂的语言,最开始是由0和1组成的代码。后来一串固定的01代码编辑成了一段固定的指令,产生了汇编。

    高级语言,人类更好理解记忆,指令更加少的语言。 高级语言通过编译器翻译成机器语言,编译完成后生成一个可执行的文件(01代码组成的集合,里面代码包含了算法和存储的数据。算法是计算的顺序,程序就是将一些指令有序的排列,依次执行,包括了算法和数据)每次双击二进制的数据的时候,windows 操作系统会把二进制数据加载到内存里,CPU和内存产生交互。

寄存器是如何工作的

寄存器中分累加寄存器,标志寄存器,程序计数器,基址寄存器,变址寄存器,通用寄存器,指令寄存器,栈寄存器


累加寄存器:CPU做加法运算,存储记录计算之后的数据,寄存器是读取速度比内存快100倍。(CPU通过总线告诉主板控制器要读取的单元,CPU拿到数据通过寄存器计算) 

标志寄存器:记录CPU的状态,帮助进行逻辑判断的,根据两个数之间的比较,来改变标志运算器状态

程序计数器:存储了下一条指令在内存中的地址。

基址寄存器:存储当前数据内存开始的地址

变址寄存器:存储基址寄存器的相对位置(偏移的位置),基址寄存器和变址寄存器能得到某个内存的具体地址

通过寄存器:什么地方都可以用的寄存器

指令寄存器:CPU内部使用,程序员不能操作,作用是存储当前指令

栈寄存器: 记录栈的起始位置

程序计数器

  程序进行加载到内存之后,操作系统会告诉CPU程序开始的地址在哪儿(比如0100),CPU中的程序计数器就会记录(0101),当这步运算结束后,CPU会再取程序计数器里的值,计数器会累加(0102)。程序往下执行,计数器继续累加。程序有多种执行方式,条件分支,循环。

分支:

  比如有5个内存地址  

0100  
0101 2==3
0102  
0103  
0104  


在执行0101的时候需要进行2==3判断,如果等于则执行0102,不等于执行0104。

    这个判断需要两个寄存器来完成,程序计数器和标志寄存器。在0101时会进行计算,通过这个计算之后,CPU会改写寄存器(32位),标志寄存器会进行置位的操作。

一句跳转指令: 1.计算  2.将标志指令进行置位操作  3.判断 改写寄存器的值达到跳转的效果。


二进制数

  为什么要用二进制?


    CPU由集成电路构成的。集成电路芯片上有许多引脚,一个引脚只有两种状态(高电平和低电平),u 我们用0代表低电平,1代表高电平,因此使用二进制来表示引脚的状态更为方便。

 

如何用二进制表示文字,图片,视频,声音

字符:英文字母26个 , 大小写52个 ,用52个编号表示其中每一个字符。

图片:把图片分解为一个个小点,用几个bit来表示其中某个点是某颜色。

视频:由图片一帧一帧的播放,原理和图片一样(各种格式是内部的数据排列不同)

声音:通过采样形成一些高低波的点来形成的一些格式

二进制和十进制的转换

二进制是逢2进1,十进制是逢10进1

二进制之间的运算

二进制可以进行加减乘除。二进制中所有运算都是靠加来实现的。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多