第1章 计算机组成原理概述

2023-05-16

文章目录

  • 前言
  • 1.0 课程简介
    • 1.0.1 课程的地位
    • 1.0.2 课程学习思路
    • 1.0.3 课程组成
  • 1.1 计算机系统简介
    • 1.1.1 计算机组成
      • 1.计算机的类型
      • 2.计算机的组成
      • 3.软件组成
    • 1.1.2 计算机系统的层次结构
      • 1.物理层方面
      • 2.程序员角度
    • 1.1.3 计算机体系结构与计算机组成
  • 1.2 计算机的基本组成
    • 1.2.1 冯诺·依曼计算机的特点
    • 1.2.2计算机硬件框图
      • 1. 以存储器为中心的计算机硬件框图
      • 2. 现代计算机硬件框图
    • 1.2.3 计算机工作步骤
      • 1. 上机前的准备
      • 2. 计算机的解题过程
        • (1) 存储器的基本组成
        • (2) 运算器的基本组成及操作过程
        • (3) 控制器的基本组成
        • (4) 主机完成一条指令的过程
        • (5) a x 2 + b x + c ax^2 + bx + c ax2+bx+c 程序的运行过程
  • 1.3 计算机硬件的主要技术指标
  • 总结


前言

本文介绍计算机的组成,主要包括计算机的系统构成、计算机的基本组成、计算机的的工作过程等。


1.0 课程简介

1.0.1 课程的地位

在这里插入图片描述

1.0.2 课程学习思路

自顶向下的学习方法
在这里插入图片描述

1.0.3 课程组成

  1. 计算机组成原理之机器
    • 计算机系统的基本概念
    • 总线
    • 存储器
    • 输入输出系统
  2. 计算机组成原理之数字
    • 计算机中数的表示
    • 计算机的运算方法和运算器
  3. 计算机组成原理之CPU
    • 指令系统
    • CPU的结构和功能
    • 控制单元
    • 控制单元的设计

1.1 计算机系统简介

1.1.1 计算机组成

1.计算机的类型

传感器、纽扣计算机、手机、台式计算机、超级计算机

2.计算机的组成

  • 硬件:计算机实体,如主机、外设等
  • 软件:由具有各种特殊功能的信息(程序)组成

3.软件组成

  • 系统软件:用来管理整个计算机系统系统软件
    • 语言处理程序
    • 操作系统软件
    • 服务性程序
    • 数据库管理系统
    • 网络软件
  • 应用软件:按任务需要编制成的各种程序

1.1.2 计算机系统的层次结构

1.物理层方面

在这里插入图片描述

2.程序员角度

在这里插入图片描述
在这里插入图片描述

1.1.3 计算机体系结构与计算机组成

计算机体系结构:程序员所见到的计算机系统的属性,是一种概念性的结构与功能特性。(指令系统、数据类型、寻址技术、I/O机理)
计算机组成:实现计算机体系结构所体现的属性组成达(具体指令的实现)

1.2 计算机的基本组成

1.2.1 冯诺·依曼计算机的特点

  1. 计算机由五大部件(输入设备、输出设备、控制器、存储器、运算器)组成
  2. 指令和数据以同等地位存于存储器,可按地址寻访
  3. 指令和数据用二进制表示
  4. 指令由操作码和地址码组成
  5. 设备存储程序
  6. 设备以运算器为中心
冯诺·依曼计算机框架图

在这里插入图片描述

  • 输入设备:将输入信息转换为机器能识别的形式;
  • 存储器: 存放数据和程序;
  • 运算器:进行算数运算与逻辑运算;
  • 输出设备:将运算结果转化为人们熟悉的形式;
  • 控制器:指挥程序的运行

1.2.2计算机硬件框图

1. 以存储器为中心的计算机硬件框图

在这里插入图片描述

2. 现代计算机硬件框图

硬件
主机
CPU
存储器
主存
辅存
ALU运算器
CU控制器
I/O设备
输入设备
输出设备

在这里插入图片描述
系统复杂性管理的方法

  • 层次化(Hierachy):将被设计的系统划分为多个模块或子模块;
  • 模块化(Modularity):有明确定义(well-defined)的功能和接口;
  • 规则性(regularity):模块更容易被重用。

1.2.3 计算机工作步骤

1. 上机前的准备

  • 建立问题的数学模型
  • 确定问题的数学计算方法
  • 编制解题程序

编程举例
计算 a x 2 + b x + c ax^2 + bx + c ax2+bx+c

计算ax^2 + bx + c(ax+b)x+c
指令1取x 至运算器中取x 至运算器中
指令2乘以x 在运算器中乘以a 在运算器中
指令3乘以a 在运算器中加b 在运算器中
指令4存ax^2 在存储器中乘以x 在运算器中
指令5取b 至运算器中加c 在运算器中
指令6乘以x 在运算器中
指令7加ax2 在运算器中
指令8加c 在运算器中

指令码格式: [操作码 | 地址码]

2. 计算机的解题过程

(1) 存储器的基本组成

存储器由大到小依次为存储体、存储单元、存储元件(0/1)类似于大楼中的房间,房间中的床位(无人/有人)

MAR:存储器地址寄存器,反映存储单元的个数;
MDR:存储器数据寄存器,反映存储字长。
在这里插入图片描述
存储单元:存放一串二进制代码;
存储字:存储单元中二进制代码的组合;
存储字长:存储单元中二进制代码的位数,每个存储单元赋予一个地址号,按地址寻访。

(2) 运算器的基本组成及操作过程

运算器结构:
在这里插入图片描述
运算器运算过程:
在这里插入图片描述

(3) 控制器的基本组成

完成一条指令需要取指令PC分析指令IR执行指令CU三个过程。
PC :存放当前欲执行指令的地址, 具有计数功能(PC)+1→PC;
IR :存放当前欲执行的指令。
在这里插入图片描述

(4) 主机完成一条指令的过程

取数指令过程
在这里插入图片描述
存数指令过程
在这里插入图片描述

(5) a x 2 + b x + c ax^2 + bx + c ax2+bx+c 程序的运行过程

  • 将程序通过输入设备送至计算机;
  • 程序首地址→PC;
  • 启动程序运行;
  • 取指令 PC→MAR→M→MDR→IR ,(PC )+ 1→PC;
  • 分析指令 OP(IR)→CU;
  • 执行指令 Ad(IR)→MAR→M→MDR→ACC;
  • ……
  • 打印结果;
  • 停机。

1.3 计算机硬件的主要技术指标

  1. 机器字长:CPU一次能处理数据的位数,与CPU中的寄存器位数有关。
  2. 运算速度
运算速度
主频
核数以及每个核支持的线程数
吉普森法Tm=F1T1+F2T2+...FnTn
CPI:执行一条指令所需时钟周期数
MIPS:每秒执行百万条指令
FLOPS:每秒浮点运算次数
  1. 存储容量
    存放二进制信息的总位数
存储容量
主存容量
辅存容量
存储单元个数MAR*存储字长MDR
字节数

总结

本文从多个角度介绍了计算机的组成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第1章 计算机组成原理概述 的相关文章

  • “-1” 文件删除

    无法删除以短连接符开头 1 的文件 rm rf 1 或 rm rf 34 1 34 问题原因 xff1a 短连接符会被当作选项解析 解决方式有两种 xff1a 一种加前缀使用相对或绝对路径 xff1b 一种使用 标识选项解析结束 xff08
  • 01 梯度下降、学习率、损失函数

    概念引入 基于一个自变量x xff0c 比如时间 xff0c 我们可以得到其对应的观测值y xff0c 比如温度值 不停的观测 xff0c 我们可以得到一系列的真实对应关系 xff1a 时间 xff0c 温度的真实值 xff0c 即 x1
  • 02 LinerRegression

    问题引入 xff1a 这就是个简单的线性回归函数的计算问题 现在我们已知一次函数 y 61 4x 43 9 xff0c bias为一个服从标准正态分布的随机随机数值 那么通过 y 61 4x 43 9 43 bias xff0c 当我们给定
  • Mysql 5.1.70 及 Navicat 安装教程

    为了避免安装后期出现Bug xff0c 首先必须明确电脑中从未安装过Mysql xff0c 或者安装过Mysql并且卸载干净 xff0c 否则二次安装会出错 此外 xff0c 安装过Mysql xff0c 并且进行过卸载 xff0c 需要进
  • jdk的配置与eclipse的使用

    首先自然是安装包从哪里获得这个问题 xff1a jdk历史版本 xff1a https www oracle com java technologies oracle java archive downloads html eclipse历
  • 01 原生JDBC的使用缺陷与基础环境配置

    开发环境 jdk1 7 0 72 eclipse eclipse 3 7 indigo mysql mysql5 1 相关安装教程 jdk的配置与eclipse的使用 与 Mysql 5 1 70 及 Navicat 安装教程 工程目录 创
  • 02 Mybatis结构配置

    文章目录 01 mybatis介绍 02 mybatis框架工作流程 03 ecplice项目jar包导入方法 04 在项目中导入mybitis框架的依赖包 05 项目下创建config文件夹 06 xml配置文件的设置 07 pojo数据
  • 03 Mybatis入门程序

    1 配置SqlMapConfig 配置数据库连接相关信息 span class token prolog lt xml version 1 0 encoding UTF 8 gt span span class token doctype
  • 04 Mybatis的增删改查

    1 mybatis中sql语句的占位符与parameterType 与 parameterType 表示一个占位符 向占位符输入参数 mybatis自动进行java类型和jdbc类型的转换 程序员不需要考虑参数的类型 比如传入字符串 myb
  • C++链表的各种操作

    题目描述 代码 include lt iostream gt include lt algorithm gt using namespace std struct sqList int data sqList next sqList Lis
  • HJ001 字符串最后一个单词的长度

    目录 题目描述 输入描述 输出描述 输入 输出 做题思路 AC代码 题目描述 计算字符串最后一个单词的长度 xff0c 单词以空格隔开 输入描述 输入一行 xff0c 代表要计算的字符串 xff0c 非空 xff0c 长度小于5000 输出
  • 盲签名 blind signature 简介

    转 https blog csdn net zhang hui cs article details 8728776 盲签名 Blind Signature 定义 是一种数字签名的方式 在消息内容被签名之前 对于签名者来说消息内容是不可见的
  • VMware 虚拟机安装 OpenWrt 作旁路由 单臂路由 img 镜像转 vmdk 旁路由无法上网 没网络

    重要注意事项 由于布线原因笔记本只能采用无线的方式连接路由器 xff0c 在Windows10的环境下使用无线网卡桥接 xff0c 结果软路由无法上网 xff0c 翻阅了各种帖子最终发现跟系统底层的协议栈有关系 xff0c 随即放弃使用有线
  • HJ002 计算某字母出现的次数

    目录 题目描述 输入描述 输出描述 输入 输出 做题思路 1 AC代码 1 做题思路 2 AC代码 2 题目描述 写出一个程序 xff0c 接受一个由字母 数字和空格组成的字符串 xff0c 和一个字母 xff0c 然后输出输入字符串中该字
  • HJ003 明明的随机数

    目录 题目描述 输入描述 输出描述 输入 输出 说明 做题思路 AC代码 题目描述 明明想在学校中请一些同学一起做一项问卷调查 xff0c 为了实验的客观性 xff0c 他先用计算机生成了N个1到1000之间的随机整数 xff08 N 10
  • new,delete使用详解(动态多维数组空间申请)

    C语言中利用库函数malloc和free来分配和撤销空间的 C 43 43 中的new与delete是运算符 xff0c 不是函数 xff0c 所以执行效率更高 但C 43 43 中也是可以使用malloc和free的 但是一来不方便 xf
  • 局部,全局(外部),static等变量详解

    首先 xff0c 必须明白一个程序是包含若干个源文件 xff0c 每个源文件又是包含若干个函数 xff0c 每个源文件 函数中又定义了若干个变量 但是每个变量都有自己的作用范围 xff0c 也就是自己的作用域 只有在作用域内才可以访问变量
  • 函数的可变参数的实现

    stdarg h stdarg h是C语言中C标准函数库的头文件 xff0c stdarg是由standard xff08 标准 xff09 arguments xff08 参数 xff09 简化而来 xff0c 主要目的为让函数能够接收可
  • 常见的注入方式

    设计模式中常见的注入方式 依赖注入 最近在求职 xff0c 耽搁了 xff0c 对于应届生来讲想找个大数据相关的工作何其困难 所以在填充一些自己不足之处 xff0c 希望与君共勉 一 依赖注入DI 开发过程中 xff0c 如果发现客户程序依

随机推荐

  • 部分Fortify代码扫描高风险解决方案

    部分Fortify代码扫描高风险解决方案 一 Category Access Control Database 问题描述 xff1a Database access control 错误在以下情况下发生 xff1a 1 数据从一个不可信赖的
  • 中标麒麟高级服务器V7安装

    中标麒麟高级服务器V7安装 中标麒麟高级服务器操作系统软件 xff08 兆芯版 xff09 一 安装步骤 准备 xff1a 1 相关中标麒麟镜像 2 vncviewer xff0c 由它去远程连接服务器上的机器节点 1 首先进入界面呈现 该
  • Hive--OR-AND使用方法

    OR AND 数据源 xff1a 1 22 1 21 2 22 1 20 select from id age where id 61 1 or id 61 2 and age 61 22 表示 xff1a 查询id 61 1 同时age
  • gdb 打印内存和数组

    打印数组 xff1a p arrayPtr 64 256 打印256个数组元素类型元素值 xff0c 二元操作符 64 左边数组第一个元素 xff0c 右边数组长度 p x char arrayPtr 64 256 以16进制打印256个以
  • Hive--清除/删除Hive表数据,where条件

    清除Hive表数据 hive删除表 xff1a drop table table name hive删除表中数据 xff1a truncate table table name hive按分区删除数据 xff1a alter table t
  • Mysql--查询时使用SQL将字段的数据类型转换(varchar->int)

    查询时使用SQL将数据类型转换 在 span class token keyword sql span 里面String转 span class token keyword int span span class token punctua
  • Mysql项目实践常用操作汇总(不断更新)

    MySQL 1 主键 xff0c 索引 xff0c 引擎 CREATE TABLE 96 表名 96 96 列名1 96 int 11 NOT NULL 96 列名2 96 varchar 255 NOT NULL PRIMARY KEY
  • 大文件处理方案

    处理海量数据问题 xff0c 无非就是 xff1a 分而治之 hash映射 43 hash统计 43 堆 快速 归并排序 xff1b Bloom filter Bitmap xff1b Trie树 数据库 倒排索引 xff1b 外排序 xf
  • spark读取嵌套json代码测试示例

    示例一 示例数据 xff1a span class token punctuation span span class token string 34 name 34 span span class token operator span
  • Redis集群原理和总结

    Redis集群原理 节点主从 xff08 镜像全量 xff09 43 哈希slot xff08 分片 xff09 无主模型 遵循 CAP原则 C一致性 A可用性 P分区容错性 xff0c 三者不可兼得 数据放在大数据集群中的方式 集群承载数
  • Hbase基础

    Hbase 谷歌 BigTable论文 海量存储 列式存储 极易扩展 RS HDFS 高并发 稀疏性 主要是针对Hbase列的灵活性 xff0c 在列族中 xff0c 你可以指定任意多的列 xff0c 在列数据为空的情况下 xff0c 是不
  • Flink

    Flink 一 简介 Flink核心是一个流式的数据流执行引擎 xff0c 其针对数据流的分布式计算提供了数据分布 数据通信以及容错机制等功能 基于流执行引擎 xff0c Flink提供了诸多更高抽象层的API以便用户编写分布式任务 xff
  • SUMO学习入门 (二)路网文件的生成

    声明 xff1a 该文章为博主转载自知乎用户 xff1a 侘寂升平 xff0c 侵删 xff01 非常感谢知乎朋友无私分享的sumo系列文章 xff0c 给了我很多的指导 xff01 欢迎读者关注该博主 xff01 以下为转载正文 xff1
  • 第七章 结构体

    文章目录 前言一 结构体与结构体指针1 结构体的定义 引用与初始化2 结构体指针3 typedef的使用A typedef结构体B typedef整型 二 C 43 43 的引用1 数字2 指针 前言 本文主要介绍结构体的使用 一 结构体与
  • Mapreduce实例(七):二次排序

    系统环境 Linux Ubuntu 16 04 jdk 7u75 linux x64 hadoop 2 6 0 cdh5 4 5 hadoop 2 6 0 eclipse cdh5 4 5 jar eclipse java juno SR2
  • WiFiduino+blinker+小爱同学打造智慧卧室

    系列文章目录 文章目录 系列文章目录前言一 实现功能二 所需材料三 导线连接四 软件开发1 开发环境搭建2 编写程序 五 手机操作部分1 blinkerAPP2 米家APP3 小米音箱APP 六 实物部分1 实物图片 总结 前言 本科二年级
  • 深度学习实际—手写体识别

    文章目录 前言1 什么是机器识别手写数字 xff1f 2 MNIST数据集是什么 xff1f 3 显示MNIST数据集4 名词解释4 1 图像4 2 卷积层4 3 池化层4 4 线性层4 5 激活函数4 6 损失函数 https blog
  • 简易计时器开发

    一 项目场景 xff1a 事情是这样的 xff0c 学校给了一个网页 xff0c 让我们去学习 xff0c 网页超过5分钟无操作会自动跳出 xff0c 需要一个定时器来提醒我们每隔一段时间去操作网页 xff0c 我在网上查了几个定时器 xf
  • 第9章 无监督学习

    系列文章目录 第1章 绪论 第2章 机器学习概述 第3章 线性模型 第4章 前馈神经网络 第5章 卷积神经网络 第6章 循环神经网络 第7章 网络优化与正则化 第8章 注意力机制与外部记忆 第9章 无监督学习 第10章 模型独立的学习方式
  • 第1章 计算机组成原理概述

    文章目录 前言1 0 课程简介1 0 1 课程的地位1 0 2 课程学习思路1 0 3 课程组成 1 1 计算机系统简介1 1 1 计算机组成1 计算机的类型2 计算机的组成3 软件组成 1 1 2 计算机系统的层次结构1 物理层方面2 程