操作系统:汇编语言、计算机组成、CPU原理

汇编语言执行过程

  • 汇编的本质:助记符,本质就是机器语言
  • 计算机通电,CPU读取内存程序
  • 时钟发生器不断震荡,通断电,推动CPU一步步执行
  • 执行多少步骤取决于指令需要的时钟周期
  • 计算完成后,回写,输出给显卡

CPU制作与原理

  • 沙子提纯,做成硅锭,切片,晶圆
  • 涂抹光刻胶、光刻(非常复杂,光刻机一台1~2亿)
  • 蚀刻、清除光刻胶、电镀、抛光
  • 铜层、测试、切片、封装
  • 思考:晶体管是如何工作的?

最重要的是要解决用什么代表数字?后来发现用电是最合适的

量子计算机

  • 量子比特,1比特既可以代表0,也可以代表1
  • 还可以同时代表0和1
  • 还可以代表0和1之间的任意状态

  • 量子计算机可轻松暴力破解现在常见加密算法

计算机基本组成

  • PC:程序计数器,记录当前指令地址
  • Registers:寄存器,暂存CPU计算需用到的数据,分很多种,离CPU最近,速度最快
  • ALU: 运算逻辑单元
  • CU: 控制单元
  • MMU: 内存管理单元
  • cache:

超线程

  • 一个ALU 对应多个PC+Registers
  • 所谓的四核八线程大概就是这种设计

存储器的层次结构

  • CPU内部存在多级缓存架构设计
  • registers < 1ns
  • L1 cache ≈ 1ns
  • L2 cache ≈ 3ns
  • L3 cache ≈ 15ns
  • main memory ≈ 80ns
  • L1 与 L2 为核心独享
  • L3 为多核心共享

CPU 乱序执行

  • 本质是同步执行,提升计算效率
  • CPU会对指令重排
  • java中可加volatile禁止指令重排序
  • CPU层面如何禁止重排序?内存屏障
  • 内存屏障:两条指令存储在内存中,中间存在一个分割线,表示上下两个指令不可互换
  • intel使用3条原语指令或 lock汇编指令实现内存屏障
  • jvm在写操作与读操作前后都加了内存屏障
  • jvm内部有一个hanppens-before原则,一共8条规则
  • 不管如何重排序,单线程执行结果一定保持不变
  • NUMA:优先分配在CPU最近的内存中
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值