从零开始的操作系统-完善mbr
引言: 持续的努力和坚持才会有所收获
地址和vstart
编译器给程序中各符号(变量名或者函数名等)分配的地址,就是各位符号相对于文件开头的偏移量.
section 中数据的地址依然是相对于整个文件的顺延,仅仅是在逻辑上让开发人员梳理程序之用.
vstart是虚拟起始地址, 为 section 内的数据指定一个起始地址,从这个地址往后编排 data 和 code.
CPU的实模式
CPU的工作原理
CPU大概分为三个单元: 控制单元, 运算单元, 存储单元.大概的工作原理为: 控制单元要取下一条待运行的指令, 该指令的地址在程序计数器PC中,
在x86CPU上,程序计数器就是CS:IP. 取地址,放入指令寄存器IR, 指令译码器译码, 然后操作控制器给运算下令. ip累加指向下一个地址. 重复整个过程.
实模式下的寄存器
寄存器有很多种类, CPU是用 “段基址 : 段内偏移地址” 的方式来访问内存, 段基址就是段寄存器来存储的. CPU通过总线地址访问内存, 而这个地址存在段寄存器里.
一般有 CS, DS, ES, FS, GS, SS 等寄存器. CS: 代码段寄存器, 存放指令 ...
卷积和池化实现的一些杂谈
引言:一次小小的复习
卷积和池化的 img2col是怎么计算的?,反向传播过程又有哪些需要注意的地方? 维度变换到底是怎么一回事? 如果你感兴趣不妨看下去 -qwe
众所周知,由于传统的卷积计算速度太慢,所以有了img2col技术,那我这里假设读者已经都是对卷积和池化两个概念非常熟悉的同学了,我们本文就专注于这两个算子在代码上的实现,在实现之前也带大家复习一遍简单的推导。其中可能有一些错误的地方,求轻喷和大佬们的谅解!
前向计算的部分,比较基础,大家应该都会,我们这里给出前向计算的img2col版本代码,这部分代码是我的自制框架中的一部份,感兴趣的话可以看我的github。
1234567891011121314151617181920212223242526272829303132333435363738class Conv(TensorOp): # 初始化stride和padding def __init__(self, stride: Optional[int] = 1, padding: Optional[int] = 0): self.strid ...
从零开始的操作系统-初识mbr
引言: 这是我的一小步,却是…好吧还是一小步
计算机的启动过程
第一个运行的软件是BIOS(base input and output system),所以了解计算机的启动过程,我们就得了解BIOS。
BIOS存在只读存储器ROM里面, 在8086(一个cpu)的实模式内存布局下,BIOS有1MB的大小空间,也就是(2^20bits),BIOS的载入地址为0xF0000~0xFFFFF。这64KB
是ROM,里面存了BIOS的代码, BIOS建立了中断向量表, 所以我们可以用 “int 中断号” 来实现硬件调用.
0-0x9FFFF是DRAM (动态随机访问内存), 640kb的大小, 对于8086来说,这就是主存部分, 我们可以发现主存总是比地址总线要小, 因为地址总线还要分配地址给各种外部设备,不只是内存.
由于CPU访问内存是分段访问。所以具体为段基址往左边偏移四位(十六进制下就是一位)加上偏移地址,所以在开机的一瞬间,cs:ip 寄存器会被强制初始化为 0xF000:0xFFF0,我们来简单换算一下, F0000 + FFF0 -> FFFF0, 也就是说,BIOS的入口 ...
从零开始的操作系统-部署工作环境
引言: 从一个伟大而遥远的梦想说起
人们常说不要老是做白日梦了,意思就是不要老是幻想一些不切实际的事实,但我却不这么觉得,做人没有梦想和咸鱼有什么区别? ——qwe
我记得我小学三年级的时候有一个梦想,梦想做一个国产的操作系统。一个小学生,当时为什么会这么想呢,其实原因也很简单,因为google退出了中国大陆,当时的安卓系统有很多google play支持的游戏不能玩,于是我就有了一个大胆的想法,可惜当年的我英语太差,去书城抱着一本c语言从入门到精通,读了半天看到main这个单词就不认识,索性放弃了。再后来由于学业和时间的阻碍,我一直没能实现我的这个曾经的梦想。
上了大学后,我一直在思考,在国内这种考试的体系下,我们在学习的过程中舍弃了自己本身的爱好,本身的兴趣,丧失了自我,这其实是不对的。不能抱着一种现在当下的任务就是考试要紧,其他的东西到大学再说,你就会发现和很多优秀同龄人相比,你少了很多本该应有的积累。你在大学里没有自己的爱好,兴趣不知道干什么,天天打游戏混日子,这是很多大学生当下的写照。
扯远了,其实我想说的是,你无论在什么时候,都应该有一个属于你自己的梦想,哪怕遥不可及, ...