首页 > 其他分享 > 计算机组成原理之处理器(单周期)

计算机组成原理之处理器(单周期)

时间:2023-11-16 20:47:40浏览次数:33  
标签:计算机 存储器 PC 地址 指令 处理器 寄存器 原理 ALU

引言

处理器的实现方式决定了时钟周期长度和CPI。实现方式有单周期与流水线,本篇谈谈单周期处理器。

目前CPU的频率一般是3GHZ/4GHZ,但是频率是有极限值的,受cycletime影响

基本的RISC-V实现

  • 存储指令:ld,sd
  • 算术逻辑指令 :add ,sub,and,or
  • 条件分支指令:beq

实现每条指令的前两个步骤是一样的:

  • 程序计数器发送到指令所在的存储单元,并从其中取出指令
  • 根据指令的某些字段选择要读的一个或两个寄存器

所有类型的指令在读取后都用ALU(存储器访问,算术逻辑,条件分支比较)

单周期CPU概览

file


流程介绍

所有的指令都用程序计数器获得指令在指令存储器中的地址

  • 取到指令后,指令的对应字段知道要使用的寄存器操作数。
  • 寄存器操作数一被取出,即可用于计算存储器地址(load指令或store指令)、计算算术运算结果(定点算术逻辑指令)或进行相等检验(分支指令)。
  • 如果是算术指令,ALU的结果要写回寄存器。
  • 如果是存取操作,ALU的结果黄作为存储器地址以及存储来自寄存器的值,或将存储器数据加载到寄存器中。
  • 对于分支指令ALU的输出来觉得下一条指令的地址,这个地址可能来自PC和分支偏量相加的加法器,也可能来自PC+4的加法器。

时钟同步方法

一般用边沿触发来到达时钟同步的目的。这也决定了要在一个时钟周期内读出寄存器的值。

建立数据通路

数据通路单元

数据通路单元是一个用来操作或保存处理器中数据的单元。在RISC-V实现中,数据通路单元包括指令存储器、数据存储器、ALU和加法器。

如果一个单元内部有存储功能,它就包含状态,称为状态单元

file

程序计数器

包含当前程序正在执行指令地址的寄存器,是一个64位的寄存器,在每个周期结束后被写入。

存储单元

寄存器堆

处理器的32个通用寄存器位于寄存器堆(register-file)的结构中

file


数据存储单元

读写信号是相互独立的,但仅有一个可以在任意给定的时钟上有效

为实现beq指令,需要将PC值与符号扩展后的指令偏移量相加得到分支地址

file


分支指令

  • 指令系统结构规定了计算分支目标地址的基址分支是所在地址
  • 将偏移量左移以为以表示板子为单位的偏移量,这样的偏移有效范围扩大两位

file


ALU控制

”load/store = add“ “branch = sub" "R type ~ depend on opcode"

file


file


控制信号

file

file


数据通路操作

R型

  • 取出指令,PC自增
  • 从寄存器堆读两个寄存器,对从寄存器堆读出的数据进行操作
  • 根据部分操作码确定ALU的功能,对寄存器堆读出的数据进行操作
  • 将ALU的结果写入寄存器堆中的目标寄存器

file

load指令

步骤:

  • 从指令存储器中取出指令,PC自增
  • 从寄存器堆中读出对应一个寄存器的值
  • ALU将从寄存器堆中读出的值和符号扩展后的12位(偏移量)相加
  • 将ALU的结果用作数据存储器的地址
  • 将从寄存器读出的数据写入寄存器堆

file

beq指令

  • 从指令存储器中取出指令,PC自增
  • 从寄存器堆中读出两个寄存器x1和x2
  • ALU将寄存器堆读出的两数相减。PC与左移一位、符号扩展的指令中的12位相加,结果是分支目标地址
  • ALU的零数超出决定将哪个加法器的结果写入PC

file

本文由博客一文多发平台 OpenWrite 发布!

标签:计算机,存储器,PC,地址,指令,处理器,寄存器,原理,ALU
From: https://www.cnblogs.com/xiaocrblog/p/17837213.html

相关文章

  • 指针网络原理分析
    不明确的地方,请看原文:指针网络一些难理解的关键词combinatorialproblem(组合问题):组合问题的目标是在一组有限集合中找出能够同时满足一组约束的一个满意解,在本文的语境下,是指对于给定的词元输入序列,找出能够满足一组约束的词元输出序列,作为满意解。token(词元)在本文中,词元是......
  • 学期2023-2024-1 20231401 《计算机基础与程序设计》第八周学习总结
    学期2023-2024-120231401《计算机基础与程序设计》第八周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第八周作业这个作业的目标《计算机科学概论》第9章《C语言程序设计》第7章并......
  • 【开源】基于Vue.js的计算机机房作业管理系统的设计和实现
    一、摘要1.1项目介绍基于Vue+SpringBoot+MySQL的计算机机房作业管理系统包含课程档案模块、课时档案模块、学生作业模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,计算机机房作业管理系统基于角色的访问控制......
  • 计算机程序的自动化
    计算机程序的自动化是指通过编写程序来实现特定任务的自动执行。自动化程序可以根据预定义的规则和条件,自动完成一系列操作,而无需人工干预。这样可以提高工作效率,减少人力成本,并减少错误发生的可能性。计算机程序的自动化可以应用于各个领域,例如:批量处理:自动化程序可以处理大......
  • 软件测试/人工智能|一文告诉你ChatGPT原理与架构
    简介ChatGPT是今年最火的互联网应用,ChatGPT给我们的工作和生活带来了巨大便利,帮我们写文案,帮我们写代码等,但是当我们在于ChatGPT对话时,我们是否有想过,这么强大的一个工具,它背后的技术原理是什么?它的技术架构是怎样的?本文就告诉大家ChatGPT的原理与架构。ChatGPT的主要特点OpenAI使......
  • 软件测试/人工智能|一文告诉你ChatGPT原理与架构
    简介ChatGPT是今年最火的互联网应用,ChatGPT给我们的工作和生活带来了巨大便利,帮我们写文案,帮我们写代码等,但是当我们在于ChatGPT对话时,我们是否有想过,这么强大的一个工具,它背后的技术原理是什么?它的技术架构是怎样的?本文就告诉大家ChatGPT的原理与架构。ChatGPT的主要特点Open......
  • Windows任务管理器禁用开机启动项原理
    从win10开始,任务管理器加入了启动项管理。这里主要是针对注册表中和startup文件夹中的启动项进行管理。而通过服务、计算任务的启动项不会在这里显示。 这里禁用的主要原理是:在以下两个位置创建对应的项 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Exp......
  • 交换机原理
    交换机品牌华为、华硕、惠普、思科 什么是交换机交换机将其他网络设备(如交换机、路由器、网络防火墙、无线介入点)和所有终端设备(如计算机、服务器、网络摄像头、网络打印机)连接在一起,实现彼此的通信。交换机是构建局域网络不可或缺的集线设备。作为局域网通信的重要枢纽和......
  • 微处理器 (MPU) ATSAMA5D29-CN 500MHz、SAM9X75-I/4PB 1核,32位 800MHz
    一、ATSAMA5D29-CN 微处理器ICSAMA5D21核,32位500MHz289LFBGA基于Arm®Cortex®-A5CPU的车用ATSAMA5D29-CN是高性能、低功耗嵌入式微处理器(MPU),运行频率高达500MHz。符合AEC-Q1002级标准的SAMA5D29MPU支持多种存储器,如DDR2、DDR3L、LPDDR2、LPDDR3、QSPI和e.MMC闪存......
  • Eureka原理
    学习自:【精选】Eureka原理看这一篇就够了_阿小木的愤怒的博客-CSDN博客1、分布式分布式系统:由多个应用程序协同来完成任务的一种工作模式系统。这里的任务可能是一个下单操作、复杂的统计计算、存储一个超大数据等等。总之这种任务不适合或无法由单个程序独立完成,需要多个程序协......