当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Linux 核心--14.处理器

Unix/Linux
Linux安全攻略 如何才能让内存不再泄漏
八大原因 让Linux远离普通用户
Linux下如何限制Root用户进行远程登陆
DenyHosts 阻止SSH暴力破解最好的方法
十一条守则 确保Linux系统安全的好办法
了解Linux系统内核安全的入侵侦察系统
斩断Linux邮件服务器上的垃圾邮件魔掌
Linux Ext3文件被删除后的恢复方法介绍
IP安全加密 IPSec安全技术全面接触
实用技巧 使用MD5加密GRUB密码操作步骤
感染Linux系统脚本程序的病毒技术介绍
使用 mailman 架设邮件列表
RedHat9.0下的DNS和虚拟主机的配置
利用IP 别名托管多个SSL 站点
嵌入式Linux在工业控制领域中的应用
用SSH客户端软件登录到服务器
Linux内核: 修改TCP/IP调优参数
实现Windows与Unix、Linux间数据交换
使用Linux脚本对无线网络进行管理
Linux下的网络HOOK实现以及使用方法

Unix/Linux 中的 Linux 核心--14.处理器


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 85 ::
收藏到网摘: n/a

  第十三章 处理器


Linux可以运行在许多类型的处理器上,本章将给出对它们的简单描叙。 


13.1  X86
省略 


13.2  ARM
ARM处理器是一种低功耗高性能的32位RISC处理器。它在嵌入式设备如移动电话和PDA中广泛使用。共有31个 32位寄存器而其中16个可以在任何模式下看到。它的指令为简单的加载与存储指令(从内存中加载某个值, 执行完操作后再将其放回内存)。ARM一个有趣的特点是它所有的指令都带有条件。例如你可以测试某个 寄存器的值但是直到下次你使用同一条件时进行测试时,你才能有条件的执行这些指令。另一个特征是可以 在加载数值的同时进行算术和移位操作。它可以在几种模式下操作,包括通过使用SWI(软件中断)指令从 用户模式进入的系统模式。 

ARM处理器是一个综合体,ARM公司自身并不制造微处理器。它们是有ARM的合作伙伴(Intel或LSI)制造。 ARM还允许将其他处理器通过协处理器接口进行紧耦合。它还包括几种内存管理单元的变种,包括简单的 内存保护到复杂的页面层次。 


13.3  Alpha AXP处理器
Alpha AXP是一种64位的load/store类型的RISC处理器,其设计目标就是高速度。它所有的寄存器都是64位; 还拥有32个整数寄存器和32个浮点数寄存器。第31个整数与浮点数寄存器被用来进行空操作。对它们读将 得到0,对它们的写没有什么影响。所有的指令都是32位并且内存操作不是写就是读。这种结构允许不同的 实现。 

不能对内存中数值的操作,所有的数据操作都是在寄存器中完成。所以如果你试图递增一个内存中的计数器 则必须先读入寄存器,修改后再写回。指令之间的相互操作仅仅通过其中一个对寄存器和内存位置的写入而 另一个从寄存器或内存位置读出而进行。Alpha AXP处理器的一个有趣的特征是包含可产生标志位的指令。 如测试两个寄存器中的值是否相等,其结果没有存放在处理器状态寄存器中而是放在第3个寄存器里。初 看起来好象很奇怪,但是删除对状态寄存器的依赖关系将更加容易构造一个超标量多发射CPU体系结构。在 不相关寄存器中的指令将不必为从单一状态寄存器等待而浪费执行时间。缺少对内存的直接操作以及大量 寄存器对多发射结构也有帮助。 

Alpha AXP结构使用叫做特权体系库代码(PALcode)的一组子程序。此PALcode依赖于特定的操作系统、 Alpha AXP体系的CPU实现以及系统硬件。这些子程序为操作系统提供了上下文切换、中断、异常和内存 管理原语。它们可以由硬件或者通过CALL_PAL指令来调用。PALcode使用标准的Alpha AXP汇编代码写成并 做了一些扩展以提供对底层硬件指令的直接访问,如内部处理器寄存器。PALcode在一种叫PALmode的特权 模式下执行,此时它将停止一些系统事件的发生并允许PALcode对物理系统硬件进行完全的控制。