zoukankan      html  css  js  c++  java
  • 编程必备基础知识|计算机组成原理篇(09):CPU的控制器和运算器

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

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

    目的是:

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

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

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

    控制器

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

    下面逐一简单介绍。

    程序计数器(Program Counter)

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

    时序发生器

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

    指令编译器

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

    指令寄存器

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

    主存地址寄存器

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

    主存数据寄存器

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

    通用寄存器

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

    运算器

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

    数据缓冲器

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

    ALU

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

    状态字寄存器

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

    通用寄存器

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

  • 相关阅读:
    python爬取哦漫画
    NLP系列(2)_用朴素贝叶斯进行文本分类(上)
    svm 笔记
    nlp学习笔记
    LR
    bp网络全解读
    最小二乘法
    学习参考
    pandas中的quantile函数
    泰坦尼克号与小费与乘客数量与 鸢尾花数据集
  • 原文地址:https://www.cnblogs.com/sum-41/p/11583567.html
Copyright © 2011-2022 走看看