编程必备基础知识|计算机组成原理篇(09):CPU的控制器和运算器

2022-10-15,,,,

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

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

目的是:

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

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

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

控制器

控制器是cpu的组成部分,用于协调和控制计算机的运行,它的构成如下图所示:

下面逐一简单介绍。

程序计数器(program counter)

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

时序发生器

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

指令编译器

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

指令寄存器

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

主存地址寄存器

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

主存数据寄存器

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

通用寄存器

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

运算器

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

数据缓冲器

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

alu

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

状态字寄存器

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

通用寄存器

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

《编程必备基础知识|计算机组成原理篇(09):CPU的控制器和运算器.doc》

下载本文的Word格式文档,以方便收藏与打印。