CPU基本结构和运行原理

news2025/2/23 22:56:55

1 CPU的基本结构

1.1 CPU是一个计算系统的核心

Control Unit,负责控制。如指令计数器,指令跳转。

Logic Unit,负责计算。如加减,比较大小等。

1.2 南北桥芯片将CPU与外设连接

北桥:CPU和内存、显卡等部件进行数据交换的唯一桥梁,即CPU想和其他任何部分通信,须经过北桥。北桥芯片中通常集成的还有内存控制器等,控制与内存的通信。现在的主板上已经看不到北桥,它的功能已被集成到CPU当中。

南桥:主要负责I/O设备之间的通信,CPU要想访问外设必须经过南桥芯片。

总线:传输数据用,分为地址总线、数据总线。以内存为例,地址总线传输要访问的内存地址,数据总线传输读写的数据。有些总线地址和数据是分离的,有些是同一根总线分时利用。

FSB总线:前端总线(Front Side Bus),CPU和北桥之间的桥梁,CPU和北桥传递的所有数据必须经过FSB总线,FSB总线的频率直接影响到CPU访问内存的速度。

ISA总线:最早出现的标准总线,传输速度低,早期的低速外设会采用ISA总线进行连接,如声卡。

PCI总线:一种高性能局部总线,构成了CPU和外设之间的高速通道。显卡一般都是用的PCI插槽,PCI总线传输速度快,能很好让显卡和CPU进行数据交换。

1.3 CPU的执行流程

典型CPU包含以下5个执行流程:

  1. 取指,从内存中取出指令
  2. 译码,识别指令的类型,计算指令长度,从指令中解析参数
  3. 执行,将数据送给计算单元或者控制单元进行具体计算和跳转
  4. 访存,有些指令可能需要从内存加载数据
  5. 写回,有些指令对寄存器或者内存状态有影响,将结果写入这些受影响的寄存器或者内存。

2 电路基础

2.1 组合电路基本原理

加法器真值表:

output = x xor y

C = x and y

只有当两个输入都为高电平时,输出才为高电平

至少有一个输入为高电平时,输出为高电平 输出与输入相反

2.2 时序电路基本原理

D触发器可保存数据,为了保证触发器的输出Q是正确的值,一定要让D信号稳定后,才在时钟的上升沿打入触发器。

单核主频有极限,多核成为主流:

3 汇编语言和寄存器

X86常用寄存器

16个通用寄存器:RAX, RBX, RCX, RDX, RSI, RDI, RSP, RBP,R8, R9, R10, R11, R12, R13, R14, R15。

程序计数器:RIP

状态寄存器:EFLAGS

段寄存器:CS, DS, ES, FS, GS

RAX:调用程序时,用于存储返回值。

RCX:在字符串处理指令中,常用做计数器。

RSI:在字符串处理指令中,做为源操作数。

RDI: 在字符串处理指令中,常做为目标操作数。

RSP:指向当前栈帧的栈顶。

RBP:指向当前栈帧的栈基址。

RDI, RSI, R8, R9可以在调用函数时传递参数。

RIP记录当前指令地址,每次取指阶段完成以后就会指向下一条指令的地址,如果有办法修改这个寄存器的值,就可控制程序的执行。

EFLAGS记录溢出,方向,为零等状态。可用于整个CPU的状态标记。

段寄存器在现代CPU中几乎不起作用了。在8086时代是做为段基址寄存器。

3.1 汇编语言是一种低级语言

也可使用gcc -s将C语言先翻译成汇编文件。

机器码是CPU真正能看懂并逐条执行的指令,而汇编语句是给人看的。

由于汇编语句与机器码几乎一一对应,所以我们也常常对机器码和汇编这两个词不加区分。

3.2 注意汇编代码中的寄存器宽度

AL和AH是1字节,也就是8位寄存器,AX是16位,EAX是32位,RAX是64位。其它通用寄存器也符合这个命名规则。

4 中断的基本原理

4.1 中断的产生

如下图所示,两片8259A级联可以处理共15种中断,其中包括时钟,键盘,软盘,硬盘,DMA等等。

当链盘被敲击时,就会通过8259A向CPU发出中断请求,CPU根据中断号判断是什么类型的中断。

4.2 中断服务程序

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

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

相关文章

Python解题 - CSDN周赛第22期 - 取数字

又是大放水的一期,连我都可以10分钟解决战斗了。得益于Python,前面三题5分钟内就pass了,而最后一题也是之前刷过类似的。。。于是相应地,这期的题解也会简短一些。 这次的好成绩代表不了实力,但也希望这样的好运气能一…

自然语言处理 概览理解 NLP specialization - Supervised ML

自然语言处理 概览理解 NLP specialization - Supervised ML Remember that understanding the data is one of the most critical steps in Data Science 自然语言处理可以实现语义识别,情感识别,文本翻译等等功能,当然最近情况下最火的便…

Java支付宝沙箱环境支付,官方Demo远程调试【内网穿透】

文章目录1. 下载当面付demo2. 修改配置文件3. 打包成web服务4. 局域网测试5. 内网穿透6. 测试公网访问7. 配置二级子域名8. 测试使用固定二级子域名访问在沙箱环境调试支付SDK的时候,往往沙箱环境部署在本地,局限性大,在沙箱环境中有多种支付…

MATLAB-一维插值运算

一维插值是指对一维函数进行插值。已知n1个结点(x,y,),其中x,互不相同(j0,1,2,... n),求任意插值点x*处的插值y*。求解一维插值问题的主要思想是:设结点由未知的函数g(x)产生,函数g(x)为连续函数且g(x)y;(j0,1,...,n);…

北大硕士LeetCode算法专题课---算法复杂度介绍

算法复杂度中大O的含义 推荐教程:北大硕士带你手撕Leetcode算法题 大O复杂度表示法 算法面试中, 经常会被问到,你写的算法复杂度是多少, 或者设计一个复杂度为 O(nlogn) 的算法复杂度分析是估算算法执行效率的方法,…

大厂的格局在细节上是怎么被拉低的

讲几个例子,都是大厂,作为大厂小散沙客户,也就是平头老百姓的角度来反观一下几个问题 第一个【脉脉】 今天(2023年1月9日)偶尔相等一下买买查看一下信息,由于手机没有安装APP.想借助PC的web端登录一下 它提…

小程序中无法播放阿里云的视频点播

背景视频直接存在自己的服务器,视频大了会存在卡顿现象,只能用阿里云或其它服务商的相关服务。原来在APP中已有了视频播放的功能,而且已经能正常使用,但视频的url是 http。现在期望在小程序中也添加视频播放的功能。初期操作申请相…

css——扁平圆弧(底部弧度)

案例演示 使用伪类处理,先将元素自身定位为relative,伪类设置content:‘’,并相对定位为absolute,再设置下left ,top 值,然后通过改变width和和left就可以调节弧度。宽度需大于100%,将left设为(…

微分方程(人口预测与传染病模型)

一、定义 微分方程:含导数或微分的方程 微分方程的阶数:所含导数或微分的最高阶数,如y’’’2y’’-2x0是三阶微分方程 微分方程的解:使得微分方程成立的函数 例如y’-2x0的解可以为x或者x1 微分方程的通解和特解:特…

基于Arduino Pro Micro的游戏手柄制作

基于Arduino Pro Micro的游戏手柄开发 1. Arduino IDE下载及安装 在Arduino官网Software | Arduino下载最新版Arduino IDE并安装。 或使用QQ群中提供的免安装版Arduino IDE,安装完成后Arduino Pro Micro的pin脚定义使用下面路径下的leonardo: 2. Arduino Pro Micr…

GrapeCity 文档处理商业系列Crack-6.0.2Version

GrapeCity 文档处理商业系列Crack文档 API 使用高速、直观的文档 API 全面控制您的文档 包括: Documents for Excel, .NET Documents for Data Viewer Documents for PDF Documents for PDF Viewer Documents for Word Documents for Imaging Documents for Image V…

数据库MySQL基础入门之MySQL隐式转换

一、问题描述 rootmysqldb 22:12: [xucl]> show create table t1\G *************************** 1. row *************************** Table: t1Create Table: CREATE TABLE t1 ( id varchar(255) DEFAULT NULL ) ENGINEInnoDB DEFAULT CHARSETutf8 1 row in set (0.0…

ArcGIS基础实验操作100例--实验74灾害影响缓冲区分析

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 高级编辑篇--实验74 灾害影响缓冲区分析 目录 一、实验背景 二、实验数据 三、实验步骤 (…

剑指offer----C语言版----第十四天

表示数值的字符串 原题链接:剑指 Offer 20. 表示数值的字符串 - 力扣(LeetCode)1.1 题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。数值(按顺序)可以分成以下几个部分&a…

常见胶片的分类和结构

胶片的分类方法非常多,本质上属于高分子材料范畴,很多类别已经超出笔者的认知范围,我们只对与档案数字资源长期保存和异质备份相关的胶片分类方法进行介绍。笔者整理了十大分类如下图所示: 各分类简要介绍 1. 按宽度尺寸分类 常…

【Linux】进程信号万字详解(上)

🎇Linux: 博客主页:一起去看日落吗分享博主的在Linux中学习到的知识和遇到的问题博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话: 看似不起波澜的日复一日,一定会在某一天让你看见坚持…

194: vue+openlayers 根据卫星lat,lon,alt,俯仰角,方位角,绘制地面的拍摄的区域

第194个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers项目中研究卫星的拍摄范围。 根据卫星的高度,经度,纬度,方位角,俯仰角以及拍摄的幅宽,幅长等参数,绘制拍摄的矩形框和中心点。这里用到了一些公式,参考代码,尤其是大部分使用的是弧度而非角度,需…

青铜到王者,8本最好的Python从入门到进阶的书

春节长假还有1周了,是时候囤一些书充充电了!新的一年群里很多小伙伴开始想学Python, 无论是准备转行的,还是想多学一份技能提高职场竞争力的,都想选择Python赛道,下面给大家推荐一些非常不错的Python入门到…

联合证券|利好叠加有望实质兑现 机构加码布局装修建材

组织加码布局装饰建材板块。据了解,受房地产利好方针带动、职业竞赛格式持续改进及原材料本钱下降等多重利好叠加,装饰建材板块有望迎来实质性利好,虽然曩昔两个多月来相关公司有所反弹,但组织以为行情仍然在路上。 多重利好推进 …

架构设计---高可用的处理

前言: 系统的高可用架构就是要在上述各种故障情况下,保证系统依然可用提供服务,具体包括以下几种架构方案。 冗余备份: 各种服务器故障是不可避免的,架构设计上就要保证,当服务器故障的时候,…