首页 > 其他分享 >CPU

CPU

时间:2022-12-03 15:55:05浏览次数:34  
标签:周期 存储器 地址 指令 执行 CPU

CPU的功能

CPU总体框架

 

 

 

 

 

 

运算器基本结构

 

 

 

 

 

 

控制器的基本结构

注意PC(程序计数器)是保存下一条指令在主存中的存放地址,CPU通过PC内容到主存中取指令

IR(指令寄存器):保存当前正在执行的指令

 

 

 

IR中的OP操作码,发送给指令译码器

IR中的Ad地址码,发送给数据通道(总线等),以获取操作数

指令执行过程

 

 

 

 

 

 

指令周期

 

 

 

时钟周期:又称为振荡周期,由单片机片内振荡电路OSC产生,常定义为时钟脉冲频率的倒数,是时序中最小的时间单位。它控制着计算机的工作节奏,使计算机的每一步工作都统一到它的步调上来。显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。

 

机器周期:也称为CPU周期。在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段(如取指、译码、执行等),每一阶段完成一个基本操作。完成一个基本操作所需要的时间称为机器周期。一般情况下,一个机器周期由若干个时钟周期组成。

 

指令周期:CPU每取出一条指令并执行这条指令,都要完成一系列的操作,这一系列操作所需要的时间通常叫做一个指令周期。换言之指令周期是取出一条指令并执行这条指令的时间。由于各条指令的操作功能不同,因此各种指令的指令周期是不尽相同的。

 

取指周期的操作

PC是存放指令地址的地方

CPU与存储器的交流是依靠MAR和MDR

指令地址要存放到MAR中

然后CU通过控制总线,将读信号发送给存储器

然后MAR通过地址总线,将要在存储器拿数据(指令)的地址,发送给存储器

存储器通过地址找到数据(指令),将数据(指令)通过数据总线送到MDR中

然后MDR再将指令送到IR(指令寄存器)中

CU发出控制信号,使PC指向下一条(指令)地址

间址周期

其任务就是取有效地址,其给出是由形式地址和寻址特征共同给出

首先将IR中的形式地址放入MAR中

CU通过控制总线发送控制,让存储器准备读

然后MAR将数据(形式地址)放入地址总线,通过地址总线发给存储器

存储器通过地址找到数据(有效操作数的地址),通过数据总线发送给MDR

执行周期

中断周期

指令执行方案

流水线方案

 

 

之所以能够进行流水线是因为:

在每个阶段(取指,分析,执行),所用的硬件不一样。

所以相比顺序执行方式,我们可以将硬件重复利用起来

其实还可以将阶段分的更细,从而可以多次并发,实现更高的硬件重复利用

 

 

 

 

`

影响流水线的因素

 

 

但是每一个部件工作的时耗时不同,而且在执行的时候可能会有冲突

 

IF为取指,ID为译码,EX为执行,M为访存,WB为写回

结构冲突

 

 

数据冲突

 

 

控制冲突

 

 

总结

 

 

 

 

标签:周期,存储器,地址,指令,执行,CPU
From: https://www.cnblogs.com/cilinmengye/p/16948191.html

相关文章

  • 处理器从单核到多核的演化过程Linux-查看系统CPU个数、核心数、线程数
    Linux-查看系统CPU个数、核心数、线程数1.CPU个数(socket的个数)cat/proc/cpuinfo|grep"physicalid"|sort|uniq|wc-l2.每个CPU的核心数grep'coreid'/proc/cpuinfo......
  • Linux运维获取内存、cpu、磁盘IO信息
    一、脚本今天主要分享一个shell脚本,用来获取linux系统CPU、内存、磁盘IO等信息。#!/bin/bash#获取要监控的本地服务器IP地址IP=`ifconfig|grepinet|grep-vE'in......
  • Linux如何查看当前占用CPU或内存最多的K个进程
    内存可以使用以下命令查使用内存最多的K个进程方法1:ps-aux|sort-k4nr|head-K如果是10个进程,K=10,如果是最高的三个,K=3说明:ps-aux中(a指代a......
  • 查看进程在哪个CPU上运行
    ps-eopid,args,psr|grepexh#exh为进程名前缀psr(processserial)为CPU编号,如上图所示,exhaust_cpu在1号CPU运行。......
  • test cpu performance with matrix multiplication
    一需求:测试cpu计算性能二方法:1.使用一定规模方阵执行乘法运算,不需要保存结果。2.根据CPU核数开启线程执行乘法运算3.事先将线程执行任务放入线程对应的任务容器,然后开启线......
  • 代码绑核后调用system占用CPU分析
    一system函数分析1.函数原型:intsystem(constchar*command)参数command一般是一条可被/bin/sh-c执行的字符串,可以是"ls-l"这样的shell命令,也可以是"./Test"这样的二进......
  • CPU各寄存器的作用
    CPU各寄存器的作用-[Asm]寄存器作用:ebp和esp是32位的SP,BPesp是堆栈指针ebp是基址指针ESP与SP的关系就象AX与AL,AH的关系.32位CPU所含有的寄存器有:4个数据寄存器(EAX、EB......
  • 程序员学习 CPU 有什么用?
    本文已收录到AndroidFamily,技术和职场问题,请关注公众号[彭旭锐]提问。前言大家好,我是小彭。在上一篇文章里,我们聊到了计算机的冯·诺依曼架构,以及计算机的五大部件......
  • java获取电脑cpu,系统相关信息,jvm,文件盘符相关信息
    1.准备cpu,jvm,文件盘符实体类packagecom.joolun.framework.web.domain.server;importjava.lang.management.ManagementFactory;importcom.joolun.common.utils.Arit......
  • 硬件路灯第一期CPU篇
    CPU,centralprocessingunit,也就是中央处理器,如果计算机是一个人的话,CPU就是他的大脑我们近下来会科普CPU的几大参数1.主频假设CPU是建筑工地的话,主频相当于工人们搬砖的......