计算机组成原理面试知识点总结1

#ウルトラマンゼット(泽塔)

1 计算机发展历程

1.1 计算机的硬件发展

  • 电子管时代
  • 晶体管时代
  • 中小规模集成电路时代
  • 超大规模集成点电路时代

元件更新变化:

  • 摩尔定律:18 个月晶体管翻一倍
  • 半导体存储器不断发展
  • 微处理器不断发展

1.2 计算机软件发展

  • 面向机器:
    • 机器语言
    • 汇编语言
  • 面向问题的高级语言:C++、Java 等

1.3 计算机的分类与发展方向

电子计算机:电子模拟计算机、电子数字计算机。

数字计算机:专用计算机、通用计算机。

通用计算机按其规模、速度和功能等又可分为巨型机、大型机、中型机、小型机、微型机及单片机。

计算机按指令和数据流分类:

  • SISD(单指令流单数据流):传统冯·诺依曼体系结构
  • SIMD(单指令流多数据流):阵列处理器向量处理器系统
  • MISD(多指令流单数据流):实际不存在
  • MIMD(多指令流多数据流):多处理器和多计算机系统

计算机发展趋势:

  • 微型计算机:更微型、网络化、高性能、多用途
  • 巨型计算机:更巨型、超高速、并行处理、智能化方向

2 计算机系统结构

2.1 计算机系统构成

由硬件系统和软件系统组成。

2.2 计算机硬件的基本组成

2.2.1 冯·诺依曼机

冯诺依曼机的组成:存储器+运算器+控制器+输入设备+输出设备。

其主要特征为:

  • 数字计算机的数制采用二进制;
  • 计算机应该按照程序顺序执行;
  • 运算器为中心;

典型冯·诺依曼机如下图所示:

主要由五大部件组成:

  1. 存储器:用来存放数据和程序;
  2. 运算器:主要运行算数运算和逻辑运算,并将中间结果暂存到运算器中;
  3. 控制器:主要用来控制和指挥程序和数据的输入运行,以及处理运算结果;
  4. 输入设备:用来将人们熟悉的信息形式转换为机器能够识别的信息形式,常见的有键盘,鼠标等;
  5. 输出设备:可以将机器运算结果转换为人们熟悉的信息形式,如打印机输出,显示器输出等;

冯 · 诺依曼结构的模型机:

一般运算器和控制器集成到同一个芯片上,称为中央处理器(CPU)。

2.2.2 现代计算机的组织结构

现代计算机发展以存储器为中心,使 I/O 操作尽可能地绕过 CPU,直接在 I/O 设备和存储器之间完成,提高系统的整体的运行效率。

2.3 计算机软件的分类

软件按功能分类,分为以下两种:

  • 系统软件:保证计算机高效运行、正确运行的基础软件,通常作为系统资源提供给用户使用,如操作系统、数据库管理系统等。
  • 应用软件:用户为解决某个应用领域的问题,编制的程序。如科学计算类程序。

语言分类:

  • 机器语言:二进制代码语言, 是计算机唯一可以直接识别和执行的语言。

  • 汇编语言:用英文单词或其缩写代替二进制的指令代码,需要汇编程序的系统软件翻译,转换为机器语言后,才能在计算机硬件系统上运行。

  • 高级语言:例如 C、C++、Java。需要经过编译程序编译成汇编语言,然后经汇编操作得到机器语言程序,或直接由高级语言翻译成机器语言程序。

2.4 计算机工作过程

具体步骤:

  • 程序、数据装入主存
  • 从程序其实地址开始运行
  • 程序首地址取出指令
  • 新得到的指令地址读出下一条指令,直到程序结束

信息流程:

  • 取指令:PC -> MAR -> M(存储器)-> MDR -> IR
  • 分析指令:OP(IR) -> CU
  • 执行指令:Ad(IR) -> MAR -> M -> MDR -> ACC

2.5 多级层次结构

2.6 各硬件部件

  • 主存
    • 存储体:存储元、存储单元、存储字、存储字长、地址
    • MAR:地址寄存器
    • MDR:数据寄存器
  • 运算器
    • ACC:累加计数器
    • MQ:乘商寄存器
    • X:通用寄存器
    • ALU:算术逻辑单元
  • 控制器
    • PC:程序计数器
    • IR:指令寄存器
    • CU:控制单元
  • 工作过程:指令、数据存入主存,PC 指向第一条指令

3 计算机性能指标

3.1 机器字长

计算机进行一次整数运算(即定点整数运算)所能处理的二进制数据的位数,与 CPU 的寄存器位数、加法器有关,机器字长一般等于内部寄存器的大小,字节越长,数的范围越大,计算精度越高。通常为字节(8 位)的整数倍。

3.2 数据通路带宽

数据总线一次所能并行传送信息的位数。

3.3 主存容量

主存储器所能存储信息的最大容量,以字节来衡量,也就是字数 * 字长来表示存储容量。

3.4 运算速度

3.4.1 吞吐量和响应时间

3.4.1.1 吞吐量

系统在单位时间内处理请求的数量,取决于信息能多快地输入内存。

3.4.1.2 响应时间

用户向计算机发送一个请求,到系统对该请求做出相应并获得所需结果的等待时间。

3.4.2 主频和 CPU 时钟周期

3.4.2.1 CPU 时钟周期

通常为节拍脉冲或 T 周期,既主频的倒数,它是处理操作的最基本的单位。

3.4.2.2 主频

也叫时钟频率,单位是 Hz,用来表示 CPU 的运算速度,越大,运算速度越快,常用有 1.8GHz、2.4GHz、2.8GHz。

3.4.2.3 CPI

执行一条指令所需的时钟周期数。

3.4.2.4 CPU 执行时间

即运行一个程序所花费的时间。

CPU 执行时间 = CPU 时钟周期数 / 主频 = (指令条数 * CPI)/ 主频

3.4.3 MIPS、MFLOPS、GFLOPS、TFLOPS

  • MIPS:每秒处理多少(百万级的指令条数)。
  • MFLOPS:每秒百万个浮点运算数。
  • GFLOPS:即每秒 10 亿次的浮点运算数,常作为 GPU 性能参数但不一定代表 GPU 的实际表现,因为还要考虑具体如何拆分多边形和像素、以及纹理填充,理论上该数值越高越好。
  • TFLOPS:即每秒万亿次的浮点运算数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/48065.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

掌握Gradle任务控制:深入doFirst与doLast的魔法

掌握Gradle任务控制:深入doFirst与doLast的魔法 在构建自动化的世界里,Gradle以其灵活性和强大的功能成为了许多开发者的首选工具。Gradle的任务系统是其核心之一,允许开发者定义、执行和控制构建过程中的各种任务。其中,doFirst…

html+css 实现简约社交分享按钮

效果 原理解析 1.事件是由a标签的hover触发的 2.动画效果是transition动画效果 上代码&#xff0c;可以直接复制使用 目录 html <!DOCTYPE html> <html><head><meta http-equiv"content-type" content"text/html; charsetutf-8"…

Java批量在图片上写字生成新图片代码实现

在日常开发中,可能会遇到需要多张指定内容的图片,我们可以采用以下的方法,生成多张含有指定内容的图片。 首先在本地指定位置存一张指定的背景图片; 指定特定的文件夹作为存放生成图片的位置; 代码替换以上两个位置的代码,即可生成图片; 代码运行成功后,即可在代码中文…

环境变量配置文件中两种路径添加方式

环境变量配置文件中两种路径添加方式 文章目录 环境变量配置文件中两种路径添加方式代码示例区别和作用 代码示例 export HBASE_HOME/opt/software/hbase-2.3.5 export PATH$PATH:$HBASE_HOME/binexport SPARK_HOME/opt/software/spark-3.1.2 export PATH$SPARK_HOME/bin:$PAT…

抖音客户端一面

C | 字节抖音客户端一面 Http握手过程 1. 客户端问候(Client Hello) 客户端向服务器发送一个“问候”消息&#xff0c;其中包含客户端支持的SSL/TLS版本、加密算法、压缩方法以及一个随机数。 version 版本号,https也有版本号哦TLS 1.0、TLS 1.1、TLS 1.2等等 random 随机数…

服务器是否需要安装杀毒软件

现在许多服务器都自带杀毒软件&#xff0c;这些软件可以更好的保护服务器的安全&#xff0c;防止使用者的信息被泄露。那么服务器是否需要杀毒软件&#xff0c;这里壹基比小鑫就和大家一起看看。 一、为什么要装服务器杀毒软件&#xff1f; 装服务器杀毒软件主要是保护服务器安…

使用API有效率地管理Dynadot域名,设置待删除域名抢注请求

简介 Dynadot是通过ICANN认证的域名注册商&#xff0c;自2002年成立以来&#xff0c;服务于全球108个国家和地区的客户&#xff0c;为数以万计的客户提供简洁&#xff0c;优惠&#xff0c;安全的域名注册以及管理服务。 Dynadot平台操作教程索引&#xff08;包括域名邮箱&…

爬虫学习2:爬虫爬取网页的信息与图片的方法

爬虫爬取网页的信息与图片的方法 爬取人物信息 import requestshead {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0" } # 这是get请求带参数的模式…

27. 移除元素【 力扣(LeetCode) 】

一、题目描述 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k&#xff0c;要通过此题&#xff0c;您需要执行以下操作&…

命令函安装库函数超时

pip3 install package_name -i https://pypi.tuna.tsinghua.edu.cn/simple package_name 替换成需要安装的函数

DNS劫持

目录 一、DNS的基本概念 二、DNS劫持的工作原理 三、DNS劫持的影响 四、DNS劫持的防范措施 DNS劫持&#xff1a;一种网络安全威胁的深入分析 在当今网络日益发达的时代&#xff0c;互联网已经成为了人们日常生活中不可或缺的一部分。然而&#xff0c;随着网络技术的进步&am…

**2024吉林省赛---E.ConnectedComponents(单调栈)

题目 给定一个&#x1d45b;个点的无向图以及参数数组&#x1d44e;1,&#x1d44e;2,...,&#x1d44e;&#x1d45b;与&#x1d44f;1,&#x1d44f;2,...,&#x1d44f;&#x1d45b;。&#x1d456;与&#x1d457; (&#x1d456;<&#x1d457;)有边当且仅当&#x1…

了解Linux中的shell脚本

目录 1、什么是shell 2、编写第一个shell文件 3、shell的权限 4、变量 5、 shell传递参数 6、shell数组 7、shell基本运算符 7.1 算术运算符 7.2 关系运算符 7.3 布尔运算符 7.4 逻辑运算符 7.5 字符串运算符 8、控制语句 8.1 if 8.2 for 8.3 while语句 9、其他 1、…

C#初级——条件判断语句和循环语句

条件判断语句 简单的条件判断语句&#xff0c;if()里面进行条件判断&#xff0c;如果条件判断正确就执行语句块1&#xff0c;如果不符合就执行语句块2。 if (条件判断) { 语句块1 } else { 语句块2 } int age 18;if (age < 18){Console.WriteLine("未…

Anaconda安装-超详细版(2023)

Anaconda安装 - 超详细版&#xff08;2023&#xff09; 前言&#xff1a;彻底卸载pythonAnaconda下载地址安装详细步骤配置环境变量检验安装是否成功更改conda源&#xff08;后续安装第三方库可以加快速度&#xff09;超详细彻底卸载Anaconda教程Tensorflow-gpu 安装 前言&…

ORBSLAM3 ORB_SLAM3 Ubuntu20.04 ROS Noetic 虚拟机镜像 下载

下图是build.sh 和 build_ros.sh编译结果截图&#xff1a; slam数据集测试视频&#xff1a; orbslam3 ubuntu20.04 test 下载地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1nre0Y9vig5QXIGU52qCLbQ?pwd9rbi 提取码&#xff1a;9rbi

【系列教程之】1、点亮一个LED灯

1、点亮一个LED灯 作者将狼才鲸创建日期2024-07-23 CSDN教程目录地址&#xff1a;【目录】8051汇编与C语言系列教程本Gitee仓库原始地址&#xff1a;才鲸嵌入式/8051_c51_单片机从汇编到C_从Boot到应用实践教程 本源码包含C语言和汇编工程&#xff0c;能直接在电脑中通过Keil…

代码解读2

未知 这段代码的主要目的是计算每个类别的特征中心点&#xff08;feature center&#xff09;&#xff0c;然后根据特征中心点与类别内特征的距离来计算密度&#xff08;density&#xff09;&#xff0c;接下来根据密度对每个类别进行划分。下面是针对每个主要步骤的详细解释&…

【iOS】内存五大分区

目录 堆&#xff08;Heap&#xff09;是什么五大分区栈区堆区全局/静态区常量区&#xff08;即.rodata&#xff09;代码区&#xff08;.text&#xff09; 函数栈堆和栈的区别和联系图解 OC语言是C语言的超集&#xff0c;所以先了解C语言的内存模型的内存管理会有很大帮助。C语言…

多线程总结(持续更新)

线程的优点 进程与线程的区别 创建线程三个方法 结束线程的两个常用方法 等待一个线程 join() 获取当前线程的引用 Java线程共有⼏种状态&#xff1f;状态之间怎么切换的&#xff1f; synchronized特点 volatile的特点 线程不安全问题及解决方案 wait() 和notify() 的作…