linux操作系统原理 csdn

资料大小: 1002KB

所需积分: 0

下载次数:

用户评论: 0条评论,查看

上传日期: 2017-04-21

上 传 者: 小林子的小段子他上传的所有资料

资料介绍

标签:微处理器(325)

linux基础

CPU

CPU,或者微处理器,是计算机系统的核心。微处理器进行计算或者逻辑操作并且管理来自主存的指令并执行它。在计算机的早期时代,微处理器的功能部件使用的是分立元件(外型很大)。 这就是中央处理单元这一名词的由来。现代微处理器将部件结合到小型硅片上的集成电路中。在本书中 CPU 和微处理器及处理器有相同的意义。 微处理器的操作对象是二进制数据;数据由 0 和 1 组成。 1 和 0 对应着电子开关的开路与断路状态。正如十进制的 42 表示有 4 个 10 和一个 2 一样,一个二进制数是一系列表示 2 的次幂的二进制数字组成。二进制 0001 对应十进制的 1,二进制的 0010 对应十进制的 2,二进制的 0011 表示 3,而 0100 对应 4。十进制 42 的二进制表示为 101010。但是在计算机程序中, 人们常用十进制来表示数而不是直接使用二进制。

在需要使用二进制数时,人们往往使用 16 进制数。如十进制数只能从 0 到 9 一样,16 进制数可以从 0 疏导 15,其中 10 到 15 分别用字母 A、B、C、D、E 及 F 来表示。这样 16 进制的 2A 的十进制表示为 42-2*16+10=42。在 C 程序语言中,16 进制数的前缀为“0x”;16 进制的 2A 写成 0x2A。 微处理器可以执行如加、乘和除以及象“X 是否比 Y 大”这种逻辑运算。处理器的执行由外部时钟来监控。这个时钟称为系统时钟,它每隔相同的时间间隔就向 CPU 发送一个脉冲。在每个时钟脉冲上,处理器都会做一些工作。比如,处理器每个时钟脉冲上执行一条指令。

处理器的速度一般以系统时钟的速率来描叙。一个 100MHz 的处理器每秒将接收 100,000,000 个时钟滴答。但是用 CPU 的时钟频率来描叙 CPU 的工作能力是不正确的,因为它们执行的指令不相同。然而,快速的时钟可以在某种程度上代表高性能的 CPU。处理器执行的指令是非常简单的;例如“将内存 X 处的内容读入寄存器 Y”。寄存器是微处理器的内部存储部件,用来存储数据并对数据执行某些指令。有些指令有可能使处理器停止当前的工作而跳转到内存中另外一条指令执行。现代微处理器的紧凑设计使得它有可能每秒执行上百万甚至亿条指令。指令执行前必须从内存中取出来。指令自身要使用的数据也必须从内存中取出来并放置在适当的地方。微处理器中寄存器的大小、数量以及类型都取决于微处理器的类型。Intel 80486 处理器和 Alpha AXP 有迥然不同的寄存器,最明显的区别在于 Intel 寄存器为 32 位而 Alpha AXP 为 64 位。一般来说,任何处理器都有许多通用寄存器和少量专用寄存器。许多微处理器有以下几种特定的寄存器。

程序计数器(PC) 此寄存器包含下条指令执行的地址。每当取回一条指令时,PC 的内容将自动增加。

堆栈指针(SP) 微处理器经常需要访问存储临时数据的外部 RAM。堆栈是一种便捷的存放临时数据的方法,处理器提供了特殊指令来将数值压入堆栈然后将其从堆栈中弹出。堆栈以后进先出(LIFO)的方式工作。换句话说,如果你压入两个值 X 和 Y,然后执行弹栈操作,你将取到 Y 的值。

有些处理器的堆栈从内存顶部向下增长而有些相反。但有的处理器同时支持这两种方式,如 ARM。处理机状态字(PS) 指令的执行将得到执行结果;比如“寄存器 X 中的内容要大于寄存器 Y 中的内容?”将得到正确或错误作为结果。PS 寄存器包含着这些信息及有关处理器当前状态的其他信息。例如大多数处理器至少有两种执行方式,核心(或管态)与用户方式。PS 寄存器包含表示当前执行方式的信息。

用户评论

查看全部 条评论

发表评论请先 , 还没有账号?免费注册

发表评论

用户评论
技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
上传电子资料