现代操作系统学习笔记------计算机硬件1.处理器

处理器

计算机的“大脑”是CPU,从内存中取出指令并执行之。在每个CPU基本周期中,首先从内存中取出指令,解码以确定其类型和操作数,接着执行之,然后取指,解码并执行下一条指令。按照这一方式,程序被执行完成。

每个CPU都有一套可执行的专门指令集

由于访问内存以得到指令或数据的时间比执行指令花费的时间长得多。因此,所有的CPU内部都有一些用来保存关键变量和临时数据的寄存器

除了用来保存变量和临时结果的通用寄存器外,多数计算机还有一些对程序员可见的专用寄存器。其中之一是——程序计数器,它保存了将要取出的下一条指令的内存地址。在指令取出后,它会更新指向下一条指令的内存地址。

另一个寄存器是——堆栈指针,指向内存中当前栈的顶端。该栈包含了每个执行过程的栈帧。一个过程的栈帧保存着有关的输入参数、局部变量以及那些没有保存在寄存器中的临时变量

程序状态字寄存器(Program Status Word,PSW)。这个寄存器包含了条件码位(由比较指令设置)、CPU优先级、模式(用户态或内核态)、以及其他控制位。在系统调用和I/O中,PSW很重要。

一个CPU可以有单独的取指单元、解码单元、执行单元。当执行指令n时,可对指令n+1解码,对指令n+2取指。这样的机制称为流水线(pipeline)。

比流水线更先进的是超标量CPU,这种设计有多个执行单元。多个指令可被同时取出和解码并装入暂存缓冲区等待执行单元执行指令。这种设计有一个问题就是程序的指令经常不按顺序进行。但是在多数情况下,硬件会保证这种结果与按照顺序执行的结果相同。但依然会存在甩给操作系统解决的情形。

除了嵌入式系统比较简单的CPU外,多数CPU都有两种形态(内核态、用户态)。通常在PSW中有一个二进制位控制这两种模式。

多线程和多核芯片

多线程(multithreading) 超线程(hyperthreading,这是Intel公司的命名)。

近似地说,多线程允许CPU保持两种不同的线程形态,然后再纳秒的时间尺度内来回切换。(线程是一种轻量级进程。)于是单个的线程看起来就像是单个的CPU。

除了多线程还出现了包含2个或4个完整处理器或内核的CPU芯片。当然Intel Xeon Phi等处理器已经能在一枚芯片上集成60多个核。使用这些多核芯片当然需要多处理操作系统。

在绝对数目方面,现代GPU那可太厉害了。GPU是由成千上万个微核组成的处理器。他们擅长大量并行运算,但不太能够胜任串行运算。GPU对操作系统很有用,但是操作系统不太可能运行在GPU上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值