汇编学习-第二章(CPU工作原理)

1、逻辑地址与物理地址

逻辑地址:人为假设计算机分散的内存连接一起,并分好段。上面的地址称逻辑地址。

逻辑地址 = 基地址(段地址 * 16) + 偏移地址

物理地址:存储单元在计算机中的唯一编号。CPU访问存储单元需要的地址。

2、通用寄存器

一个典型的CPU,由控制器、运算器、寄存器等组成,通过内部总线连接。

内部总线实现CPU内部期间的联系。

外部总线实现CPU与主板上其他期间联系。

8086有16个通过寄存器

AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW

寄存器为16位,存储值最大值为(2的16次方-1)。因为intel公司的向上兼容性。

AX,BX,CX,DX均可拆分2个8位寄存器。AH和AL,其他类似。

3、字与字节

字节:byte = 8位

字:两个字节 = 16位

4、16位CPU实现20位物理地址的方法

8086内部为16位结构,它只能传送16位的地址,表现出的寻址能力却只有64K。

8086外部有20位地址总线,可传送20位地址,寻址能力为1M。

8086CPU采用一种在内部用两个16位地址合成的方法来形成一个20位的物理地址。

段地址+偏移地址 -> 地址加法器 -> 20位的物理地址。

地址加法器合成物理地址的方法:段地址×16+偏移地址=物理地址。

“段地址×16”有一个更为常用的说法就是数据左移4位。(二进制位)

二进制的数据左移4位,二进制中左移一位等于乘2,移动四位便是乘16

5、段的概念

相对CPU,内存被分为很多段。使用段,那么就是使用逻辑地址。由4可以得知段的首地址一定为16的倍数

6、段寄存器CS和IP

CS:代码段寄存器

IP:指令指针寄存器

CS中存着基地址,IP存着偏移地址

7、修改CS和IP

可以用汇编指令:JMP

CS和IP都修改:jmp 段地址:偏移地址

用指令给的段地址修改CS,给出的偏移地址修改IP

只修改IP:jmp 某一合法寄存器

仅修改IP的值

CPU与内存的联系:

16位CPU实现20位物理地址的方法:

原创博文,转载注明出处!

原文地址:https://www.cnblogs.com/Fsiswo/p/8364590.html

时间: 2024-10-12 23:38:24

汇编学习-第二章(CPU工作原理)的相关文章

计算机原理学习(1)-- 冯诺依曼体系和CPU工作原理

前言 对于我们80后来说,最早接触计算机应该是在95年左右,那个时候最流行的一个词语是多媒体. 依旧记得当时在同学家看同学输入几个DOS命令就成功的打开了一个游戏,当时实在是佩服的五体投地.因为对我来说,屏幕上的东西简直就是天书.有了计算机我们生活发生了巨大的变化,打游戏,上网,聊天,甚至到现在以此为业.有时无不感叹计算机的强大. 人类总是聪明的而又懒惰的.即便是1+1这种简单的计算都不想自己做,1623年Wilhelm Schickard 制作了一个能进行六位以内数加减法,并能通过铃声输出答案

cpu工作原理

众所周知,CPU是电脑的“心脏”,是整个微机系统的核心,因此,它也往往成了各种档次微机的代名词,如昔日的286.386.486,奔腾.PII.K6到今天的PIII.P4.K7等.回顾CPU发展历史,CPU在制造技术上已经获得了极大的提高,主要表现在集成的电子元件越来越多,从开始集成几千个晶体管,到现在的几百万.几千万个晶体管,这么多晶体管,它们是如果处理数据的呢? ◆ CPU的原始工作模式在了解CPU工作原理之前,我们先简单谈谈CPU是如何生产出来的.CPU是在特别纯净的硅材料上制造的.一个CP

汇编学习笔记02(寄存器CPU工作原理)

1. 什么是寄存器呢? 就是可以用指令进行读写的部件. 程序员通过改变各种寄存器中的内容实现对CPU的控制. 如果是16位CPU的话, 就是相当于2个存储单元. 2. 字在寄存器中的存储? 8086CPU可以一次性处理两种尺寸的数据 Byte: 字节型数据, 一个字节由8个bit组成, 可以存在8位寄存器中. Word: 字型数据, 一个字型由16个bit组成, 也就是两个字节, 称为这个字的高位字节和低位字节. 3. 常用汇编指令的学习(需要注意的是汇编指令是不区分大小写的) mov ax,

oracle学习 第二章 限制性查询和数据的排序 ——03

这里,我们接着上一小节2.6留下的问题:如果要查询的字符串中含有"_"或"%",又该怎样处理呢? 开始今天的学习. 2.7  如何使用转义(escape)操作符 可以是用个转义(escape)关键字来完成此任务.为了进行练习,我们必须先创建一个临时的表,之后再往该表中插入1行记录,其包含通配符.可能您现在还可能十分不理解例2-13和例2-14的SQL语句.没有问题,您只要照着输入就可以了. 例 2-13 SQL> CREATE TABLE dept_temp

java学习第二章总结

连续上了一个星期的课,也算慢慢适应了这种紧张的学习节奏.现在来总结下第二章所学的内容: 第二章主要是讲java的基础语法,他主要由这几个方面构成:常量,变量,数据类型,关键字,标识符,运算符,表达式,注释以及语句等构成. 数据类型是java控制内存的关键元素,java通过数据类型声明来对变量或者常量进行内存空间的分配,并将其标注好名称(即标识符).不同的数据类型,所分配的空间大小都不一样:整型中byte,short,int,long所对应的空间大小分别为1,2,4,8个字节:浮点型中float,

不懂CPU工作原理又如何 ---CSDN

近日,一位i而来自BBC的软件工程师Daniel Harper 从浅入深,分享了以代码的方式来实现CPU所有功能的可行性,希望对大家了解计算机的内容原理有所帮助. 以下为译文: 几个月前,我突然意识到自己并补真正理解计算机内部的工作原理.我仍然不明白现代计算机具体是怎么工作的. 然而,我读了J.Clark Scott 撰写的一本叫<<But  How Do It Know?>>  的书,书中描述了一个简单8位计算机,从与非门(NAND gate)  到寄存器.RAM.CPU.ALU

Android学习笔记View的工作原理

自定义View,也可以称为自定义控件,通过自定义View可以使得控件实现各种定制的效果. 实现自定义View,需要掌握View的底层工作原理,比如View的测量过程.布局流程以及绘制流程,除此之外,还需要掌握View常见的回调方法.而对于那些具有滑动效果的自定义View,我们还需要处理View的滑动,如果遇到滑动冲突则需要处理相应的滑动冲突. 下面是View的常见回调方法: 构造方法 onAttach onVisibilityChanged onDetach onFinishInflate on

Java基础知识二次学习-- 第二章 基础语法与递归补充

第二章 基础语法与递归补充   时间:2017年4月24日10:39:18 章节:02章_01节,02章_02节 视频长度:49:21 + 15:45 内容:标识符,关键字与数据类型 心得:由字母,下划线,$,数字组成,应该由字母,下划线$开头,同时应该避开java保留字符 变量是内存中的一小块区域,使用变量名来访问这块区域 执行过程中的内存管理(疑问:这里的内存和Jvm的一样吗?) code segment 存放代码 data segment 静态变量 字符串常量 stack 栈 局部变量 h

linux基础学习 第二章-第四章笔记

第二章 ####linux系统结构#### linux系统结构是倒树形 /bin        ###二进制可执行文件也就是系统命令 /sbin       ###系统管理命令存放位置 /boot       ###启动分区,负责系统启动 /dev        ###设备管理文件 /etc        ###大多数系统管理文件 /home       ###普通用户的家目录 /lib        ###32位系统库文件存放位置 /lib64      ###64位系统库文件存放位置 /me