从灿芯说起,聊聊后端设计,换FAB换制程要花多大的代价?
麒麟芯片内部的计算单元,总线单元,CPU/GPU单元,基带单元,AI内核,甚至总线构架,SRAM单元,寄存器,分支预测,各种功能,如何实现,整个芯片内部各个单元模块怎么设计,怎么摆,都完全是H公司自己搞的,这不算自研就属于无脑黑了。知乎有个神回复比较有意思,难道福建号航母用的是澳大利亚的铁矿石就不是国产航母了?基本就是这...
发条消息就能破解iPhone?苹果系统这次像被“内鬼”攻破的。。。
正常情况下,各种可用的外围设备比如马达、扬声器、麦克风等等,都会提供特殊的硬件寄存器,CPU可以通过这些寄存器来操作这些设备。而此次攻击者用来绕过苹果硬件层保护的这些寄存器,CPU自己都没有调用过,也不知道他们是用来干嘛的。这就是为啥要说这些寄存器是“未知”的。夸张点说,即使是是苹果自己的工程师来...
按下电源后的几秒钟,CPU在干嘛?
我们是一个64位的CPU,平时都是工作在保护模式下,使用虚拟地址来访问内存,由厂里的内存管理单元MMU负责给转换成真实的物理地址。不过在刚刚开机的这会儿功夫,虚拟地址翻译所需要的页目录、页表这些信息都还没准备好,MMU还没法工作,这时候我们只能使用16位的寄存器,工作在实地址模式下,使用段+基址的方式来跟内存打交...
Intel官方科普第二篇:CPU的高速缓存到底是干嘛的?
今天,Intel官微又带来了新的知识点:CPU没有存储功能,那缓存到底是干什么的?Intel方面表示,缓存是用于减少处理器访问内存所需平均时间的部件,作用类似于CPU内部的内存。具体来说,CPU内置的高速缓存在计算机系统的金字塔式存储体系中位于第二位(自伤而下),重要性仅次于CPU寄存器。从容量上说,CPU缓存远小于常见的内存...
一个时代有一个时代的计算架构
其中,运算器也叫算术逻辑单元(ALU),负责算术运算和逻辑运算。寄存器细分为指令寄存器和数据寄存器等,负责暂存指令、ALU所需的操作数、ALU算出的结果等。控制器则负责整体调度工作,包括对要执行的指令进行译码、从内存中调取数据给寄存器、向运算器和寄存器发出具体操作指令等。
Linux 0.11 第 3 回 | 做好访问内存的最基础准备工作
所以,千万别多想,就这么点事儿(www.e993.com)2024年9月30日。那再给大家留个作业,把当前的内存布局画出来,告诉我现在cs、ip、ds、ss、sp这些寄存器的值,在内存布局中的位置。好了,接下来我们应该干什么呢?我们回忆下,我们目前仅仅把硬盘中512字节加载到内存中了,但操作系统还有很多代码仍然在硬盘里,不能抛下他们不管呀。
Linux 0.11 第五回 | 进入保护模式前的最后一次折腾内存
前面的文章好好看过的话,一下就能猜出它要干嘛。还记不记得之前有个int0x13表示触发BIOS提供的读磁盘中断程序?这个int0x10也是一样的,它也是触发BIOS提供的显示服务中断处理程序,而ah寄存器被赋值为0x03表示显示服务里具体的读取光标位置功能。
电子眼原来是这样抓拍闯红灯的!
闯红灯电子眼采用感应线来感应路面上的汽车传来的压力,通过传感器将信号采集到中央处理器,送寄存器暂存(该数据在一个红灯周期内有效)在同一个红灯时间间隔内,如果同时产生两个脉冲信号的话,即视为有效。简单的说意思就是,如果红灯了,你的前轮过了感应器,产生一次脉冲,这时候是不拍照的,如果这时候后轮继续过去...
关于Keil C51中using关键字的使用心得
using0就是指定在执行函数时切换为使用第0组,不加using关键字的话,一般都默认使用第0组,但这样的话在调用其他函数(包括中断服务函数)的时候,就会加入一些压栈指令以保护原来的R0-R7寄存器的(这样的话,程序执行会效率会低一点,因为会产生很多个指令是用来压栈出栈的),照这样说,只是加了using0,使用的也是第0...
从内存布局上看,Rust的胖指针到底胖在栈上还是堆上?
查看栈寄存器信息inforegrsp打印变量信息prints1查看内存信息x/长度xb内存地址如下:X/5xb0x5555557a0110实锤证明胖指针的确胖在了栈上说到这里其实相应的准备知识也就都有了。这里我们只需要进入到gdb去具体看一下情况就可以了。1.确定栈空间位置:我们先按照上述gdb调试方法执行到第5步,确定rsp...