前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >图解计算机结构与体系分类!!

图解计算机结构与体系分类!!

作者头像
冰河
发布2021-02-05 16:30:05
4840
发布2021-02-05 16:30:05
举报
文章被收录于专栏:冰河技术

作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地址:

https://github.com/sunshinelyz/mykit-delay

PS: 欢迎各位Star源码,也可以pr你牛逼哄哄的代码。

写在前面

今天,我们继续更新【程序员进阶系列】专题,冰河带你从零入坑程序员。接下来,我们一起聊聊计算机的结构和体系分类。

文章已收录到:

https://github.com/sunshinelyz/technology-binghe

https://gitee.com/binghe001/technology-binghe

计算机结构

计算机结构主要由运算器、控制器、存储器、输入设备和输出设备组成。简化的结构图如下图所示。

接下来,我们再看看看其详细的结构图如下所示。

其中,主存储器又叫做内存储器,也就是内存;辅助存储器又叫做辅存,也就是外存储器,例如磁盘;CPU的核心部件为运算器和控制器。

CPU由运算器、控制器、寄存器组和内部总线组成。

运算器包含:算术逻辑单元、累加寄存器、数据缓冲寄存器、状态条件寄存器。

  • 算术逻辑单元(ALU):数据的算术运算和逻辑运算。
  • 累加寄存器(AC):通用寄存器,为ALU提供一个工作区,用于暂存数据。
  • 数据缓冲寄存器(DR):写内存时,暂存指令或数据。
  • 状态条件寄存器(PSW):存储状态标志和控制标志,有时也可以将状态条件寄存器归为控制器部分。

控制器包含:程序计数器、指令寄存器、指令译码器、时序部件。

  • 程序计数器(PC):存储下一条要执行的指令的地址。
  • 指令寄存器(IR):存储即将执行的指令。
  • 指令译码器(ID):对指令中的操作码字段进行分析解释。
  • 时序部件:提供时序控制信号。

计算机体系结构分类

首先,我们先来看一个在计算机领域中,对计算机的体系结构进行分类的一种经典方法,就是Flynn分类法,Flynn分类法将计算机分成单指令流单数据流、单指令流多数据流、多指令流单数据流、多指令流多数据流。

具体信息如下表所示。

体系结构类型

结构

关键特性

代表

单指令流单数据流(SISD)

控制部分:一个 处理器:一个 主存模块:一个

单处理器系统

单指令流多数据流(SIMD)

控制部分:一个 处理器:多个 主存模块:多个

各处理机以异步的形式执行同一条机灵

并行处理机、阵列处理机、超级向量处理机

多指令流单数据流(MISD)

控制部分:多个 处理器:一个 主存模块:多个

被证明是不可能的,至少是不实际的

目前没有,有资料记载流水线处理机为此类

多指令流多数据流(MIMD)

控制部分:多个 处理器:多个 主存模块:多个

能够实现作业、任务、指令等各级全面并行

多处理机系统、多计算机

指令的基本概念

一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的格式如下所示。

其中,操作码部分指出了计算机要执行什么性质的操作,例如,加法、减法、取数、存数等。地址码字段需要包含各操作数的地址及操作结果的存放地址等,从其地址结构的角度可以分为三地址指令、二地址指令、一地址指令和零地址指令。

三地址指令

例如,执行a+b=c操作时,就是使用的三地址指令。此时如下所示。

二地址指令

例如,执行a+=b操作时,执行的就是二地址指令,此时如下所示。

一地址指令

例如,执行a++操作时,执行的就是一地址指令,此时如下所示。

零地址指令

例如,宕机就是零地址指令。

寻址方式

总体来说,寻址方式可以分为:立即寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址。

  • 立即寻址:操作数直接在指令中,速度快,灵活性差。
  • 间接寻址:指令中存放的是操作数的地址。
  • 间接寻址:指令中存放了一个地址,这个地址对应的内容是操作数的地址。
  • 寄存器寻址:寄存器存放操作数。
  • 寄存器内存放的是操作数的地址。

CISC与RISC

CISC和RISC分别表示复杂指令集系统和精简指令集系统,具体信息如下表所示。

指令系统类型

指令

存执方式

实现方式

其他

CISC(复杂)

数量多、使用频率差别大,可变长格式

支持多种

微程序控制技术(微码)

研发周期长

SISC(精简)

数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存。

支持方式少

增加了通信寄存器、硬布线逻辑控制为主,适合采用流水线

优化编译,有效支持高级编程语言

如何比较CISC和RISC,分哪些维度?

指令数量、指令使用频率、存执方式、寄存器、流水线支持、高级语言支持。

  • CISC:复杂、指令数量多,频率差别大、多寻址。
  • RISC:精简、指令数量少。操作寄存器,单周期,少寻址,多通用寄存器,流水线,

好了,今天就到这儿吧,我是冰河,大家有啥问题可以在下方留言

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 冰河技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 写在前面
  • 计算机结构
  • 计算机体系结构分类
  • 指令的基本概念
    • 三地址指令
      • 二地址指令
        • 一地址指令
          • 零地址指令
          • 寻址方式
          • CISC与RISC
          相关产品与服务
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档