当前位置: 首页 > news >正文

计算机组成原理(1:计算机系统组成)

一:计算机系统的组成

计算机系统由硬件系统软件系统共同构建起来

二:计算机硬件系统

1:早期的冯·诺依曼机

美籍匈牙利科学家冯·诺依曼提出“程序存储”根据这一原理制造的计算机被称为冯·诺依曼结构计算机。被称为“现代计算机之父”。

“程序存储”:指令以代码的形式事先输入到计算机的主存储器中,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。即按地址访问并顺序执行指令

计算机按照此原理应具有5大功能:数据传送、数据存储、数据处理、操作控制、操作判断

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

2:计算机硬件系统的五大部件

下面我们详细分解这五大部件。

1. 存储器 (Memory)
  • 功能:存放程序数据

  • 核心指标

    • 存储容量:能存储信息的总量,单位通常是字节(Byte)、KB、MB、GB、TB等。

    • 存取速度:完成一次读/写操作所需的时间。

  • 层次结构:为了解决容量、速度和成本之间的矛盾,现代计算机采用多级存储器体系。

    • 高速缓存 (Cache):速度最快,容量最小,成本最高。直接与CPU交换数据,用于缓解CPU和主存之间的速度差异。

    • 主存储器 (主存/Memory):常说的“内存”(如DRAM)。速度较快,容量中等,存放当前正在运行的程序和数据。CPU只能直接访问Cache和主存

    • 辅助存储器 (外存/Storage):如硬盘(HDD)、固态硬盘(SSD)。速度慢,容量巨大,成本低,用于长期保存数据。程序和数据必须调入主存才能被CPU执行。

  • 工作方式:按地址进行访问。每个存储单元都有一个唯一的地址,就像大楼的每个房间都有一个房号一样。

2. 运算器 (Arithmetic Logic Unit, ALU)
  • 功能:是计算机的“算盘”,负责进行所有的算术运算(加、减、乘、除等)和逻辑运算(与、或、非、异或等)。

  • 组成:由算术逻辑单元(ALU)累加器(ACC)寄存器组等组成。运算所需的数据来自内存,运算结果则写回内存或寄存器。

3. 控制器 (Control Unit, CU)
  • 功能:是计算机的“指挥中心”,负责协调并控制计算机各部件执行程序的指令序列。

  • 工作流程

    1. 取指令:从内存中取出指令。

    2. 分析指令:翻译指令,明确要完成什么操作。

    3. 执行指令:根据指令的含义,发出相应的操作命令(控制信号),指挥运算器、存储器等部件完成操作。

  • 核心寄存器

    • 程序计数器 (PC):存放下一条要执行指令的地址。(PC指向哪里,CPU就执行哪里)

    • 指令寄存器 (IR):存放当前正在执行的指令。

  • 与运算器的关系控制器和运算器合称为中央处理器(CPU)。CPU是计算机的“大脑”。

4. 输入设备 (Input Devices)
  • 功能:将外部的信息(数据、程序、命令)转换成计算机能识别和处理的形式,并送入计算机内部。

  • 例子:键盘、鼠标、扫描仪、麦克风、摄像头等。

5. 输出设备 (Output Devices)
  • 功能:将计算机处理的结果转换为人或其他设备所能识别的形式,并输出。

  • 例子:显示器、打印机、音响等。

输入设备和输出设备合称为I/O设备或外部设备。

3:工作流程(以执行一个程序为例)

让我们以计算 1 + 2 这个简单任务为例,看看硬件是如何协作的。

  1. 输入程序和数据

    • 通过输入设备(键盘)将计算程序 a = 1 + 2 和原始数据 12 输入计算机。

    • 这些程序和数据被存入主存储器

  2. 取指令与分析

    • 控制器中的程序计数器(PC) 指向程序的第一条指令的地址。

    • 控制器根据这个地址,从主存中取出第一条指令(例如,“将内存地址X的数取出来”),放入指令寄存器(IR)

    • 控制器分析这条指令,明白是要执行一个“取数”操作。

  3. 执行指令

    • 控制器发出控制信号,命令主存储器将地址X中的数据 1 读取出来,并送到运算器的某个寄存器(如ACC)中。

    • PC自动加1,指向下一条指令。

  4. 继续执行

    • PC取下一条指令(“将内存地址Y的数取出来,并与ACC中的数相加”)。

    • 控制器分析后,指挥主存取出数据 2,并命令运算器(ALU) 执行加法操作。ALU将 1 和 2 相加,得到结果 3,暂存在ACC中。

    • PC再指向下一条指令。

  5. 存储结果与输出

    • 最后一条指令可能是“将ACC中的结果存回内存地址Z”或“输出结果”。

    • 如果是存储,控制器指挥将结果 3 写回主存

    • 如果是输出,控制器指挥输出设备(如显示器)将结果 3 显示出来。

整个过程,本质上就是“取指-分析-执行”的循环,周而复始,直到程序结束。

4:总线 (Bus)

上述所有部件并非独立存在,它们需要通过通道相互连接。这个公共通道就是总线

  • 功能:是计算机各部件之间传输信息的公共通信干线。

  • 分类(按传输信息类型):

    1. 数据总线 (Data Bus):在部件间双向传输数据。它的宽度(位数,如64位)决定了CPU一次能处理数据的位数,是计算机字长的重要指标。

    2. 地址总线 (Address Bus):由CPU单向发出,用于指定所要访问的存储单元或I/O端口的地址。它的宽度决定了CPU的寻址能力(例如,32位地址总线可寻址 2^32 = 4GB 的内存空间)。

    3. 控制总线 (Control Bus):传输控制信号,如读/写信号、中断请求、时钟信号等。有的是CPU发出,有的是向CPU输入。

总线结构极大地简化了计算机的系统设计,使得各部件只需关注与总线的接口即可。

三:计算机软件系统

1:计算机软件的分类

计算机软件,一般分为系统软件应用软件

系统软件包括 操作系统,数据库管理系统,语言处理系统(比如编译器),分布式软件系统,网络软件系统,标准库系统,服务性系统(比如连接程序)。

应用软件包括各种科学计算类程序,工程设计类程序,数据统计与处理程序。

注意:数据库管理系统和数据库系统是有区别的。数据库管理系统是系统软件。而数据库系统一般是由数据库,数据库管理系统,数据库管理员和应用系统构成。所以只能说它里面有系统软件,但并不能说它为系统软件。

2:三个级别的语言

机器语言。又称二进制代码语言,需要编程人员记忆每条指令的二进制编码。机器语言是计算机唯一可以直接识别和执行的语言。
汇编语言。汇编语言用英文单词或其缩写代替二进制的指令代码,更容易为人们记忆和理解。使用汇编语言编辑的程序,必须经过一个称为汇编程序的系统软件的翻译,将其转换为计算机的机器语言后,才能在计算机的硬件系统上执行。
高级语言。高级语言(如C、C++、Java等)是为方便程序设计人员写出解决问题的处理方案和解题过程的程序。通常高级语言需要经过编译程序编译成汇编语言程序,然后经过汇编操作得到机器语言程序,或直接由高级语言程序翻译成机器语言程序。


高级汇编叫做编译,由汇编到机器叫做汇编,边翻译边执行的叫做解析

四:计算机性能指标

http://www.dtcms.com/a/365749.html

相关文章:

  • 系统编程day2-系统调用
  • day4
  • 「数据获取」《吉林企业统计年鉴(2004)》(获取方式看绑定的资源)
  • 基于jmeter+perfmon的稳定性测试记录
  • logging:报告状态、错误和信息消息
  • Linux的墙上时钟和单调时钟的区别
  • 检查系统需求
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘isort’问题
  • Linux编程——网络编程(tcp)
  • 演员-评论员算法有何优点?
  • JavaScript原型与原型链:对象的家族传承系统
  • 3-7〔OSCP ◈ 研记〕❘ WEB应用攻击▸REST API概述
  • 漫谈《数字图像处理》之图像清晰化处理
  • 更新远程分支 git fetch
  • 计算机三级网络应用题大题技巧及练习题
  • 【微实验】使用MATLAB制作一张赛博古琴?
  • 最左匹配原则:复合索引 (a,b,c) 在 a=? AND b>? AND c=? 查询下的使用分析
  • 波浪模型SWAN学习(2)——波浪浅化模拟(Shoaling on sloping beach)
  • 14.错误和异常(二)
  • PastePal for Mac 剪贴板历史记录管理器
  • 学习嵌入式第四十五天
  • 设计原则与设计模式
  • flume拓扑结构详解:从简单串联到复杂聚合的完整指南
  • 蓝牙modem端frequency offset compensation算法描述
  • 技术重构人力管理 —— 打造人力资源流程自动化、智能化专业服务方案
  • 小企业环境-火山方舟和扣子
  • 字节跳动后端 一面凉经
  • 数据库与大数据技术栈
  • ElasticSearch倒排索引原理
  • redis中五大数据类型的操作命令