32位CPU寻址空间
内存寻址的三种模式
内存寻址的三种模型1. 地址的种类首先明确一下逻辑地址和线性地址这两个概念:1. 逻辑地址2. 线性地址3. 物理地址1.1 逻辑地址:逻辑地址是编译器生成的,我们使用在linux环境下,使用C语言指针时,指针的值就是逻辑地址。
对于每个进程而言,他们都有一样的进程地址空间,类似的逻辑地址,甚至很可能相同。
1.2 线性地址:线性地址是由分段机制将逻辑地址转化而来的,如果没有分段机制作用,那么程序的逻辑地址就是线性地址了。
1.3 物理地址物理地址是CPU在地址总线上发出的电平信号,要得到物理地址,必须要将逻辑地址经过分段,分页等机制转化而来。
2. 三种寻址模型x86体系结构下,使用的较多的内存寻址模型主要有三种:1. 实模式扁平模型real mode flat model2. 实模式分段模型real mode segment model3. 保护模式扁平模型protected mode flat model下面是对这三种模型的描述实模式和保护模式相对,实模式运行于20位地址总线,保护模式则启用了32位地址总线,地址使用的是虚拟地址,引入了描述符表;虽然二者都引入了段这样一个概念,但是实模式的段是64KB固定大小,只有16KB个不同的段,CS,DS等存储的是段的序号(想想为什么?)。
保护模式则引入了GDT和LDT段描述符表的数据结构来定义每个段。
扁平模型和分段模型相对,区别在于程序的线性地址是共享一个地址空间还是需要分成多个段,即为多个程序同时运行在同一个CS,DS的范围内还是每个程序都拥有自己的CS,DS:前者(flat)指令的逻辑地址要形成线性地址,不需要切换CS,DS;后者的逻辑地址,必须要经过段选择子去查找段描述符,切换CS,DS,才能形成线性地址。
3. 实模式扁平模型该模式只有在386及更高的处理器中才能出现!80386的实模式,就是指CPU可用的地址线只有20位,能寻址0~1MB的地址空间。
《计算机硬件技术基础(第三版)》第3章 32位微处理器
(1)总线接口部件 总线接口部件与片内Cache外部总线接口实行的是逻辑接口连接。当访问 Cache出现没命中、或需更改系统存储器内容、或需向Cache写入某些信 息时,就要通过总线接口从外部存储器系统中取出一批数据。 (2)预取缓冲部件 预取缓冲部件 取指令是指从高速缓冲存储器Cache内或从内存储器中取出指令代码, 以备译码之用的操作。 (3)指令译码部件 指令译码部件 译码操作, 一是检查一条指令的格式, 二是确定它是哪种类型操作的指令,并给出这条指令所需的操作数。 (4)控制部件 控制部件 Pentium微处理器控制部件的作用是,负责解释来自指令译码部件的 指令字和控制ROM的微代码。控制部件的输出控制着整数流水线部件和 浮点部件。 (5)执行部件 执行部件 是微处理器用于执行指令所规定的具体操作的CPU的核心硬件部分。 这些非常具体的操作是指诸如数值运算、逻辑操作以及分支转移处理等。
为了支持在Pentium内采用的分支转移预测新技术,芯片内装备有两个 预取缓冲存储器,一个是以线性方式来预取代码,另一个则是根据分支转 移目标缓冲器(BTB)预取代码。这样就可以保证在执行之前将所需用的 指令从存储器预取出来。 由于Pentium采用了这项技术,可以在无延迟的情况下正确地预测各 种转移。另外,V流水线中的条件转移指令可以与一条比较类指令成对执 行,当然也可以与U流水线中的置标志指令配合执行。但Pentium作到了 与现有软件是完全兼容,所以不必修改现有软件。
计算机硬件技术基础
3.1 .
CISC和RISC 和
1 复杂指令系统计算机 复杂指令系统计算机—CISC 每一种微处理器的CPU都有属于它自己的指令系统。 CPU正是通过执行一系列的特定的指令来实现应用程序 的某种功能。像Intel x86系列,为了增加新的功能, 就必须增加新的指令;另一方面,为了保持向上兼容, 又必须保留原有的指令。每条指令又有若干个不同的操 作字段,用来说明要操作的数据类型,以及存放的位置。 这就意味着一个较大的指令系统和复杂的寻址技术。以 这样的微处理器为平台的计算机系统就是“复杂指令系 统计算机”(CISC)。 CISC也有许多优点,如指令经编译后生成的指令程 序较小执行起来较快,节省硬件资源。像存取指令的次 数少,占用较少的存储器等。
什么是Linux内核空间与用户空间
本文以32位系统为例介绍内核空间(ker n el s pa ce)和用户空间(u se r sp ac e)。
内核空间和用户空间对32位操作系统而言,它的寻址空间(虚拟地址空间,或叫线性地址空间)为4G(2的32次方)。
也就是说一个进程的最大地址空间为4G。
操作系统的核心是内核(ke rn el),它独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。
为了保证内核的安全,现在的操作系统一般都强制用户进程不能直接操作内核。
具体的实现方式基本都是由操作系统将虚拟地址空间划分为两部分,一部分为内核空间,另一部分为用户空间。
针对Li nu x 操作系统而言,最高的1G 字节(从虚拟地址0x C0000000到0xF F FF FF FF)由内核使用,称为内核空间。
而较低的 3G字节(从虚拟地址0x00000000到0xB F FF FF FF)由各个进程使用,称为用户空间。
对上面这段内容我们可以这样理解:「每个进程的 4G 地址空间中,最高1G 都是一样的,即内核空间。
只有剩余的 3G 才归进程自己使用。
」「换句话说就是,最高1G 的内核空间是被所有进程共享的!」下图描述了每个进程4G 地址空间的分配情况:为什么需要区分内核空间与用户空间在CP U 的所有指令中,有些指令是非常危险的,如果错用,将导致系统崩溃,比如清内存、设置时钟等。
如果允许所有的程序都可以使用这些指令,那么系统崩溃的概率将大大增加。
所以,C PU将指令分为特权指令和非特权指令,对于那些危险的指令,只允许操作系统及其相关模块使用,普通应用程序只能使用那些不会造成灾难的指令。
比如I nt el 的C PU将特权等级分为4个级别:R in g0~Ri n g3。
其实 L in ux系统只使用了Ri ng0 和Ri n g3两个运行级别(W in do ws系统也是一样的)。
当进程运行在 R in g3级别时被称为运行在用户态,而运行在R i ng0 级别时被称为运行在内核态。
计算机组成原理练习(3)答案
计算机组成原理练习3一、单项选择题1。
设寄存器内容为80H,若它对应的真值是– 127,则该机器数是。
A。
原码 B. 补码C。
反码D。
移码2。
若浮点数用补码表示,则判断运算结果是否为规格化数的方法是______.A. 阶符与数符相同为规格化数;B。
阶符与数符相异为规格化数;C. 数符与尾数小数点后第一位数字相异为规格化数;D。
数符与尾数小数点后第一位数字相同为规格化数。
3。
设机器数字长为32位,一个容量为16MB的存储器,CPU按半字寻址,其寻址范围是。
A。
224B。
223 C. 222D. 2214. 在中断接口电路中,向量地址可通过送至CPU.A。
地址线 B. 数据线 C. 控制线D。
状态线5。
在程序的执行过程中,Cache与主存的地址映象是由。
A。
程序员调度的; B。
操作系统管理的;C. 由程序员和操作系统共同协调完成的;D。
硬件自动完成的.6。
总线复用方式可以______.A. 提高总线的传输带宽;B. 增加总线的功能;C。
减少总线中信号线的数量;D. 提高CUP 利用率。
7. 下列说法中正确的是。
A. Cache与主存统一编址,Cache的地址空间是主存地址空间的一部分;B. 主存储器只由易失性的随机读写存储器构成;C. 单体多字存储器主要解决访存速度的问题;D. Cache不与主存统一编址,Cache的地址空间不是主存地址空间的一部分.8. 在采用增量计数器法的微指令中,下一条微指令的地址______。
A. 在当前的微指令中;B。
在微指令地址计数器中;C。
在程序计数器; D. 在CPU中.9。
由于CPU内部操作的速度较快,而CPU访问一次存储器的时间较长,因此机器周期通常由______来确定。
A。
指令周期; B. 存取周期; C. 间址周期;D。
执行周期。
10. RISC机器______。
A。
不一定采用流水技术;B。
一定采用流水技术;C. CPU配备很少的通用寄存器;D。
CPU配备很多的通用寄存器.11。
32位操作系统和64位操作系统支持的最大内存数
32位操作系统和64位操作系统支持的最大内存数系统最大支持内存只和硬件有关!即地址线的数目。
32位就是有32根地址线,那么它的寻址能力就是2的32次方,就是4G;64位就是有64根地址线。
它的寻址能力就是2的64次方。
也就是17179869184G,当然这只是理论值,实际中不可能用到这么大的内存,目前64位windows系统最大只支持128G。
32位windows系统支持的最大内存表:system(系统) Physical RAM物理内存Virtual Address Space 虚拟内存windows NT 4.0 WorkStation 4GB 2GBwindows NT 4.0 Server 4GB 2GBwindows NT 4.0 Enterprise Edition 4GB 3GB**windows 2000 Professional 4GB2GBwindows 2000 Server 4GB 2GBwindows 2000 Advanced Server 8GB* 3GB**windows 2000 DataCenter Edition 32GB* 3GB**windows XP Professional 4GB3GB**windows 20034GB 3GB**windows 2003 Enterprise Edition32GB* 3GB*** 需要在BOOT.INI中添加"/3GB"参数,例如:[boot loader]timeout=30default=multi(0)disk(0)rdisk(0)partition(2)\WINNT[operating systems]multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows Server 2000" /fastdetect /3GB** 需要在BOOT.INI中添加"/PAE"参数,例如:[boot loader]timeout=30default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS[operating systems]multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /PAE警告:Boot.ini 文件的内容根据您的配置而异。
清华大学微机原理32位微处理器
7
1.2 80386的寄存器
80386微处理器中有通用寄存器、段寄存器、指令指针和标 志寄存器、系统地址寄存器、控制寄存器、调试寄存器以及测试 寄存器等,如下图所示。
8
ቤተ መጻሕፍቲ ባይዱ
1.2 80386的寄存器
1. 通用寄存器 80386中设置8个32位通用寄存器,如下图所示。它们的用法
与8086相同,也可当作8位、16位寄存器用。若作32位寄存器使 用,前面必须加字符E。
9
1.2 80386的寄存器
2. 段寄存器 80386中设置6个16位段寄存器和6个64位描述符寄存器。其
17
2.3 总线传送机制
32位微处理器的所有数据传送都是由一个或多个总线周期来 完成。1字节、2字节或4字节的逻辑数据操作数可以在物理地址不 对界的情况下传送。在对界时的操作数只需要1个总线周期,而对 于不对界时的操作数就需要2个或3个总线周期。
80X86地址信号的设计可以简化外部系统的硬件。高位地址 由A2~A31提供。低位地址则以BE0~BE3形式提供了32位数据总 线4个字节的选择信号。
12
1.2 80386的寄存器
CR1保留给将来开发的Intel微处理器使用;CR2包含一个32 位的线性地址,指向发生最后一次页故障的地址;CR3包含页目 录表的物理基地址,因为80386中的页目录表总是在页的整数边 界上,每4KB为一页,所以CR3的低端12位保持为“0”。 5. 系统地址寄存器
80386中设置4个专用的系统地址寄存器,它们是GDTR、 IDTR、LDTR和TR。GDTR和IDTR长48位,LDTR和TR长16位。 GDTR用来存放全局描述符表的基地址(32位)和限值(16位); IDTR用来存放中断描述符表的基地址(32位)和限值(16位);LDTR 用来存放局部描述符表的段选择字;TR用来存放任务状态段表的 段选择字。
微机原理与接口技术课后习题参考答案
微机原理与接口技术》李华贵主编课后习题参考答案第1章(1.6 习题)1.简述名词的概念:微处理器、微型计算机、微型计算机系统。
答:(1)微处理器:微处理器(Microprocessor)简称或MP,或CPU。
CPU是采用大规模和超大规模集成电路技术将算术逻辑部件ALU (Arithmetic Logic Unit )、控制部件CU (Co ntrol Un it )和寄存器组R (Registers)等三个基本部分以及内部总线集成在一块半导体芯片上构成的电子器件。
(2)微型计算机:微型计算机(Microcomputer )是指以微处理器为核心,配上由大规模集成电路制作的存储器、输入/输出接口电路及系统总线等所组成的计算机,简称微机。
(3)微型计算机系统:微型计算机系统由硬件与软件两大部分组成,分别称为硬件(Hardware)系统与软件(Software)系统。
其中,硬件(Hardware)系统由CPU、内存储器、各类I/O接口、相应的I/O设备以及连接各部件的地址总线、数据总线、控制总线等组成。
软件(Software)系统:计算机软件(Software)是指为运行、维护、管理、应用计算机所编制的程序及程序运行所需要的数据文档资料的总和。
一般把软件划分为系统软件和应用软件。
其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。
而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。
2.简述名词的概念:指令寄存器、地址寄存器、标志寄存器。
答:(1)指令寄存器:指令寄存器(Instruction Register,IR)用来保存计算机当前正在执行或即将执行的指令。
当一条指令被执行时,首先,CPU从内存取出指令的操作码,并存入IR中,以便指令译码器进行译码分析。
(2)地址寄存器:地址寄存器(Address Register,AR)被动地接受IP传送给它的地址值(二进制地址),AR的作用是保持IP送来的地址,并且以并行方式连接输出到CPU的地址引脚上,以便CPU访问指定的内存单元。
cpu发展历史一览表
k6-iii推出,集成2300万个晶体管
amd推出athlon,支持200mhz总线频率
2000年
p4
采用全新的netburst架构
4200万
总线速度达到了400mhz
amd推出低端的duron
年代
芯片
芯片简介
集成晶体管数目
1971年
4004
4位,世界上第一块cpu
2250197ຫໍສະໝຸດ 年80088位2500
1974年
8080
8位
5000
1976年
zilog z80
8位
—
1978年
8086
16位
29000
1979年
8088芯片
内部16位,外部8位
29000
1982年
80286
时钟频率6Mhz~12.5Mhz
12万
1985年
80386(dx)
32位,cpu寻址空间
27.5万
1989年
80486dx
第一台便携式电脑问世
1985年
80386(dx)
32位,cpu寻址空间
275,000
cd-rom驱动器问世
microsoft windows3.0发布
1989年
80486dx
集成8k的一级缓存
118万
sound blaster card(声卡)发布
1993年
pentium
内置16k一级缓存
310万
amd推出amd486;cyrix推出5x86,
Pentium 4
采用全新的netburst架构
4200万
2005年
Pentium D 8XX
Cavium多核系统地址空间布局以及启动
Cavium多核系统地址空间布局及启动引言作为使用MIPS内核的CPU芯片,Cavium系列CPU具有两个地址空间,即虚拟地址空间和物理地址空间。
在MIPS系统中,软件所见到的都是虚拟地址,其与物理地址的联系是通过内核中的TLB以及ERL位共同决定。
1. 虚拟地址Cavium系列CPU在采用32位寻址模式时,具有标准的一个MIPS特有的虚拟地址空间布局:4G的地址空间被分为四大区域。
MIPS CPU可以运行在两种特权级之上:用户态和核心态。
当运行于用户态时只能访问到低2G的kuseg区域;而运行于核心态时,对于任意4个区域都能够正常访问。
Vxworks系统不分用户态和核心态,一律都运行在核心态。
因此,我们的系统对整个虚拟地址空间都是可以正常访问的。
对于kuseg区,其范围为0x00000000 –0x7fffffff (低端2G),对这段空间的使用只有在ERL置位,或是ERL被清0,且TLB已经正确配置的情况下才能进行。
由于Cavium CPU 特有的属性——对所有的内存空间的访问都是Cached,所以这段空间是一定Cached的。
对于kseg0区,其范围为0x80000000 –0x9fffffff(共512M)。
这段空间的访问不需要TLB映射,只需将其最高位清0,即得到其相应的物理地址。
该区域一定是Cached的。
对于kseg1区,其范围为0xa0000000 – 0xbfffffff (共512M)。
这段空间通过去掉最高的三位来获得物理地址。
因此,实际上它的物理地址范围同kseg0是一致的。
这段空间在MIPS的定义中是unCached的。
但是由于上面提到的Cavium CPU访问物理内存的特殊性,映射到这部分的0-256M物理内存,访问时也是cached的。
MIPS上电跳转的虚拟地址0xbfc00000就是属于这段区域,其物理地址就是0x1fc00000。
对于kseg2区,其范围为0xc0000000 – 0xffffffff (共1G)。
CentOS 5.2 32位 能识别的最大内存?
32位的Linux的内存最大支持到4GB,64位的Linux的最大支持内存在TB级别上。
(实际上最大支持多大的内容跟操作系统的种类无关,而是跟操作系统是几位的、还有CPU是几位的有关。)
DOS是16位的,所以DOS支持的最大内存是64MB(2的16次方字节=64MB)。
-----
不做任何处理只能识别最大4G,实际上3.2G
安装 PAE 可以识别到 64G的内存
-----
现在的32位机器都36位总线了,启用PAE机制可以识别64GB
-----
如果内核有支持更高内存的模块,那可以识别(现在的系统一般会打开那个功能)
-----
打开 HIGHMEM 选项,可支持到 64GB
.最大CPU数: 32(包括逻辑CPU)
.最大内存: 64GB
.最大文件大小: 8TB
.最大文件系统大小(ext3): 16TB
.最大每个进程的虚拟地址空间: 4GB
AMD 64/ Intel EM64T
.最大CPU数: 64
.最大内存: 128GB
.最大文件大小: 8TB
.最大文件系统大小(ext3): 16TB
我摘录重点部分给你:
Configuration 5
* RedHat Advanced Server (RHAS) 2.1 (shmfs/tmpfs)
* RedHat Enterprise Linux (RHEL) 3.0 (shmfs/tmpfs, ramfs)
* Configuration : VLM mode + in-memory filesystem (shmfs/tmpfs, ramfs)
第十二章-32位微处理器80386
实地址方式
80386在刚加电或者复位时,便进入实地址 在刚加电或者复位时, 在刚加电或者复位时 方式。实地址方式主要是为80386进行初始 方式。 实地址方式主要是为 进行初始 化用的。 化用的。 实地址方式下,采用类似于8086的体系结构。 的体系结构。 实地址方式下,采用类似于 的体系结构 因为在实地址方式下不允许分页, 所以线性 因为在实地址方式下不允许分页 , 地址和物理地址相同, 地址和物理地址相同 , 均为段寄存器内容左 移4位再加上有效地址而得到的值。 位再加上有效地址而得到的值。 位再加上有效地址而得到的值 80386具有 个特权级 , 实地址方式下 , 程 具有4个特权级 具有 个特权级, 实地址方式下, 序在最高级(0级 下执行 下执行。 序在最高级 级)下执行。
保护方式
保护方式是80386最常用的方式,通常开机 最常用的方式, 保护方式是 最常用的方式 或复位后, 先进入实地址方式完成初始化, 或复位后 , 先进入实地址方式完成初始化 , 便立即转到保护方式。 便立即转到保护方式。 此种方式提供了多任务环境中的各种复杂功 以及对复杂存储器组织的管理机制。 能 , 以及对复杂存储器组织的管理机制 。 只 有在保护方式下, 有在保护方式下 , 80386才充分发挥其强大 才充分发挥其强大 的功能和本性,因此,也称为本性方式。 的功能和本性,因此,也称为本性方式。
80386的功能部件Fra bibliotek第一节 80386的体系结构
80386的功能部件
第一节 80386的体系结构(续)
80386允许使用虚拟存储器。所谓虚拟存储器就是 允许使用虚拟存储器。 允许使用虚拟存储器 系统中有一个速度较快的、 系统中有一个速度较快的 、 容量比较小的内部主存 储器,还有一个速度较慢但容量很大的外部存储器, 储器 , 还有一个速度较慢但容量很大的外部存储器 , 通过存储管理机制,使后者和前者有机地、 通过存储管理机制 , 使后者和前者有机地 、 灵活地 结合在一起,这样从程序员的角度看, 结合在一起 , 这样从程序员的角度看 , 系统中似乎 有一个容量非常大的、速度也相当快的主存储器, 有一个容量非常大的 、 速度也相当快的主存储器 , 但它并不是真正的物理上的主存, 但它并不是真正的物理上的主存 , 故称为虚拟存储 器。 80386的虚拟存储器容量高达 的虚拟存储器容量高达64TB(64兆兆字节 , 兆兆字节), 的虚拟存储器容量高达 ( 兆兆字节 这样, 这样 , 就可以运行要求存储器容量比实际主存储器 容量大得多的程序。 容量大得多的程序。
32位系统认不到4G内存原因
32位系统认不了4G内存的原因如果我们留心一下,我们就会发现,假如我们安装了2GB的内存条,32位的Win7系统可以显示内存大小是2.00GB。
当我们换用4GB的内存条时,我们的32位Win7一般会显示不到4GB的内存条(比如显示内存大小是3.31GB),有些用户觉得自己可能被不法商贩欺骗,原本应该购买的4GB内存被经销商缩水为3GB真实情况如何呢?第一个原因只会“吃掉”您一小部分的内存众所周知,电脑中二进制中的换算关系是1GB=1024MB,实际生产时,硬件厂商厂商的换算单位是1GB=1000MB,当电脑厂商告诉您,您电脑中的内存是1GB的时候,其实您的内存是1000MB,系统识别时,用1000处以1024,也就显示您的内存是0.976GB,同理您安装了4G的内存,系统会显示您的内存是3.9GB。
这并不是硬件厂商欺骗您。
第二个原因可能会“吃掉”您数量可观的一部分内存内存(RAM,也就是您的系统的寻址总空间)=内存条(物理内存,您的内存条是4GB的)+bios内存+缓存+显存+...,,32位的电脑的寻址空间是2的32次方,也就是4G,系统将这4GB的地址分配给内存条,缓存,显存,硬件等。
系统分配寻址空间时是有优先级的,bios的内存,cpu的缓存,各个硬件的内存,显卡的显存等,他们的优先级比物理内存(也就是内存条)高,所以系统先将寻址空间分配给bios的内存,cpu的缓存,各个硬件的内存,显卡的显存,最后才将剩余的寻址空间分配给内存条。
比如您的显卡有500MB,那么可以分配的内存也就只剩下4GB-0.5GB=3.5GB了。
(这里指的是集成显卡)相当于一条街上有1000户居民,但是门牌号码确实只有800个,于是还有200户居民没能获得门牌号码,但是这200户居民并未消失。
如果在32位电脑上装上4G内存条依照优先级关系,你只能使用3G多的的内存条空间,因为前面的几百MB的寻址空间是给了各个硬件(包括显存),4GB的内存条只有其中的3.31GB获得了寻址空间,此时您只可以看到获得了寻址空间的那一部分内存条(见下图.)如果是2G的内存条,因为电脑本身寻址能里是4G,前面几百MB给了硬件,依旧剩余3G多的寻址空间,2G的内存条可以完全获得2G的寻址空间,您也就能看到2G的内存条了(见下图)PS:按照上面的说法,我也观察了一下自己的笔记本,我的笔记本是6G内存的,win7专业版,破解了32位系统寻址限制,6G内存可正确识别,但是可用的只有5.8如下图:那么为什么是5.8G可用呢?再看这里,发现系统为硬件保留了141MB内存:那么按照上面的说法,我的物理内存实际大小应该是6G*1000MB=6000MB-为硬件保留的物理内存141MB=5859MB/1000≈5.86G在任务管理器中,也可以看到类似结论:回过头来再看下资源监视器截图中的已安装内存是6144MB,这又是为什么呢?因为这里的算法是按照1GB=1024MB来计算的,6*1024=6144MB结论:当我们再计算物理内存时,还是按照GB数*1000来算吧,这样更准确一些,另外看到上面的帖子讲的32位操作系统寻址,也可以很容易让我们理解为什么开PAE可以让32位系统认到更多内存,实际上开启PAE之后,就是把32位系统寻址能力由2^32=4G提升到了2^36=64GB,因此可以让系统识别更多的物理内存。
北华大学计算机组成原理考试题
复习题1.冯·诺依曼机的特点是,机器以(运算器)为中心,(输入输出设备)与(存储器)间的数据传送通过它完成。
2.(指令字长)取决于操作码的长度、操作数地址的长度和操作数地址的个数。
3.I/O的编址方式可分为( 统一编址 )和( 不统一编址 )两大类。
4.CPU实质包括(运算器)和(控制器)两大部分,(控制器)必须具备能自动地从存储器中取出指令的功能。
5.控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令叫做(微命令)。
6.计算机硬件的主要技术指标包括(字长)、(主存容量)、(主频)。
7.按数据传送方式不同,总线可分为(串行传输总线)和(并行传输总线)。
8.指令通常由(操作码)和(地址码)两部分组成。
9.任何指令周期的第一步必定是(取址)周期。
10.控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令叫做(微命令),而执行部件执行此控制命令后所进行的操作叫做(微操作)。
11.(指令)和( 数据 )都存放在存储器中,( 控制器 )能自动识别它们。
12.由于一个存储器芯片的容量和位数一般不能满足使用要求所以通常将若干个芯片按(字长拓展)和(字数的拓展)两种方式相连接。
13.指令通常由(操作码)和(地址码)两部分组成。
14.一个CPU周期由若干个(时钟)周期组成,这种周期是主频时钟的时间间隔,是CPU处理操作的最基本的时间单位。
15.CPU从主存取出一条指令并执行该指令的时间叫做(指令周期),它常常一用若干个(机器周期)来表示。
1.完整的计算机系统应包括( D )。
A.运算器、存储器、控制器 B.外部设备和主机C.主机和实用程序 D.配套的硬件设备和软件系统2.计算机的存储系统是指( D )。
A.RAM存储器 B.ROM存储器C.主存储器 D.Cache、主存储器和外存储器3.某DRAM芯片,其存储容量为512K×8位,该芯片的地址线和数据线数目分别为( D )。
关于寻址范围解答
关于寻址范围解答 Revised as of 23 November 2020设有一个1MB容量的存储器,字长32位,问:按字节编址,字编址的寻址范围以及各自的寻址范围大小如果按字节编址,则?1MB = 2^20B1字节=1B=8bit2^20B/1B = 2^20地址范围为0~(2^20)-1,也就是说需要二十根地址线才能完成对1MB空间的编码,所以地址寄存器为20位,寻址范围大小为2^20=1M如果按字(这里所讲的字就是一个存储字长32位,不是“一个字不是等于两个字节”)编址,则1MB=2^20B1字=32bit=4B2^20B/4B = 2^18地址范围为0~2^18-1,也就是说我们至少要用18根地址线才能完成对1MB空间的编码。
因此按字编址的寻址范围是2^18以上题目注意几点:1.区分寻址空间与寻址范围两个不同的概念,寻址范围仅仅是一个数字范围,不带有单位而寻址范围的大小很明显是一个数,指寻址区间的大小而寻址空间指能够寻址最大容量,单位一般用MB、B来表示;本题中寻址范围为0~(2^20)-1,寻址空间为1MB。
2.按字节寻址,指的是存储空间的最小编址单位是字节,按字编址,是指存储空间的最小编址单位是字,以上题为例,总的存储器容量是一定的,按字编址和按字节编址所需要的编码数量是不同的,按字编址由于编址单位比较大(1字=32bit=4B),从而编码较少,而按字节编址由于编码单位较小(1字节=1B=8bit),从而编码较多。
3.区别M和MB。
M为数量单位。
1024=1K,1024K=1MMB指容量大小。
1024B=1KB,1024KB=1MB.《知识点解析》一、什么叫寻址空间寻址空间一般指的是CPU对于内存寻址的能力。
通俗地说,就是能最多用到多少内存的一个问题。
数据在存储器(RAM)中存放是有规律的,CPU在运算的时候需要把数据提取出来就需要知道数据在那里,这时候就需要挨家挨户的找,这就叫做寻址,但如果地址太多超出了CPU的能力范围,CPU就无法找到数据了。
计算机组成原理课后答案第四章-庞海波讲解
第四章思考题与习题1.解释下列概念主存、辅存、Cache、RAM、SRAM、DRAM、ROM、PROM、EPROM、EEPROM、CDROM、Flash Memory答:主存:与CPU 直接交换信息,用来存放数据和程序的存储器。
辅存:主存的后援存储器,不与CPU 直接交换信息。
CACHE:为了解决CPU 和主存的速度匹配,设在主存与CPU之间,起缓冲作用,用于提高访存速度的一种存储器。
RAM:随机存储器:是随机存取的,在程序执行过程中既可读出也可写入,存取时间与存储单元所在位置无关。
SRAM:静态RAM,以触发器原理存储信息。
DRAM:动态RAM,以电容充放电原理存储信息。
ROM:只读存储器,在程序执行过程中只能读出,而不能对其写入。
PROM:一次性编程的只读存储器。
EPROM:可擦除的可编程只读存储器,用紫外线照射进行擦写。
EEPROM:用电可擦除的可编程只读存储器。
CDROM:只读型光盘Flash Memory:快擦型存储器,是性能价格比好,可靠性高的可擦写非易失型存储器2.计算机中哪些部件可用于存储信息,请按其速度、容量和价格/位排序说明。
答:寄存器、缓存、主存、磁盘、磁带等。
速度按顺序越来越慢,容量越来越高和价格/位越来越低3.存储器的层次结构主要体现在什么地方?为什么要分这些层次,计算机如何管理这些层次?答:存储器的层次结构主要体现在Cache—主存和主存—辅存这两个存储层次上。
Cache—主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,接近于Cache的速度,而容量和位价却接近于主存。
主存—辅存层次在存储系统中主要起扩容作用,其容量和位价接近于辅存,而速度接近于主存4.说明存取周期和存取时间的区别。
答:存取周期和存取时间的主要区别是:存取时间仅为完成一次存取操作的时间,而存取周期不仅包含操作时间,还包含操作后线路的恢复时间。
即:存取周期= 存取时间+ 恢复时间5.什么是存储器的带宽?若存储器的数据总线宽度为32 位,存取周期为200ns,则存储器的带宽是多少?解:存储器的带宽指单位时间内从存储器进出信息的最大数量。
微机原理16位32位CPU(8086)
S6-S3:输出CPU的工作状态。 S6:指示8086/8088当前是否与总线相连, S6=0,表示 8086/8088当前与总线相连。 S5:表明中断允许标志当前的设置。 S5=0,表示CPU中断是关闭的,禁止一切可屏蔽中断源的 中断请求;S5=1,表示CPU中断是开放的,允许一切可屏 蔽中断源的中断申请。
出一个“准备好”信号,之后CPU才会自动脱离TW状态而进入T4状态。
• ⑤在T4状态,总线周期结束。
2.1.2 8086的引脚信号和工作模式
1. 最小模式和最大模式的概念
根据所连的存储器和外设规模的不同,使它们可以在两种模式下工 作: (1)最小模式:
在系统中只有一8086/8088CPU。 (2)最大模式: 有两个或两个以上的CPU,一个为主处理器8086/8088, 另一个为协处理器8087/8089。 数值运算协处理器8087, 输入输出协处理器8089。
奇
进
偶
借
标
位
志
标
志
1-有进Байду номын сангаас借位 0-无进、借位
1-低4位向高4位有进、借位 0-低4位向高4位无进、借位
④标志寄存器
根据功能,标志可以分为两类:状态标志和控制标志 状态标志:表示前面的操作执行后,ALU所处的状态,这种状态像某
种先决条件一样影响后面的操作。 控制标志:表示对某一种特定的功能起控制作用。指令系统中有专门
2.1.1 8086的编程结构
在编程结构图中,从功能上划分,8086分为两大部分:即 总线接口部件BIU(Bus Interface Unit) 执行部件EU(Execution Unit)
电脑64位系统真的比32位好吗?
电脑64位系统真的⽐32位好吗?如果要说什么时候系统最好⽤,⼤家各执⼀词,但是说到什么系统最常⽤,那么应该Windows 7莫属了。
到⽬前为之,Windows 7在国内的应⽤是最为⼴泛的,许多学⽣党乃⾄上班族到现在也还是⽤着这个系统。
那么,Windows 7的64系统和32位系统俩者之间⼜有什么区别呢?64位的真的要⽐32位的要好吗?⼩编这就给⼤家讲解⼀下。
⾸先我们先来说下两者的区别。
⼀、两者的主要应⽤范围不同。
对于⼀些需要较⾼的⽤户需要选择64位⽽不是32位。
32位操作系统⼀开始只是为普通⽤户开发的,⽽64位系统则是为了满⾜更⾼要求的设计和分析,⽐如三维动画,视频编辑等科技计算要求较为精准的应⽤程序以及需要⼤量内存的运⾏软件,⽽32位操作系统运⾏此类超⼤型软件则会⽐较吃⼒。
如果有些⼈对这⽅⾯需求较⾼,那么64位的操作系统要⽐32位的要好⼀些,毕竟32位的运⾏太⼤型的软件肯定没有那么好。
⼆、两者在CPU寻址⽅⾯不同。
32位系统最⾼只能寻址到3.5GB的内存,⽽64位则可以达到最⾼16T的内存。
64位处理器的优势还体现在系统对内存的控制上。
计算机中的位数指的是CPU⼀次能处理的最⼤位数。
32位计算机的CPU⼀次最多能处理32位数据,有些⼈往往会弄不清在计算机中出现的'位'和Byte,KB,MB等有何关系,⽽它们的关系是,8位等于⼀字节,即8bit=1B 。
32位处理器每次处理4Byte(32bit),同理,64位处理器每次处理 8Byte(64bit) 。
32位操作系统下,很多⼈的电脑显⽰内存只有3.5G左右,因为它只能寻址到最⾼4GB的内存,但是电脑本⾝也附带有⼀些程序以及存储设备,所以最终剩余的内存仅为3.5G左右。
加上如今的⼀些⼤型软件,尤其是游戏,4GB的内存已经完全满⾜不了这些需求。
不过其实32位处理器也是可以使⽤4GB以上的内存的,像⼀些处理器就具有36位物理地址,他就具有64GB的寻址空间,不过需要破解4GB的内存⽅法⽐较复杂,⼩编就不再⼀⼀阐述了。
32位操作系统的最大寻址空间
32位操作系统的最大寻址空间简介32位操作系统是指操作系统在32位处理器上运行的操作系统,它具有一系列特定的特征和限制。
其中之一就是它的最大寻址空间,也就是它能够寻址的内存范围的大小。
本文将详细介绍32位操作系统的最大寻址空间的概念、原理、限制以及可能的解决方案。
什么是寻址空间在计算机系统中,寻址空间是指计算机可以访问的内存范围。
每个内存单元都有一个唯一的地址,通过地址可以访问或存储数据。
寻址空间的大小决定了计算机可以寻址的内存范围的大小。
32位操作系统的寻址空间在32位操作系统中,寻址空间的大小是由32位寄存器的位数决定的。
每个寄存器可以存储32位的二进制数,因此可以表示的地址范围是从0到2^32-1,也就是0到4294967295。
这个范围可以表示的字节数是4GB。
然而,实际上,32位操作系统并不能完全利用这个4GB的寻址空间。
因为在操作系统中,一部分内存空间需要用于存储操作系统本身的代码和数据,还有一部分需要用于存储其他设备的映射地址空间,比如显卡、声卡等。
这样,剩下的可用内存空间就会减少。
32位操作系统的限制由于32位操作系统的寻址空间有限,因此存在一些限制。
这些限制可能会对系统的性能和功能产生一定的影响。
物理内存限制由于32位操作系统的寻址空间最大只能表示4GB的内存,因此它只能直接寻址4GB的物理内存。
这意味着,如果计算机安装了超过4GB的内存,32位操作系统将无法完全利用这些内存。
实际上,即使计算机安装了4GB的内存,由于其他设备的映射地址空间,操作系统能够使用的内存可能会更少。
虚拟内存限制虚拟内存是操作系统提供的一种机制,可以将物理内存和硬盘空间组合起来使用,扩展可用内存的大小。
然而,32位操作系统的虚拟内存也受到限制。
由于寻址空间的限制,32位操作系统最多只能为每个进程提供4GB的虚拟内存空间。
这意味着,单个进程最多只能使用4GB的内存,即使计算机安装了更多的内存。
寻址能力限制由于32位寄存器的位数限制,32位操作系统的寻址能力也受到限制。
32位的最大寻址空间
32位的最大寻址空间32位的最大寻址空间是指在32位处理器系统中,CPU可以寻址的最大内存空间大小。
在计算机系统中,每个内存单元都有一个唯一的地址,通过这个地址可以访问到对应的数据。
寻址空间的大小决定了系统可以寻址的内存范围,也就是系统能够管理的内存大小。
对于32位处理器系统而言,每个内存地址由32个二进制位组成,因此可以表示的内存地址总数为2的32次方。
由于每个内存地址对应一个字节,所以32位系统的最大寻址空间为2的32次方乘以1字节,即4GB(Gigabyte)。
这意味着在一个32位系统中,CPU最多可以寻址4GB的内存空间。
在这个内存空间中,可以存储程序的指令、数据以及其他系统所需的信息。
这个内存空间被划分为多个区域,包括代码区、数据区、堆区和栈区等。
代码区是用来存储程序指令的区域,其中包括了程序的可执行代码。
数据区用来存储程序中的全局变量和静态变量。
堆区用来动态分配内存,例如使用malloc函数申请的内存就位于堆区。
栈区用来存储函数调用时的局部变量和函数调用的上下文信息。
在32位系统中,由于寻址空间大小有限,所以系统只能管理和使用4GB的内存。
这意味着如果物理内存超过了4GB,系统只能使用其中的一部分。
例如,如果系统有8GB的物理内存,那么在32位系统中只能使用其中的4GB,而剩下的4GB则无法被利用。
32位寻址空间的限制也会对系统的性能和功能产生一定影响。
在32位系统中,由于寻址空间有限,所以无法支持更大规模的内存操作。
这对于一些需要处理大量数据的应用来说可能会造成限制。
因此,在一些对内存需求较大的场景中,更多的应用会选择使用64位系统,以支持更大的寻址空间。
总结起来,32位的最大寻址空间为4GB,这意味着在32位系统中,CPU最多可以寻址4GB的内存空间。
这个内存空间被划分为不同的区域,包括代码区、数据区、堆区和栈区等。
寻址空间的限制对系统的性能和功能产生一定影响,因此在一些对内存需求较大的应用中,更多的应用会选择使用64位系统来支持更大的寻址空间。
32位程序的最大寻址空间
32位程序的最大寻址空间计算机中的寻址空间是指计算机可以寻址的内存的范围。
在32位程序中,寻址空间的大小决定了程序可以访问的内存大小。
那么,32位程序的最大寻址空间是多少呢?在32位操作系统中,寻址空间的大小是由32位寄存器的位数决定的。
每个寄存器的宽度为32位,可以存储32个二进制位。
由于每个二进制位可以表示0或1两个状态,所以32位寄存器可以表示2的32次方个不同的状态,即2的32次方个内存地址。
根据二进制数的规律,2的32次方等于4294967296。
所以,32位程序的最大寻址空间为4294967296个内存地址。
然而,实际情况并非如此。
在32位程序中,寻址空间的大小会受到其他因素的限制。
其中一个重要的因素是操作系统的限制。
在32位操作系统中,操作系统会将寻址空间分为两部分,一部分用于用户空间,一部分用于内核空间。
用户空间是给用户程序使用的,而内核空间是给操作系统内核使用的。
这样做的目的是为了保护操作系统的安全和稳定性。
在大多数32位操作系统中,用户空间的寻址空间大小为4GB,即2的32次方个内存地址。
而内核空间的大小通常为1GB或2GB,具体大小取决于操作系统的设计。
这样,用户程序可以访问的最大寻址空间就是用户空间的大小。
除了操作系统的限制外,还有其他因素会影响32位程序的最大寻址空间。
例如,编译器和链接器也会对程序的寻址空间大小进行限制。
在编译和链接过程中,编译器和链接器会根据程序的大小和需求来分配内存空间。
如果程序太大,超出了可用的内存空间,编译器和链接器可能会报错或警告。
还有一些硬件因素会限制32位程序的寻址空间大小。
例如,CPU的物理地址线的数量会限制内存的最大寻址范围。
在32位系统中,物理地址线的数量通常为32根,所以最大的物理地址范围为2的32次方个字节。
32位程序的最大寻址空间为4GB。
然而,实际可用的寻址空间可能会受到操作系统、编译器、链接器和硬件等因素的限制。
在编写和运行32位程序时,需要考虑这些因素,并合理规划和管理内存空间,以确保程序可以正常运行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
就像是一个大水缸,里面要装一些泥沙,一些油,还要装一些水。泥沙就是DOS兼容区,水就是系统各I/O设备,最上面的油就是可用的内存了。当配置一定的情况下,泥沙和水的比例也就一定了。那能加多少水呢?这个就要问问你的水缸有多大了。那怎么来看这个水缸的大小呢,就奥看主板芯片组的地址总线位数。例如 i945P芯片组只有32位地址总线,因此它对应的地址空间为4GB。表面上看似乎能够支持4GB容纳量的内存。但这4GB地址空间中,有1MB分配给了 DOS兼容存储区,1MB-2GB分配给了内存访问,而2GB-4GB的部分地址空间则优先分配给了显卡帧缓存,PCI/PCI-E设备和BIOS区域,而这一区域也被Intel称作内存映射I/O(MMIO)区域。
很多方法可以打开Windows操作系统的PAE功能,但是微软为什么没有主动开启呢?
这个是有副作用的!通过PAE利用大内存32位服务器早做到了。但是如果某驱动程序无法正确处理4gb地址以上的内存,就会发生问题. 这也就是为什么ms要禁用pae的最初原因,因为桌面系统上确实存在不少有问题的驱动程序.
事实上CPU寻址能力因每种CPU设计不同而不同!就正如说32位的X86CPU,其实就在PentiumII是引入了36位的扩展PAE机制(Physical Address Extention)地址位来支持64G内存(源于当时服务器的问题),正常情况下也是用32位寻址,但通过设置相应的寄存器(没记错是cr4)的相应位激活PAE就可以支持64位寻址了!
由于4GB芯片组地址空间的限制(32条地址线的限制),Intel 945系列及以前的芯片组、NVIDIA nForce Go C6100/C6510,ATI Xpress 1150M,这些芯片组无论如何都不能完全支持4GB内存。具体原因有三方面:其一是芯片组没有设计剩余地址总线来供操作系统来调配;其二是不支持Memory Remap技术,而物理内存的编址必须是连续的,不能被割断;其三是系统开机时必需先从4GB的顶端地址(FFFF_FFFFh)读取BIOS数据, 这是IA32架构和4GB地址空间的局限。
32位CPU的机器只能支持4GB的内存吗?
现在内存条都是白菜价的时代,很多人手中都是4G大内存了。但是普通的32位操作系统只能认3G多的内存,有很多都是给白白的浪费掉了。近来很多人说使用补丁,能使32位的系统支持4G大容量内存。事实果真如此吗?
一,cpu的寻址能力
一般的cpu厂商标示的多少位cpu,其实说cpu的运算位宽。而CPU的位宽一般是以 min{ALU位宽、通用寄存器位宽、数据总线位宽}决定的!也就是说CPU由ALU、通用寄存器、数据总线三者之中最少的位宽决定!所以cpu的寻址能力和位宽是不能挂钩的。
二、大内存需要主板的支持
大家知道,Intel x86平台中使用了名为内存映射I/O(MMIO)的技术。它是PCI规范的一部分,I/O设备被放置在内存空间而不是I/O空间。从处
理器的角度看,内存映射I/O后系统设备访问起来和内存一样。这样访问AGP/PCI-E显卡上的帧缓存,BIOS,PCI设备就可以使用读写内存一样的汇编指令完成,简化了程序设计的难度和接口的复杂性。
三、操作系统的支持
除了芯片组方面的原因外,不同版本的操作系统对内存容量的支持也不尽相同,这就是我们所提到的造成4GB内存缩水的软件原因。虽然Windows XP系统号称最大可支持4GB容量的内存,但实际上即使在主板打开内存重映射技术的前提下,Windows XP系统仍然不能完全识别4GB容量的内存。
对32位来说,物理地址的寻址最多只能寻址4G,每个进程自己看到的地址空间都可以有这么大,但他们看到的都是虚拟地址而不是真实的物理地址。真正使用的物理地址是通过映射得到的。但是最终还是没办法改变物理地址只有4G这么大。
寻址空间一般指的是CPU对于内存寻址的能力。通俗地说,就是能最多用到多少内存的一个问题。数据在存储器(RAM)中存放是有规律的 ,CPU在运算的时候需要把数据提取出来就需要知道数据在那里 ,这时候就需要挨家挨户的找,这就叫做寻址,但如果地址太多超出了CPU的能力范围,CPU就无法找到数据了。 CPU最大能查找多大范围的地址叫做寻址能力 ,CPU的寻址能力以字节为单位 ,如32位寻址的CPU可以寻址2的32次方大小的地址也就是4G,这也是为什么32位的CPU最大能搭配4G内存的原因 ,再多的话CPU就找不到了。
总上所述,32操作系统支持4G大容量内存是可行的,但是它受主板芯片组的制约,同时, 16 位”或“ 32 位”时,指的是处理器中“自述逻辑单元” (ALU)的宽度;
cpu的运算位宽,由ALU、通用寄存器、数据总线三者之中最少的位宽决定!
所以cpu的寻址能力和位宽是不能挂钩的。
在AMD K8时代引入64位后,AMD的U寻址位就达到物理寻址40多位,而INTEL在p4 6系列之后物理寻址寻址能力亦达到40位,这大概是1TB,而如果是64位寻址应该是16EB,所以,以CPU位宽衡量CPU寻址能力是一个典型的错误!所以说,cpu是32位,所以支持内存为2^32=4G是错误的,传媒中说64位cpu的最大好处是支持更大的内存也是错误的。