组成原理
xiaoju233
Talk is cheap, show me the code.
展开
-
x86架构寄存器介绍
x86架构寄存器介绍x86寄存器分类:类型寄存器通用寄存器EAX、EBX、ECX、EDX、ESI、EDI、ESP、EBP标志寄存器EFLAGS段寄存器CS、DS、ES、FS、GS、SS控制寄存器CR0、CR1、CR2、CR3、CR4调试寄存器DR0、DR1、DR2、DR3、DR4、DR5、DR6、DR7系统地址寄存器GDTR、IDT...原创 2020-04-18 17:10:06 · 1556 阅读 · 0 评论 -
超线程和多核心简介
超线程和多核心在购买CPU的时候,我们往往会发现CPU的参数列表中核心数和线程数不一致,且大多数情况下线程数是核心数的两倍。这是为什么呢?这就涉及到超线程和多核心的概念。超线程CPU简介超线程技术是英特尔研发的一种技术,与2002年发布。超线程技术把多线程处理器内部的两个逻辑内核模拟成两个物流芯片,让单个处理器就能使用线程级的并行计算,使得CPU空闲资源得以充分利用。虽然采用超线程技术能...原创 2020-03-15 10:36:31 · 1878 阅读 · 0 评论 -
x86架构段页式内存管理机制
x86架构段页式内存管理机制x86架构微处理器有三种不同的地址:逻辑地址:程序里用来指定一个操作数或一条指令的地址。线性地址:又称虚拟地址,一般分为内核空间和用户空间。物理地址:数据在物理内存的地址。内存寻址顺序为:逻辑地址->线性地址->物理地址内存寻址总体流程段寄存器代码段寄存器CS:存放当前执行的程序的段地址数据段寄存器DS:存放当前执行的程序所用操作数...原创 2020-03-14 17:47:23 · 919 阅读 · 0 评论 -
Linux虚拟内存空间布局
Linux虚拟内存空间布局Linux虚拟内存空间分为内核空间和用户空间两部分。Linux操作系统和驱动程序运行在内核空间,应用程序运行在用户空间。两者不能简单地使用指针传递数据,因为Linux使用虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。32位Linux虚拟内存空间(线性地址空间)布局通常32位Linux内核虚拟地址空间划分0-3G为用户...原创 2020-03-14 17:45:43 · 351 阅读 · 0 评论 -
虚拟存储器简介
虚拟存储器简介虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时在外部磁盘存储器上,在需要时进行数据交换。目前,大多数操作都使用了虚拟内存,如Windows家族的“虚拟内存”;Linux的“交换空间”等。 ——百度百科把虚拟地址转换成实际地址这...原创 2020-03-14 10:20:46 · 241 阅读 · 0 评论 -
存储器简介
存储器简介静态存储器(SRAM)静态存储器不需要刷新,主要用于Cache和TLB设计。特点是与CPU的接口简单且速度快,但价格高,耗电量也大。因此一般用于Cache和TLB设计,但有一些高性能计算机也拿它当主存用。动态存储器(DRAM)动态存储器需要使用一个小容量的电容来保存信息,用电容中有无电荷来表示1和0。由于电容会漏电,所以DRAM需要定期刷新。只读存储器(ROM)与RAM不同...原创 2020-03-13 16:18:58 · 653 阅读 · 0 评论 -
组成原理-CPU设计
54条指令单周期CPU设计单周期CPU即取指、译码、执行、访存、写回五个阶段一起放在一个周期内完成。数据流图如下:静态流水线CPU设计 流水线CPU将取指、译码、执行、访存、写回分为五个周期完成。相较于单周期CPU,多周期流水线CPU时钟频率高,执行指令更高效。 在单周期CPU的基础上添加一些寄存器来存放每一个阶段所需的数据以及控制信号,每一个时钟周期到来,就将本阶段处理完的数据以及...原创 2020-03-05 12:45:18 · 1107 阅读 · 0 评论