计算机体系

计算机体系

数学: Leibniz无穷小分析(非标准无穷小分析)
数学: 微分 积分
物理: ; 力学:
电磁学:
集总原件组成的简化电路
数字电路: 记忆 运算
处理器: 记忆(寄存器) 运算(算术逻辑运算) 控制(时钟、记忆、运算) ; 主存: 记忆(指令、数据)
指令: 取指令,译码,执行,检查中断(若有中断则保存当前状态,并段间跳转到中断服务)
操作系统:
编译器 ; 解释器
应用程序: java c cpp python ...

x86体系任务切换(线程切换)

每个核心(每个处理器)有一个定时器电路,

几百毫秒后定时器1发出中断信号, 处理器1在当前指令的"检查中断"阶段跳转到一段代码,
    这段代码先保存当前线程1状态(比如执行到哪条指令:PC寄存器),然后从就绪线程队列中找一个线程2覆盖处理器1的状态(比如PC寄存器),
        此时处理器再进行指令周期,执行的就是线程2的指令了。
            这就是任务切换(线程切换)


从处理器1的视角来看:
先执行了线程1的一部分指令,接着执行了一段中断(用于切换线程),再接着执行了线程2的一部分指令, 又执行了那一段中断(用于切换线程), 又再接着执行了线程3的一部分指令.
这就是处理器1的常态.
处理器1并不知道每条指令属于谁的,有啥差别.

x86的分段

  • 实模式的分段是真实分段, 物理地址 == 段号*段尺寸+段内偏移
  • 保护模式的分段是 带检查的间接的真实分段,
    物理地址 == " 表[段号]*段尺寸+段内偏移, 再由一检查电路来检查是否符合一定规则:'比如段内偏移不能为任意值,因为段内偏移足够大的话可能会延伸覆盖到别的段或操作系统的段, 这就是保护的含义之一' "

你可能感兴趣的:(计算机原理)