计算机漫游3-Computer Systems笔记之CPU
CPU是整个计算机最核心的工作车间,控制着整个计算机的运算和指令,每次开机CPU就会主动通过电话线(系统总线)到电话中转局(IO桥)接通主存索取指令,主存就直到要开始工作了,然后把第一条工作命令(存放在地址0xFFFFFFF0)发给CPU,接着让我们看看CPU到底是怎样工作的
问:CPU,你先简单介绍下自己吧
CPU:好的,我们全称是“Central Processing Unit(中央处理器)”能看出我们在计算机中重要的核心地位——我们控制着整个计算机的运算和指令。
Tip:CPU有许多不同的名称,例如,处理器(processor)、计算机处理器(Computer processor)、微处理器(microprocessor)、中央处理器(Central processor)、计算机的大脑(the brains of the computer)等。
说着,CPU领我们去了它的工作车间外面,
“主板城对我们CPU可好了,专门提供了一个CPU插槽给我们,我们就直接连接到插槽就能进行工作了。正如你们看到的,我们外形就是一个小小的方形块,底部有许多短短的圆形金属连接器,在很久以前,都是针脚,稍有个磕碰啥的就坏掉了”
在CPU车间外面,采访者看到一堆堆的数据从北桥(NorthBridge)中传到系统总线(数据总线、控制总线、地址总线合称)超快地传到CPU车间里头,同时又有一堆堆数据以疯狂的速度从CPU车间出来,采访者都一脸惊讶,这速度也太快了吧!
CPU的倍频技术
”哈哈,这完全得益于‘倍频技术’。因为我们处理的速度过快,且我们与主板城其他家伙都是通过系统总线和南北IO桥在联系,而其他家伙比如说硬盘,尽管他存储空间大,但是速度太慢了,经常我们要执行拷贝一个文件到硬盘需要几分钟甚至几十分钟。这就好比一群人共同处理一个连续作业,如果这一群人里面有个人的动作特别快或特别慢,将导致前面或者后面的人事情一堆处理不完!主人就想着要是能让我们(主要是CPU和系统总线)速度差不多就好了,又因为很多判断与数据都是在我们内部处理的,因此主人就在我们内部加上一个加速功能——倍频技术,使得系统总线即使工作在相对较低的频率上,而我们CPU的速度能通过倍频来无限提升。
再说说你们常常听见的‘外频’,外频就是我们与主板其他家伙进行交流(数据传输)时的速度啦,将倍频和外频相乘(CPU频率=倍频×外频),就是我们的工作频率。举个栗子,Intel Core 2 Duo E8400 CPU的频率是3.0GHz,外频是333MHz,那它的倍频就是9倍(3.0GHz = 333MHz×9,其中1G取1000M)”
CPU边眉飞色舞地说着,边带着我们进入了它的工作车间。
CPU的物理结构
采访者被车间内部繁多而又有条理的机器运作吓了一跳,这么复杂啊!看到地上还有好多线连接着各个机器,“这就是我们的工作车间,你们初来乍到,别想得这么复杂,我给你们简化一下”,说着,CPU就拿出了一张纸随手画了起来:
“你看,可以简单地把这些机器分为三部分——
第一部分是‘运算器’:在图上就标了两个重要的部件——算术逻辑单元(Arithmetic and Logic Unit,ALU),累加寄存器(AC),其实还有数据缓冲寄存器(DR)和状态条件寄存器,它平时呢就是做一些数据加工处理,完成计算机的各种算术和逻辑运算,运算器这家伙的工作是由控制器下达的,运算器平时就等着控制器给他下发控制信号,收到后就开始一丝不苟地工作;
第二部分就是给’运算器‘下发命令的’控制器‘啦:你们都知道CPU控制整个计算机的运行,那么控制器就控制着整个CPU的工作,换句话说,控制器决定了计算机运行过程的自动化。控制器绝对是最让人省心的,它不仅保证程序正确运行,还能够自己处理异常事件。其实控制器能这么有效工作,得益于它内部的四个逻辑——
时序控制逻辑:给每条指令按时间顺序提供应有的控制信号,就是给每条指令按着先后顺序排一个队。
总线逻辑:好比人类工厂通过传送带运输货物一样,在CPU里头各机器间是通过总线运输货物传递信息的(看图上的箭头)。如果不加以逻辑控制,就很容易乱套,比如数据本来应该先去累加器里头,结果被送进了指令寄存器,CPU完全无法工作了嘛,所以就有了一套总线逻辑,专门负责管理控制给多个功能部件服务的信息通路。
中断控制逻辑:CPU平时要处理太多(中断)请求了,而且常常因为怠慢了vip客户(优先级高的请求)被投诉,于是就有了中断控制逻辑,专门判断谁是vip,谁是普通用户(即判断优先级高低)然后对中断请求进行排队,逐个交给CPU处理。
指令控制逻辑:负责取指令,分析指令和执行指令。”
采访者:CPU,你还有个部分没说呢!第三部分是什么啊
CPU:哦哦,第三部分可复杂了,先简单说两句吧,以后我们开个茶话会慢慢讲,第三部分就是“寄存器组”了,英文名叫“Register file”,寄存器速度是最快的,包括”通用寄存器、专用寄存器和控制寄存器“,用来保存指令执行过程中临时存放的数据。
—
CPU终于把他家的物理结构讲了个大概
—
采访者:CPU,聊聊你们怎么工作的吧
CPU:其实我们就主要负责处理和运行指令,干我们这行呢,工作时间是不固定的,当主人开机的时候,我们就被一股电流叫醒工作了。清醒后呢,就赶紧发出命令给主存索取指令,命令经由系统总线,再经过北桥到达主存,主存就慢悠悠地把它最顶端(地址0xFFFFFFF0)处的命令再慢悠悠地通过北桥、系统总线给我发过来。收到指令一看,发现是每次工作必做的第一件事——去ROM大楼的BIOS家叫他起床工作。
BIOS与ROM
采访者一脸疑惑盯着CPU:CPU,ROM是啥啊,BIOS又是啥啊?
CPU:ROM就是只读存储器(Read Only Memory)啦,是常驻主板上的一个内存芯片。它可厉害了,像我在断电后所有记忆都消失了,主存兄弟也是,断了电就啥也没了,外面的人叫我们这种为”挥发性存储“,但是ROM在没通电时也能够将数据记录下来,是”非挥发性存储”,因为这个特点,有许多固件(firmware)啊都居住在ROM大楼中;BIOS兄弟就更厉害了,他掌握了计算机硬件的详细信息和开机设备选择(比如你要通过U盘启动电脑的时候就得进入BIOS)等,通常开机后我们第一件事情就是去叫醒BIOS兄弟让他看看主存、硬盘、显卡等老家伙有没有出啥问题。
时间不早了,剩下的内容我们下次再聊吧。