用户态的CPU,只允许执行指令集中的部分指令。一般而言,IO相关和把内存保护相关的所有执行在用户态下都是被禁止的,此外其它一些特权指令也是被禁止的,比如用户态下不能将PSW的模式设置控制位设置成内核态。
控制器之所以知道数据放哪里、做什么运算(比如是做加法还是逻辑运算?)都是由指令告诉控制器的,每个指令对应一个基本操作,比如加法运算对应一个指令。例如,将两个MDR寄存器(保存了来自内存的两个数据)中的值拷贝到ALU中,然后根据的操作指令执行加法运算,将运算结果拷贝会一个MDR寄存器中,后写入到内存。
用户态CPU想要执行特权操作,需要发起系统调用来请求内核帮忙完成对应的操作。其实是在发起系统调用后,CPU会执行trap指令陷入(trap)到内核。当特权操作完成后,需要执行一个指令让CPU返回到用户态。除了系统调用会陷入内核,更多的是硬件会引起trap行为陷入内核,使得CPU控制权可以回到操作系统,以便操作系统去决定如何处理硬件异常。
关于CPU上的高速缓存
1、高速的缓存是CPU的寄存器,它们和CPU的材料相同,靠近CPU或接近CPU,访问它们没有时延(<1ns)。但容量很小,小于1kb。
2、寄存器之下,是CPU的高速缓存。分为L1缓存、L2缓存、L3缓存,每层速度按数量级递减、容量也越来越大。
3、每核心都有一个自己的L1缓存。L1缓存分两种:L1指令缓存(L1-icache)和L1数据缓存(L1-dcache)。L1指令缓存用来存放已解了码指令,L1数据缓存用来放访问非常频繁的数据。
4、L2缓存用来存放近期使用过的内存数据。更严格地说,存放的是很可能将来会被CPU使用的数据。
5、多数多核CPU的各核都各自拥有一个L2缓存,但也有多核共享L2缓存的设计。无论如何,L1是各核私有的(但对某核内的多线程是共享的)。
- NXT贴片机大量现机价格合理 2020-07-15
- NXT模组机长期出租常用解决方案 东莞富克电子有限公司 2020-07-15
- 富士NXT贴片机租赁费用免费咨询 东莞富克电子有限公司 2020-07-14
- M6二代CPU箱现货供应承诺守信 2020-07-14
- 富士NXT贴片机租赁价格信息推荐「在线咨询」 2020-07-14
- NXT三代贴片机长期供应现机常用解决方案「多图」 2020-07-13
- M6二代CPU箱现货供应诚信企业 2020-07-12
- 贴片机设备保养价格来电咨询「多图」 2020-07-12
- M3二代CPU箱上机测试品质售后无忧“本信息长期有效” 2020-07-11
- M6二代CPU箱现场测试询问报价 2020-07-10