第一讲 计算机组成与结构(初稿)

2024-03-07 09:44

本文主要是介绍第一讲 计算机组成与结构(初稿),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

计算机组成与结构

  • 计算机指令
  • 常见CPU寄存器类型有哪些?
  • 存储器分类?
    • 内存?
    • 存储器基本组成:
  • 控制器的基本组成
  • 主机完成指令的过程
    • 以取数指令为例
    • 以存数指令为例
    • ax^2+bx+c程序的运行过程
  • 机器字长
  • 存储容量
  • 小试牛刀(答案及解析在后面)

在这里插入图片描述
在这里插入图片描述
补充:CPU(中央处理单元)基本组成部分包括控制器(控制单元,CU)、运算器(算术逻辑单元,ALU)、寄存器。

计算机指令

在这里插入图片描述

常见CPU寄存器类型有哪些?

  1. MAR(Memory Address Register):内存地址寄存器,用于存储即将从内存读取或写入到内存的数据的地址。
  2. MDR(Memory Data Register):内存数据寄存器,也称为内存缓冲寄存器,用于暂存从内存读取的数据或要写入内存的数据。
  3. PC(Program Counter):程序计数器,存储下一条要执行的指令的内存地址。
  4. IR(Instruction Register):指令寄存器,存储当前正在执行的指令。
  5. ACC(Accumulator):累加器,是一个特殊用途的寄存器,用于存储操作的中间结果。
  6. 通用寄存器:这些寄存器可以被程序用来存储临时数据和指令的结果,它们的具体数量和用途根据不同的CPU架构而有所不同。
  7. 标志寄存器:用于存储指令执行后的状态信息,如零标志、进位标志、溢出标志等。

存储器分类?

可分为主存储器(简称主存或内存)和 辅助存储器(简称辅存或外存)两大类。和CPU直接交换信息的是主存。

内存?

内存一般采用半导体存储单元,包括随机存储器(RAM)只读存储器(ROM)以及高速缓存(CACHE)

RAM (Random Access Memory)随机存取存储器 和 ROM(Read-Only Memory)只读存储器,都属于内存储器的范畴,但在实际应用和讨论中,大家更倾向于将RAM称为“内存”,而将ROM视为一种特殊的、用途更为固定的存储设备。

存储器基本组成:

在这里插入图片描述

在这里插入图片描述

存储单元 存放一串二进制代码
存储字 存储单元中二进制代码的组合
存储字长 存储单元中二进制代码的位数 (看到长度就想到要数这条代码有几个位数)

MAR 存储器地址寄存器,反映存储单元的个数(地址反映单元)
MDR 存储器数据寄存器反映存储字长(数据反映字长)

eg:
设 MAR = 4 位 ,MDR = 8 位
存储单元个数 16 (2^4),存储字长 8

控制器的基本组成

在这里插入图片描述

控制器的组成部分主要由PC(程序计数器)、IR(指令寄存器)、CU(控制单元)。

主机完成指令的过程

以取数指令为例

在这里插入图片描述

以存数指令为例

在这里插入图片描述

ax^2+bx+c程序的运行过程

在这里插入图片描述

机器字长

在这里插入图片描述

存储容量

在这里插入图片描述

小试牛刀(答案及解析在后面)

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

在这里插入图片描述1. B。程序的入口地址通常存放在程序计数器(Program Counter,PC)中。程序计数器是一个特殊的寄存器,用于存放下一条要执行的指令的地址。

  1. B。CPU包括控制器、运算器、寄存器,不包括存储器。

  2. B。计算机中负责指令译码的部分是控制单元(Control Unit)。控制单元负责从内存中获取程序指令,解析并确定其类型,然后协调其他部件完成指令的执行。

  3. ABD。控制器的组成部分主要由PC(程序计数器)、IR(指令寄存器)、CU(控制单元)。

  4. B。 32位微机是指该计算机所用CPU能同时处理32位二进制数。

  5. B。看到存储就看选项是否有存储,看到字长就想到位数(想看下有多长就数位数),存储字长指的是存放在一个存储单元中的二进制代码位数。存储字(少了个长字)是指存放在一个存储单元中的二进制代码组合。

  6. D。IR(Instruction Register)指令寄存器,存储当前正在执行的指令。

  7. A。MAR 存储器地址寄存器,反映存储单元的个数,那么它的位数就是表示这个存储单元(地址)的长度, MDR 存储器数据寄存器反映存储字长(数据反映字长)。

  8. C。在一个8位的计算机系统中,若以16位来表示地址,这意味着地址空间的大小由16位二进制数决定。一个16位的二进制数可以表示从0到216-1的整数,共有216个不同的值。因此,该计算机系统有2^16个地址空间,也就是65536个。

  9. B。字长=机器字长。

ALU(算术逻辑单元):其位数通常与机器的字长相同,因为ALU负责执行所有的算术和逻辑操作,这些操作的位数需要匹配机器处理数据的能力。

指令寄存器:通常包含了当前正在执行的指令,它的大小需要能够容纳足够的信息来表示任何指令,这并不一定与机器的字长相同,但在很多情况下,为了简化设计,其大小会与机器字长相匹配。

通用寄存器:在很多体系结构中,通用寄存器的大小与机器的字长相同,因为它们用于存储操作数和中间结果,这些操作数和结果的大小直接关联到了机器字长。

浮点寄存器:用于存储浮点数值,其大小并不一定与机器字长相同。浮点寄存器的大小通常是为了满足特定的浮点数标准,如IEEE 754,这可能与机器的字长无关。

由此可知,ALU和通用寄存器的位数一定与机器字长相同。

  1. D。应用软件是指用户为了完成特定的任务而使用的软件,它直接与用户的需求相关,例如文本编辑器、电子表格、图像处理软件等。文本处理:是典型的应用软件,用于创建和编辑文档。

  2. B。 程序运行时的存储位置指的是程序执行期间所使用的存储资源,这包括了程序的代码、数据和执行时产生的临时信息。内存:是程序运行时存放其代码和数据的主要位置,允许快速访问。

选项不好对应着看?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这篇关于第一讲 计算机组成与结构(初稿)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/783100

相关文章

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

结构体和联合体的区别及说明

《结构体和联合体的区别及说明》文章主要介绍了C语言中的结构体和联合体,结构体是一种自定义的复合数据类型,可以包含多个成员,每个成员可以是不同的数据类型,联合体是一种特殊的数据结构,可以在内存中共享同一... 目录结构体和联合体的区别1. 结构体(Struct)2. 联合体(Union)3. 联合体与结构体的

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

PostgreSQL如何查询表结构和索引信息

《PostgreSQL如何查询表结构和索引信息》文章介绍了在PostgreSQL中查询表结构和索引信息的几种方法,包括使用`d`元命令、系统数据字典查询以及使用可视化工具DBeaver... 目录前言使用\d元命令查看表字段信息和索引信息通过系统数据字典查询表结构通过系统数据字典查询索引信息查询所有的表名可

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

自定义类型:结构体(续)

目录 一. 结构体的内存对齐 1.1 为什么存在内存对齐? 1.2 修改默认对齐数 二. 结构体传参 三. 结构体实现位段 一. 结构体的内存对齐 在前面的文章里我们已经讲过一部分的内存对齐的知识,并举出了两个例子,我们再举出两个例子继续说明: struct S3{double a;int b;char c;};int mian(){printf("%zd\n",s

OpenCV结构分析与形状描述符(11)椭圆拟合函数fitEllipse()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C++11 算法描述 围绕一组2D点拟合一个椭圆。 该函数计算出一个椭圆,该椭圆在最小二乘意义上最好地拟合一组2D点。它返回一个内切椭圆的旋转矩形。使用了由[90]描述的第一个算法。开发者应该注意,由于数据点靠近包含的 Mat 元素的边界,返回的椭圆/旋转矩形数据

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

C语言程序设计(选择结构程序设计)

一、关系运算符和关系表达式 1.1关系运算符及其优先次序 ①<(小于) ②<=(小于或等于) ③>(大于) ④>=(大于或等于 ) ⑤==(等于) ⑥!=(不等于) 说明: 前4个优先级相同,后2个优先级相同,关系运算符的优先级低于算术运算符,关系运算符的优先级高于赋值运算符 1.2关系表达式 用关系运算符将两个表达式(可以是算术表达式或关系表达式,逻辑表达式,赋值表达式,字符