【笔记】微机原理及接口技术1 -- 微机基础与8086

news2024/11/26 9:36:41

微机基础


微机组成

下图展示了微型计算机的硬件系统基本结构

在这里插入图片描述

中央处理器(CPU): 负责执行计算机程序指令,进行数据运算和逻辑运算。

主存: 用于 storing 程序和数据,包括只读存储器 ROM 和随机存储器 RAM。

输入设备: 外部数据输入的途径,如鼠标、键盘、扫描仪等。

输出设备: 外部显示输出的仪器,如显示器、打印机等。

输入/输出控制器: 负责管理输入输出设备与中央处理器之间的数据通信。

系统总线: 用于相互连接 CPU、内存模块及 I/O 控制器,实现数据和指令的传输。

电源系统: 向整个系统提供工作所需的电源。


微机运作原理

微型计算机系统的工作原理可以概括为以下几个方面:

  1. 指令执行:CPU 按序号顺序读取指令程序,执行相应的运算或控制功能。它与各个组件通过总线相连,控制数据和地址线的传输。

  2. 输入输出:当 CPU 需要访问外部设备(读取或写入)时,它会发出 I/O 请求。I/O 控制器会接受请求,与外设通信,并将结果返回给 CPU。

  3. 存储与传输:CPU 读取指令和数据时,首先将地址输出到地址线上。内存会根据此地址,在 RAM 中查找相应的字(word)并通过数据总线返回给 CPU。

  4. 时钟控制:一个时钟发生器周期性地产生脉冲信号。CPU 根据这些时钟脉冲来协调和同步它的各个部分的工作,以保证系统的稳定性。

  5. 中断响应:当外设需要 CPU 的即时响应时(如鼠标移动),它会发出一个中断请求。CPU 会暂停当前工作,先处理这个中断。执行完中断服务程序后,再回到之前的工作。

  6. 总线传输:系统总线将 CPU 、内存和 I/O 控制器相连。数据和地址线通过总线实现组件间的通信。


8086

微处理器内部总体上由 3 个部分组成,即运算器、控制器和寄存器组


运算器

运算器由算术逻辑单元 ALU (arithmeticlogical unit)、通用或专用寄存器组及内部总线 3 个部分组成

运算器根据总线结构可以分为以下三种

  1. 单总线结构运算器:此时所有的部件都通过一条内部总线传递信
  2. 双总线结构:内部用两条总线来传送操作数的
  3. 三总线结构:速度最快

控制器

下图展示了一个控制器的基本运行流程图

在这里插入图片描述

控制器必须具备以下功能

  • 指令控制:控制器要能根据指令所在的地址按顺序或在遇到转移指令时按照转移地址取出指令,分析指令(指令译码),传送必要的操作数,并在指令执行结束后存放运算结果
  • 时序控制:指令的执行是在时钟信号的严格控制下进行的,一条指令的执行时间称为指令周期
  • 操作控制

控制器的内部主要由以下几个部分组成

  • 程序计数器 PC (programmingcounter)
  • 指令寄存器 IR (instructionregister)
  • 指令译码器 ID (instructiondecoder)
  • 时序控制部件
  • 微操作控制部件

8086 微处理器

由于该处理器冗余部分过多,就不一一介绍寄存器的名称和地址了,只介绍重要原理,融会贯通即可

程序执行时,CPU 总是有规律的执行以下操作

  1. 从存储器中取出下一条指令;
  2. 指令译码(或分析指令);
  3. 如果指令需要,从存储器中读取操作数;
  4. 执行指令(包括算术逻辑运算、I/O 操作、数据传送、控制转移等);
  5. 如果需要,将结果写入存储器

实模式(8086/8088CPU 只能工作于此模式)

  • CPU 只能访问最多 1MB 的内存,并且很少对内存进行保护
  • 不使用段机制,CPU 直接访问线性地址
  • 需要 Segment 机制,因此实模式下的开销比较低

段地址和偏移地址是 x86 微处理器使用的两种寻址模式:

段地址:

  • 段地址模式下,内存被划分为多个段(segment)。
  • 每个段有一个段基址(base address)和段长度(limit)。
  • 指令由一个段寄存器和一个偏移地址组成。段寄存器指定段基地址,偏移地址指定该段内的一个绝对地址。
  • 在实模式下,只有一个段,所有段寄存器都指向相同的基地址(0),此时段地址模式实际上相当于线性地址。
  • 在保护模式下,不同的段寄存器可指向不同的段,实现内存保护。

偏移地址:

  • 在偏移地址模式下,内存被看作是一整块,没有分割为段。
  • 指令只包含一个线性地址,指定内存的一个绝对位置。
  • 使用偏移地址模式时,x86 处理器会忽略段寄存器,直接使用线性地址。
  • 偏移地址模式提供了最简单、最高效的寻址方式。

8086 指令系统


寻址方式

立即寻址:操作数直接包含在指令中,它是一个 8 位或 16 位的常数,也叫立即数,立即数作为指令的一部分,紧跟在操作码之后,存放在代码段内

直接寻址:在此方式下使用指令时,存储单元的有效地址直接由指令给出,在它们的机器码中,有效地址存放在代码段中指令的操作码之后

寄存器寻址:使用 CPU 寄存器存储地址,将使用寄存器的值作为内存地址,在 x86 架构中,支持使用 AX, BX, CX, DX 等通用寄存器进行寄存器寻址

寄存器间接寻址:用寄存器的内容表示操作数的偏移地址的寻址方式,此时寄存器中的内容为操作数的偏移地址而不是其本身!

寄存器相对寻址:操作数在内存中的存放地址(偏移地址)由间址寄存器的内容加上指令中给出的一个 8 位或 16 位的偏移量组成

基址变址寻址(basedindexedaddressing):该方式的操作数的有效地址是一个基址寄存器(BX 或 BP)和一个变址寄存器(SI 或 DI)的内容之和

相对基址变址寻址(relativebasedindexed addressing):该方式的操作数的有效地址是一个基址寄存器和一个变址寄存器的内容,再加上指令中指定的 8 位或 16 位偏移量之和


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/587425.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hudi Flink SQL代码示例及本地调试

前言 之前在Flink Hudi DataStream API代码示例中总结了Hudi Flink DataStream API的代码及本地调试,并且在文中提到其实大家用Table API更多一些,但是我感觉Table API调试源码可能会比较难一点,因为可能会涉及到SQL解析,不清楚T…

【单片机 TB作品】基于STM32F103C8T6单片机的甲醛监测与报警系统

文章目录 原理图ZE08-CH2O甲醛传感器A9短信模块实物 原理图 ZE08-CH2O甲醛传感器 ZE08-CH2O是一种甲醛(甲醛)传感器,用于检测环境中的甲醛浓度。甲醛是一种有毒气体,广泛用于建筑材料、家具、地毯、化妆品和其他消费品的生产中。…

STM32单片机(三)第二节:GPIO输出练习(LED闪烁、LED流水灯、蜂鸣器)

❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 :适用于想要…

案例挑战——MVVM框架理解和实践

MVVM框架理解和实践 一、背景介绍二、 什么是MVVM架构?1.架构示意图2.MVVM概念总结3.实现VM的框架 三、通过案例来理解MVVM框架1.没有使用MVVM架构的程序2.使用了MVVM架构的程序3.对比 四、总结 一、背景介绍 最近正在做新版项目的MVVM架构的结合业务的具体落地&am…

报表控件FastReport使用指南——如何打开WebP格式的图片

FastReport 是功能齐全的报表控件,可以帮助开发者可以快速并高效地为.NET,VCL,COM,ActiveX应用程序添加报表支持,由于其独特的编程原则,现在已经成为了Delphi平台最优秀的报表控件,支持将编程开…

SWUST软件技术基础实验笔记

目录 前言 堆栈的操作 实验目的 实验要求 单链表操作 实验目的 实验要求 二叉树操作 实验目的 实验要求 查找与排序 实验目的 实验要求 查找算法 排序算法 实验总结 前言 软件技术基础实验分为四个部分,涵盖了堆栈的操作、单链表操作、二叉树操作以…

微前端——qiankun配置方法

什么是微前端 微前端是指存在于浏览器中的微服务,其借鉴了微服务的架构理念,将微服务的概念扩展到了前端。 如果对微服务的概念比较陌生的话,可以简单的理解为微前端就是将一个大型的前端应用拆分成多个模块,每个微前端模块可以…

Qt文件系统源码分析—第八篇QFileSystemWatcher

深度 本文主要分析Windows平台,Mac、Linux暂不涉及 本文只分析到Win32 API/Windows Com组件/STL库函数层次,再下层代码不做探究 本文QT版本5.15.2 类关系图 QTemporaryFile继承QFile QFile、QSaveFile继承QFileDevice QFileDevice继承QIODevice Q…

RK最强ARM系列之RK3588+AI+Ethercat(linux +xenomai+igh)实时解决方案

RK3588是瑞芯微新一代旗舰级高端处理器,具有高算力、低功耗、超强多媒体、丰富数据接口等特点。搭载四核A76四核A55的八核CPU和ARM G610MP4 GPU,内置6.0TOPs算力的NPU。 有五大技术优势 1. 内置多种功能强大的嵌入式硬件引擎,支持8K60fps 的…

5.29-kubernetes learning

文章目录 HomeGet StartedThe kubernetes network model First of all ,we should understand the layout of this official website page. Home The Home chapter is that the official website has manuals for different versions of k8s ,and then generally…

chatgpt赋能python:Python中单词排序的方法—从入门到精通

Python中单词排序的方法—从入门到精通 Python是一门很流行的编程语言,它是一门被广泛使用的高级编程语言,为开发者提供了丰富的工具和库,在处理字符串、文本信息时也有着广泛的应用。本文主要介绍在Python中进行单词排序的方法。 什么是单…

python pycharm的安装教程

pycharm安装教程,超详细_皮小孩ls的博客-CSDN博客目录 前言 python的安装教程: 1.下载地址: 2. 安装 1)customize installation 勾选 use 2).默认 . 3). 选择安装位置 4).耐心等待&…

【CSSpart4--盒子模型】

CSSpart4--盒子模型 网页布局的三大核心:盒子模型,浮动,定位网页布局的过程(本质):盒子模型的组成四部分:边框,内容,内边距,外边距 一 、盒子边框border:1.1 …

Queue 队列的实现与应用

目录 1.概念2.常用的队列方法2.1 方法2.2 代码 3.自己实现队列3.1 构造MyQueue3.2 入队列offer()3.3 出队列poll()3.4 获得队头peek()3.5 是否为空isEmpty()3.6 获得队列大小size() 4.循环队列4.1 概念4.2 解析4.3 如何判断队列满4.4 代码(保留一个位置实现&#xf…

vue+nodejs校园二手物品交易市场网站_xa1i4

。为满足如今日益复杂的管理需求,各类管理系统程序也在不断改进。本课题所设计的校园二手交易市场,使用vue框架,Mysql数据库、nodejs语言进行开发,它的优点代码不能从浏览器查看,保密性非常好,比其他的管理…

轻松实现动态人脸识别,AidLux加速智慧城市场景化应用落地

随着AI技术进入全新发展阶段,智能物联网(AIoT)的渗透率进一步加深,应用场景不断拓展,人脸识别也迅速走进了人们的日常生活,在手机解锁、公司考勤、支付验证、天网抓捕在逃嫌犯等场景中发挥着重要作用。 人脸…

dataV教程-浅用dataV

一别多日,好久没有和大家相见了。其一的原因是因为公司的项目,其二就是因为太懒了。现在给大家浅浅的介绍一下这个好用的大屏展示框架吧。如果后续有深入的话,我会出一个详解版本的。 一、dataV介绍 前言:由于当前的大数据时代,…

Github标星60K!mall前台商城系统正式发布,支持完整订单流程!

之前有很多小伙伴问我,mall项目有没有前台商城系统,可见大家对mall项目的前台商城系统还是非常期待的。最近抽空把前台商城系统的功能给完善了,目前已经可以支持完整的订单流程。我已经把前台商城系统开源了,项目地址也放在文末了…

重磅发布!面向装备制造业服务化转型白皮书(私信获取)

《面向装备制造业服务化转型白皮书》 关于白皮书 《面向装备制造业服务化转型白皮书》通过调研160余家装备制造企业的服务化路径及模式,研讨支持企业开展服务型制造的系统化方案,希望为装备制造业服务化转型,探索切实有效的路径以供参考。 …

【MySQL】- 02 MySQL explain执行

目录 1.使用explain语句去查看分析结果2.MYSQL中的组合索引3.使用慢查询分析(实用)4.MYISAM和INNODB的锁定explain用法详解关于MySQL执行计划的局限性:备注: 1.使用explain语句去查看分析结果 如explain select * from test1 whe…