算术运算导致溢出_CPU的控制器与运算器

计算机基础方面的知识,对于一些非科班出身的同学来讲,一直是他们心中的痛,而对于科班出身的同学,很多同学在工作之后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识。关于计算机基础的课程很多,内容繁杂,但无论是相关书籍还是大学课程,都有点脱离工作。特别地,计算机基础知识体系庞杂,想要从零学习或者复习都耗时耗力。

有鉴于此,本系列文章将带你更快的补足编程必备基础知识,涵盖计算机领域三大基础知识:计算机组成原理、操作系统、计算机网络,这些都是大学计算机课程里面最重要的内容。文章对这些内容做了提炼和总结,摒弃了作为程序员不需要掌握的知识。

目的是:

  • 帮助大家形成计算机知识的结构体系
  • 帮助大家理解计算机底层原理
  • 帮助大家在工作实践中借鉴其中的优秀设计

本篇是计算机组成原理之CPU的控制器和运算器

欢迎关注、转发、收藏、评论

控制器

控制器是CPU的组成部分,用于协调和控制计算机的运行。

55bbf397a3d89898935addda7ffbd724.png

控制器的主要部件

下面逐一简单介绍。

程序计数器(Program Counter)

简称PC,用来存储从内存提取的下一条指令的地址。当CPU执行一条指令时,首先需要根据PC中存放的指令地址,将指令由内存取到指令寄存器中,此过程称为“取指令”。与此同时,PC中的地址或自动加1或由转移指针给出下一条指令的地址,此后经过分析指令,执行指令,完成第一条指令的执行,而后根据PC取出第二条指令的地址,如此循环,执行每一条指令,保证程序能够连续地执行下去。

时序发生器

用于发送时序脉冲,CPU依据不同的时序脉冲有节奏地进行工作,类似于CPU的节拍器。

指令编译器

用于翻译指令及控制传输指令包含的数据。

指令寄存器

用于缓存从内存或高速缓存里取出的指令,CPU执行指令时,就可以从指令寄存器中取出相关指令来进行执行。

主存地址寄存器

保存当前CPU正要访问的内存单元的地址,通过总线跟主存通信。

主存数据寄存器

保存当前CPU正要读或写的主存数据,通过总线与主存通信。

通用寄存器

用于暂时存放或传送数据或指令。

运算器

运算器是用来进行数据运算加工的。

7efe5fb3d466c3f37bb243b134665e75.png

运算器的主要部件

数据缓冲器

分为输入缓冲和输出缓冲,输入缓冲暂时存放外设送过来的数据,输出缓冲暂时存放送往外设的数据。

ALU

全称为算数逻辑单元,是运算器的主要部件,能完成常见的位运算(左移、右移、与、或、非等)和算术运算(加减乘除等)。

状态字寄存器

存放运算状态(条件码、进位、溢出、结果正负等)和运算控制信息。

通用寄存器

暂时存放或传送数据或指令,保存ALU的运算中间结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
运算器是计算机的核心部件之一,其主要功能是完成各种算术和逻辑运算。在计算机组成原理实验一中,我们需要设计和实现一个简单的运算器。具体步骤如下: 1. 确定运算器的操作数格式和运算方式,如二进制补码加法、逻辑与、逻辑或等。 2. 根据运算器的操作数格式和运算方式,设计运算器的电路结构。通常包括寄存器算术逻辑单元(ALU)、控制器等。 3. 实现运算器的电路,可以使用门电路、触发器等基本电路元件,也可以使用计算机辅助设计软件进行设计和仿真。 4. 测试运算器的功能和性能,通过输入不同的操作数和操作码,验证运算器的正确性和稳定性。 在实验一中,我们需要实现简单的二进制补码加法运算器。该运算器的操作数格式为8位二进制补码,运算方式为加法。具体实现步骤如下: 1. 设计运算器的电路结构,包括一个8位寄存器、一个ALU和一个控制器。其中,寄存器用于存储待运算的操作数,ALU用于执行加法运算控制器用于控制运算器的操作。 2. 实现运算器的电路,可以使用门电路和触发器等基本电路元件。具体实现步骤包括: - 实现8位寄存器,用于存储待运算的操作数。可以使用8个D触发器实现,每个D触发器对应一个二进制位。 - 实现ALU,用于执行加法运算。可以采用串行加法器的结构,将8位操作数分别输入到每个加法器中,逐位相加得到运算结果。同时,还需要实现进位和溢出检测电路,保证加法运算的正确性。 - 实现控制器,用于控制运算器的操作。可以使用有限状态机实现,设计不同的状态和转移条件,实现运算器的控制逻辑。 3. 测试运算器的功能和性能。通过输入不同的操作数和操作码,验证运算器的正确性和稳定性。可以使用计算机辅助仿真软件进行测试,或者使用实际的电路进行测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值