计算机组成

计算机的组成分为三大类:中央处理器CPU 主存储器 输入输出子系统。

CPU
  • 三部分组成:
    1. 算术逻辑单元ALU:进行逻辑移位算术运算。
    2. 控制单元
    3. 寄存器组:快速存储单元:用于临时存放数据的高速独立的存储单元。
  • 数据寄存器:存储输入的数据和运算结果。
  • 指令寄存器:存储从内存当中读取的指令。
  • 程序计数器:保存当前正在执行的指令,当前指令执行完毕之后计数器自动加1指向下一条指令在内存当中的地址。

主存储器

  • 唯一标识的地址
  • 数据以字的形式在内存当中传入和传出。
  • 一般的系统32位和64位
  • 随机存取存储器 RAM:用户可以读写这个存储器的信息,但是关机之后数据失效不可永久保存。
  • SRAM:使用触发器进行保存状态,不需要刷新读取速度快但是昂贵。
  • DRAM:使用电容的充放电存储状态信息,所以内存单元需要周期性的刷新。读取速度比较慢但是便宜。
  • ROM只读存储器:二极管阵列组成的一开始就固定的所以只读不可写,存储一些开机后的固定程序信息。

存储器的层级结构

  • 考虑到性能和价格的折中
  • 需要对于几种存储器进行合理的分配:如果全使用最快的存储器那么价格会很高,用户买不起。如果都使用价格最便宜的存储器那么读取的速度会非常的低,导致性能很差。
  • 当对于速度要求很高的时候可以使用少量的高速存储器—-==cpu当中的寄存器==
  • 适量的中速存储器存储经常需要访问的数据—–==高速缓冲存储器==
  • 使用大量的低俗存储器存储那些不经常访问的数据—–==主存==

高速缓冲存储器

  • 任何时刻都含有主存的一部分内容的副本。
    1. cpu首先检查高速缓冲存储器
    2. 如果需要存取的字存在CPU就复制如果不存在就从主存当中拷贝一份要读取的字开始块覆盖高速缓冲存储区的一部分。
    3. cpu存取高速缓冲区并且拷贝该字。

输入输出子系统

  • 计算机与外界通信,存储程序和数据。
  • 非存储设备和存储设备。
  • 存储设备:磁介质和光介质。
  • 磁盘:磁介质存储设备使用磁性来存储位数据。如果有一点磁性就表示1.没有磁性就表示0.
  • 通过读写磁头来读写磁盘表面的信息。磁道扇区。
  • 磁道内部间隔分开,扇区内部间隔分开。
  • 磁盘是一个随机存取设备,数据项可以被随机的存取不需要存取放置在之前的其他数据。
  • 但是,==某一个时刻读取的最小的存储区域只能是一个扇区==。
  • 磁盘的性能取决于:
    1. 角速度:磁盘的旋转速度
    2. 寻道时间:寻找数据所在磁道的时间。
    3. 传送时间:将数据从磁盘移到CPU/内存的时间。

cpu通过三条总线和内存以及IO设备进行关联

  • 数据总线 传输数据
  • 地址总线 传输地址
  • 控制总线 传输指令

  • 指令集 对于指令进行划分 指令 操作数 。。。。有点意思

  • 处理指令:一个周期分为三个阶段:取指令,译码,执行。PC程序计数器存放指令的在内存的地址。从内存当中这个地址取出指令放进IR指令寄存器,在这进行译码,所需要的操作数从寄存器或者内存当中取到。指令被执行结果放到合适的寄存器或者内存当中。程序计数器指向下一个地址单元。
  • ALU算术逻辑单元 :只能操作存储在CPU数据寄存器当中的数据。
  • 如果数据项的数量很大,CPU的数据寄存器容量不够,将他们存储在内存当中用到时,临时把他们调入寄存器。
  • 如果访问的数据数量大于CPU数据存储器的大小那么就会出现大量的换入换出操作。
  • 输入操作必须总是从输入设备读数据到内存
  • 输出操作必须是从内存写数据到输出设备
  • cpu当中的数据寄存器的数目是有限的(可能是几百个但是任然不够)

  • 写的源文件保存为二进制bit流
  • 每一个字符按照本地的编码格式翻译成相应的字节
  • 比如按照ASCII编码格式 将所有的字符转换成一个字节的8bit二进制数。
  • 至于怎么理解这段二进制信息就看程序执行这段二进制信息前的上下文。
  • 如果按照ASCII的编码格式进行翻译就能得到之前的代码,很正确的显示出来。
  • 如果使用错误的编码格式去识别 那么得到的将是错误的结果。
  • 程序一开始在磁盘上然后被拷贝到主存当中 ,指令又从主存拷贝到CPU寄存器。。。。大量的拷贝减慢了实际程序的工作。

    1. 处理器从内存读取一个字节的速度是从磁盘读取速度的1000万倍。
    2. 读取速度约快的存储设备造价越高
    3. CPU从CPU数据寄存器读取的速度是从内存当中读取速度的100倍。因为内存的大小是寄存器的上万倍。
    4. 较大的存储器比较小的存储器运行的慢。所以内存比CPU数据寄存器运行的慢。
    5. 处理器和主存之间的差距还在持续拉大。

个人理解:存储容量越大自然运行越慢,所以需要使用校的存储器提高运行速度。但是容量小能够存储的数据就越少,这就增加了数据换入换出的开销。总之这是一个需要权衡因素。

  • 在处理器和一个较大的较慢的设备之间插入一个更小更快的存储设备。
  • 更快的读取速度带来的好处比频繁的幻换入换出的开销更好。
  • 内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。
  • 如Windows操作系统、打字软件、游戏软件等,一般都是安装在硬盘等外存上的,但仅此是不能使用其功能的,必须把它们调入内存中运行,才能真正使用其功能,我们平时输入一段文字,或玩一个游戏,其实都是在内存中进行的。就好比在一个书房里,存放书籍的书架和书柜相当于电脑的外存,而我们工作的办公桌就是内存。通常我们把要永久保存的、大量的数据存储在外存上,而把一些临时的或少量的数据和程序放在内存上,当然内存的好坏会直接影响电脑的运行速度。
  • 随机存储器(Random Access Memory)表示既可以从中读取数据,也可以写入数据。当机器电源关闭时,存于其中的数据就会丢失。我们通常购买或升级的内存条就是用作电脑的内存,内存条(SIMM)就是将RAM集成块集中在一起的一小块电路板,它插在计算机中的内存插槽上,以减少RAM集成块占用的空间。目前市场上常见的内存条有1G/条,2G/条,4G/条等。
  • Cache也是我们经常遇到的概念,也就是平常看到的一级缓存(L1 Cache)、二级缓存(L2 Cache)、三级缓存(L3 Cache)这些数据,它位于CPU与内存之间,是一个读写速度比内存更快的存储器。当CPU向内存中写入或读出数据时,这个数据也被存储进高速缓冲存储器中。当CPU再次需要这些数据时,CPU就从高速缓冲存储器读取数据,而不是访问较慢的内存,当然,如需要的数据在Cache中没有,CPU会再去读取内存中的数据。

大家知道,计算机系统的时钟速度是以==频率来衡量==的。==晶体振荡器==控制着时钟速度,在石英晶片上加上电压,其就以正弦波的形式震动起来,这一震动可以通过晶片的形变和大小记录下来。晶体的震动以正弦调和变化的电流的形式表现出来,==这一变化的电流就是时钟信号==。

  • 而==内存==本身并不具备晶体振荡器,因此内存工作时的时钟信号是由主板芯片组的北桥或直接由主板的时钟发生器提供的,也就是说内存无法决定自身的工作频率,==其实际工作频率是由主板来决定的==。
  • 基本上当CPU接收到指令后,它会最先向CPU中的一级缓存(L1Cache)去寻找相关的数据,虽然一级缓存是与CPU同频运行的,但是由于容量较小,所以不可能每次都命中。这时CPU会继续向下一级的二级缓存(L2Cache)寻找,同样的道理,当所需要的数据在二级缓存中也没有的话,会继续转向L3Cache(如果有的话,如K6-2+和K6-3)、内存和硬盘。由于目前系统处理的数据量都是相当巨大的,因此几乎每一步操作都得经过内存,这也是整个系统中工作最为频繁的部件。如此一来,内存的性能就在一定程度上决定了这个系统的表现
  • 处理器基本频率表示处理器晶体管打开和关闭的速率。处理器基本频率是TDP定义的操作点。频率以千兆赫兹 (GHz) 或每秒十亿次循环计。
  • 而拥有Turbo Boost技术的CPU每一个核心都有自己的PLL(Phase Locked Loop,锁相环)电路,这样每个核心的电压和频率都可以独立控制,为此Intel专门在CPU内部设计了PCU(Power Control Unit,功耗控制)单元,PCU会以1ms(每秒1000次)的速度实时监测这四个核心的温度、电流及功耗等参数,因此又有Turbo Boost频率可以根据负载需要调整CPU的频率。同时由于参与到运算的核心数越多,控制起来就更为复杂,所以一般核心数目越多,能达到最高频率越低。
  • CPU处理器中有一条金科玉律,那就大名鼎鼎的摩尔定律,它阐述了晶体管数目与性能提升的关系
  • 974年内存之父罗伯特登纳德在其论文中表示,晶体管面积的缩小使得其所消耗的电压以及电流会以差不多相同的比例缩小,这个就是登纳德缩放比例定律。
  • 确实密切相关。我们先了解晶体管功耗是如何计算的,静态功耗的就是常规的电压乘以电流,W=V x I。而晶体管在做 1和 0的相互转换时会根据转换频率的高低产生动态功耗,W=V2 x F。显然,频率越高,功耗就越大,
  • 根据登纳德缩放比例,工艺的提升,可以让晶体管们做的更小,导通电压更低,显然就弥补了频率提升带来功耗增加问题。但是我们的工艺并不是无休止境地提升,很快就会进入了一个长期的技术平台期,7nm以后路将会十分艰辛
  • 而且晶体管尺寸缩小以后,静态功耗不减反增,带来了很大的热能转换,加之晶体管之间的积热十分严重,让CPU散热问题成为亟待解决的问题。散热做不好,CPU寿命大大下降,而且目前普遍存在的动态频率技术,过热会让CPU处于最低工作频率,高频只是个装饰、是个笑话。

image

  • GHz 单位是每秒10亿个时钟周期
  • 计算机中时钟周期是(主频的倒数),一个时钟周期cpu仅完成一个最基本的动作,完成一个基本操作的时间为机器周期,一般由几个时钟周期组成;完成一条指令为指令周期。一般由几个机器周期组成,指令不同机器周期数也不同。 以我的本本1.6G 为例 ,机器周期由两个时钟周期组成,平均三个机器周期完成一条指令(这要假设,我看不到) 时钟周期为1/(1.6*1024m)=0.61ns 机器周期为0.61*2=1.22ns 平均指令周期3*1.22ns=3.66ns 平均指令执行速度为1/(3.66ns)=273.22MIPS(百万条指令每秒) 这只是计算方法,条件也是假设的
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值