计算机组成原理二

1.指令的格式

每条指令等长,均为2个字节

第一个字节的高四位是操作码,低四位作为表示寄存器号

第二个字节是存储单元地址

2.计算机启动过程:

(1)计算机启动后,从BIOS芯片中取出指令,进行执行,这段程序就是在实模式在进行的。

(2)设置CPU中PE=1,操作系统进入保护模式,如果任务需要会进入虚拟8086模式(之间任务的切换,中断返回),不管处在哪一个模式一旦系统复位都会从实模式重新开始。

3.小知识

1985年,Intel公司提出了IA-32的x86体系结构,cpu进入了32位时代,可以内存寻址4G大小空间,同时也引入了虚拟内存管理的概念。x86之所以今天可以保持大的市场份额,是因为x86始终保持着向前兼容的特性,并且不降低性能。

2003年,AMD公司提出了x86-64体系结构,cpu进入了64位时代,理论可以寻址2^64byte,但实际达不到。Intel后来也提出了IA-64体系结构,但与之前32位系统不兼容,所以Intel后来放弃了IA-64体系结构。

在x86-64体系结构中向前兼容的运行模式称为传统模式(Legacy mode),而与之对应的为长模式(Long mode)。

8086中IP寄存器只有16位,所以寻址范围在16K以内,而地址总线位20位,故寻址需要借助于段寄存器。


最终地址计算方法: 逻辑地址 = 段基址<<4 + offset(偏移量)

4.寄存器:

在X86-64中的通用寄存器,其中有4个数据寄存器。

    

FLAGS标志CPU的运行状态

5. Application for Segment Register(8086) : 

Let's take an example :  

MOV AX , [3000H]

CPU will notice we need a value in the Memory, so it will firstly visit the Data Segment

first step: get the value of Data Segment in DS Register we suspect it is 2000H

second step: Physical address = 2000H * 16 + 3000H = 23000H //3000H is an offset 

6.堆栈段

 其中SS指定这个区域的起始地址。PUSH和POP指令都是从SP寄存器获得堆栈的段内偏移量,顾名思义其英文表达式也就是:STACK POINTER



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值