随笔分类 -  intel CPU

对intel CPU的一些理解
x86-7-页式管理(Paging)
摘要:x86-7-页式管理(Paging) 页式管理是重中之重! 在段式管理下操作系统的运作出现了很多问题,因为段的长度不定,在分配内存时,可能会发生内存中的空闲区域小于要加载的段,或者空闲区域远远大于要加载的段,这样一通分来分去最后会导致剩下一些内存碎片,也就是可以的内存还有但是都很小而且地址空间不连续 阅读全文
posted @ 2022-03-17 03:06 Sna1lGo 阅读(701) 评论(0) 推荐(1)
x86-6-特权级
摘要:x86-6-特权级 特权级(Privilege Level),是描述符和段选择子中的一个字段,当使用描述符或者选择子时,该字段用来控制将要进行的操作。比如说:切换一个段的时候就会对该段的特权级进行判断。 Intel CPU有4 个特权级别,分别是0 到3,较大的数值意味着较低的特权级别,在Windo 阅读全文
posted @ 2022-03-15 03:24 Sna1lGo 阅读(340) 评论(0) 推荐(0)
x86-5-中断和异常
摘要:x86-5-中断和异常 前面讲过了实模式下的中断: 8086-6-中断 - Sna1lGo - 博客园 (cnblogs.com) 其实大致内容是差不多的,只是到了保护模式下稍有不同。 在保护模式下的中断: 其实所谓的异常就是内部硬件中断,两者是一致的。 保护模式中的异常: 异常就是内部硬件中断。它 阅读全文
posted @ 2022-03-15 03:04 Sna1lGo 阅读(232) 评论(0) 推荐(0)
x86-4-任务(task)
摘要:x86-4-任务(task) 4.1 任务: CPU将一整段正在运行的代码称作任务,可以类比操作系统的线程。比如说:你在Windows写了个程序进行运行,这个程序的运行在操作系统层面上来说就是进程里的线程,在CPU层面上来说就是任务。 4.2 操作系统中的任务: 在操作系统中操作系统的内核可以管理用 阅读全文
posted @ 2022-03-14 17:55 Sna1lGo 阅读(302) 评论(0) 推荐(0)
x86-3-段式管理(segmentation)
摘要:x86-3-段式管理(segmentation) 3.1 段式管理概述: 从8086CPU开始,为了让程序在内存中能自由浮动而又不影响它的正常执行,CPU将内存划分成逻辑上的段来给程序使用。 x86继续沿用了这一模式,但是用保护模式将其管理起来,进行保护。而段式管理正是用来对段进行管理的。 在保护模 阅读全文
posted @ 2022-01-11 00:20 Sna1lGo 阅读(871) 评论(0) 推荐(0)
x86-2-保护模式(protect mode)
摘要:x86-2-保护模式(protect mode) 2.1 引入保护模式的原因: 操作系统负责计算机上的所有软件和硬件的管理,它可以百分百操作计算机的所有内容。但是,操作系统上编写的用户程序却应当有所限制,比如只允许用户程序访问属于自己程序的内容,不然整个生态就很恶劣了,想象下你手机上的的微信被恶意软 阅读全文
posted @ 2022-01-05 23:37 Sna1lGo 阅读(572) 评论(0) 推荐(0)
x86-1-32位x86 处理器编程架构
摘要:x86(32位)-1-32位x86 处理器编程架构 Intel 32 位处理器架构简称IA-32(Intel Architecture,32-bit) x86是指intel的86系列的CPU统称,比如说8086就是x86里面中的一款CPU。 IA-32,X86-32是指intel的32位CPU架构。 阅读全文
posted @ 2022-01-04 04:01 Sna1lGo 阅读(1219) 评论(0) 推荐(1)
8086-6-中断
摘要:中断(8086) 中断就是打断处理器当前的执行流程,去执行一些和当前工作不相干的指令,执行完之后,还可以返回到原来的程序流程继续执行。 就好比你在打游戏突然老板来电话了,你不得不先停止打游戏然后来处理这件更为重要的事件,然后打完电话之后继续打游戏。 中断的一些概念: 中断号: 由于CPU需要通过对不 阅读全文
posted @ 2021-12-31 12:40 Sna1lGo 阅读(1500) 评论(1) 推荐(1)
8086-5-CPU如何与外围设备交互(8086)
摘要:CPU如何与外围设备交互(8086) 外围设备 和处理器进行交互的硬件有很多,比如:硬盘,显示器、网络设备、扬声器和麦克风、键盘、鼠标等。 根据应用的场合,还会对接一些没见过的设备。 所有连接的硬件设备,都在计算机主机附近,争着跟计算机交互,这样的硬件设备叫做外围设备(Peripheral Equi 阅读全文
posted @ 2021-12-30 01:20 Sna1lGo 阅读(1745) 评论(0) 推荐(1)
8086-4-计算机是如何显示内容的
摘要:计算机是如何显示内容的 为了让计算机显示内容,通常需要两种硬件,显示器和显卡。显卡是为显示器提供内容,并控制显示器的显示模式和状态,显示器的职责是将内容以视觉可见的方式呈现在屏幕上。 显卡 通常,显卡是独立生产、销售的部件,需要插在主板上才能工作,这种被称为独立显卡也就是常说的独显。每台计算机都有主 阅读全文
posted @ 2021-12-24 01:23 Sna1lGo 阅读(3697) 评论(3) 推荐(11)
8086-3-使用bochs调试汇编程序
摘要:使用bochs调试汇编程序 前面我们已经搭建好了bochs的环境,并且将我们的汇编程序写入了硬盘里面,现在我们来看看如何通过bochs来调试我们的程序。 前文:https://www.cnblogs.com/Sna1lGo/p/15695712.html bochs安装文件夹 安装完bochs后,在 阅读全文
posted @ 2021-12-17 23:37 Sna1lGo 阅读(2580) 评论(1) 推荐(1)
8086-2-搭建直接通过CPU执行汇编语言的环境
摘要:搭建直接通过CPU执行汇编语言环境 我们通过编译写好的汇编语言代码可以生成.bin的机器语言二进制代码。但是这个.bin程序我们该如何运行呢? 这里其实有两个办法: 1: 将其作为一个Windows/linux也就是操作系统的可执行程序来运行,这个nasm是可以做到的,很多工具也可以做到,把一个汇编 阅读全文
posted @ 2021-12-15 22:40 Sna1lGo 阅读(1433) 评论(1) 推荐(2)
8086-1-计算机的启动过程
摘要:计算机的启动过程(8086) 注,该博客采用8086CPU作为详述,和别的可以类比,大部分都是相同的。 一台计算机的大概结构: 最底层是CPU,中间层是操作系统,最上面的就是应用程序了。比如:CPU采用intel的,然后操作系统采用Windows,然后应用程序我使用QQ。就是这样的一个大概的逻辑结构 阅读全文
posted @ 2021-12-13 00:52 Sna1lGo 阅读(1674) 评论(0) 推荐(3)
x86-6-特权级-4-任务门(Task Gate)
摘要:x86-6-特权级-4-任务门(Task Gate) 任务段tss(task state segment)是针对于CPU的一个概念。 举一个简单的例子,你一个电脑,肯定是同时会运行多个程序把,比如说QQ,微信,LOL。哪我们知道每个进程的内容是不一样的,那么,这个时候如果说只有一块CPU,这个CPU 阅读全文
posted @ 2021-11-13 00:35 Sna1lGo 阅读(788) 评论(0) 推荐(0)
x86-6-特权级-3-陷阱门(32-Bit Trap Gate)
摘要:x86-6-特权级-3-陷阱门(32-Bit Trap Gate) 陷阱门和中断门几乎是一模一样的: (注:图里高32位中的第11位的值为D,其实是1) 除了高32位中的type字段的内容不一样: 陷阱门的值为15,中断门的值为14。 陷阱门和中断门的区别: 陷阱门和中断门只有一个唯一的区别,其它的 阅读全文
posted @ 2021-11-11 17:36 Sna1lGo 阅读(401) 评论(0) 推荐(0)
x86-6-特权级-2-中断门(32-Bit Interrupt Gate)
摘要:x86-6-特权级-2-中断门(32-Bit Interrupt Gate) 中断门和调用门类似,也是一种系统段。同样的它也可以用来提权。 中断门: 虽然中断门的段描述符如下: 但是中断门其实也就是段描述的一种。只不过有稍微区别,并且和调用门的段描述符类型非常相似。 中断门和调用门的区别: 这里将调 阅读全文
posted @ 2021-11-05 23:56 Sna1lGo 阅读(602) 评论(0) 推荐(1)
x86-6-特权级-1-调用门(32-Bit Call Gate)
摘要:x86-6-特权级-1-调用门(32-Bit Call Gate) 调用门有一个关键的作用,就是用来提权。调用门其实就是一个段。 调用门: 这是段描述符的结构体,里面的s字段用来标记是代码段还是数据段还是系统段,前面解析的时候讲的是 S==1的情况,也就是Code or data的情况,这次的调用门 阅读全文
posted @ 2021-11-02 03:12 Sna1lGo 阅读(771) 评论(0) 推荐(0)