计算机原理概述

article/2025/9/24 6:03:24

目录

计算机的发展史(稍作了解即可)

从硬件方面来了解计算机

程序的存储

广义数据在内存的存储问题

CPU的基本工作原理


让我们来从以下两个方面来了解计算机:

1.从硬件角度学习计算机的基本原理————CPU的基本工作原理

2.从操作系统软件角度,学习程序是如何工作起来的的————进程管理

计算机的发展史(稍作了解即可)

第一阶段:一个国家组织共同使用一台计算机

第二阶段:一个商业组织共同使用一台或多台计算机

第三阶段:PC(Personal Computer)以家庭为单位开始使用计算机了

第四阶段:以个人为单位开始使用计算机(手机)

未来:        一个会有很多台计算机

从硬件方面来了解计算机

冯诺依曼体系:指令只是一种特殊的数据

处理器(cpu)= 运算器 + 控制器

存储器(Memory) = 内存

外部数据(物理数据)进入到存储器主要通过输入设备(Input Device)

存储器内的数据传输到外部世界主要是通过输出设备(Output Device)

运算器 + 控制器 + 存储器 + 输入设备 + 输出设备

硬件体系下 CPU + 内存 + I/O 内部的数据交换通过 总线(BUS)

程序的存储

我们都知道 程序 = 指令 + 数据 那么指令和数据又是怎样在内存中进行存储的呢?

1.程序中的指令是一组预规定的动作,主要表现为一种特殊的数据需要我们存储在内存中,但是我     们的计算机只能存储操作码(Opcode)也就是以二进制的形式存数,所以我们要给CPU支持的所有动作都编码一个唯一的 数     字,然后利用编码的规定就可以成功的将指令存入我们的计算机了。

2.数据只需要转为二进制再存入内存即可

广义数据在内存的存储问题

我们的数据主要分为数和非数的数据

我们先来了解一下非数数据是怎样存储的,非数数据包括字符串,声音,图片……我们要在计算机中进行"非数数据"的存储就需要把"非数数据"通过编码表转换成数据类型的数据

举个栗子:

字符串 ===> 字符     通过Unicode 编码

                                  'A'     003

                                  '我'    1003098

图片                           通过RGB编码 

                                  红绿蓝    0~255/0~255/0~255    

我们再来了解一下数类型的数据在内存中的表示方法,数类型主要就是整数和小数

有限范围内整数的表示:正码,反码,补码  ===> 整型数

有限范围内的小数表示:IE标准 ===> 浮点数

接下来我们局限在整型中,但表示的数据可能是 整数,指令,字符,图片,声音……

CPU的基本工作原理

计算机的主要组成

1.cpu——又称为逻辑算数运算器可以处理(与,或,非,加,减,乘,除,取余)

2.控制器

3.寄存器——临时存储数据的存储单元(每个都只能保存一个整型数)现代的高级CPU为了提升性能,一般都带有缓存(CPU内缓存)

CPU的基本组成

首先我们来组建一下 与门(and gate),或门(or gate),非门(not gate),异或门(xor gate)

那计算机中的核心部件算数逻辑单元(ALU)是如何工作的呢?

算数逻辑单元主要处理两大方面的运算

算数方面: 加法,减法,乘法,除法,取余

逻辑方面: 与,或,非。

半加器

全加器

有全加器和半加器我们就可以组建一个八位数的加法器

 

 ALU运算器的内部结构

三个输入:

A:要参与计算的第一个数

B:要参与计算的第二个数

C:本次的运算是什么opcode

输出:

正常输出以及三个标志位(溢出,为0,负数)

CPU是计算机的核心  ===>  ALU是CPU的核心

所有程序的执行,本质上都是计算 + 读取 + 存入

    读取:memory -> register

    存入:register -> memory

所以我们的程序也就可以抽象为:opcode + a1 + b1

    a,b都是需要寄存器来临时保存数据的,计算结果也是需要寄存器来保存的

    要计算的opcode是控制单元CU告诉ALU的

CPU的执行过程

我们的程序是怎样运行的呢?其实只要有个起始位置填充到PC里,执行流就可以正常的运行起来了,而这个就是我们平时的main方法,我们程序的启动需要有“人”把我们的程序翻译出来的指令的第一条地址放到PC中,我们的程序就可以正常的跑起来了。至于为什么我们的程序中有函数(方法)等概念,并不是计算机硬件要用到这些概念,这些概念是为了方便程序员而诞生的。

1.取码阶段

  CU根据PC寄存器的值,去内存的相应位置,把数据(指令)读取到IR寄存器中,正常情况下,    PC寄存器中的值自动加1(PC寄存器中的值在这个指令周期中很关键,可以控制执行哪一条指     令,由于硬件中PC在自动 + 1,所以代码变成指令才能顺序的往下去执行,且代码中的一条语       句,很可能是需要多条指令才能完成)

2.解码阶段

  CU按照预先设定的指令集解读指令数据(opcode + 操作数)

    例如:0010 1110

                人为规定:0010是opcode

                查询指令表,知道0010代表的意思:从后边地址指定内存出,将数据读取到A寄存器

                地址:0b1110 -> 14

3.执行阶段

  LOAD指令应该由CU执行,所以按照规定执行指令

  从内存的14地址处,将数据读取到A寄存器中

CPU的运算快慢,就是看CPU执行指令周期的频率。

CPU主频可以粗略的看作:每秒钟CPU能执行多少个指令周期。

CPU中往往会提供一些指令,这些指令可以去修改PC的值,进而影响执行流,也就是我们的分支语句:if,else,while,for,break,continue

CPU的中断模式(Interrupt Mode)

正常模式下,CPU可以顺序执行,可以分支执行。但总归只能按照既定顺序去执行。但现实中,很多时候,需要暂时中断CPU的当前执行流,先让CPU去做点其他工作,再回过头来继续原来的执行流。

CPU硬件中提供了一种机制(中断)让CPU停下,主要有以下四个步骤

    1.保存当前的PC的值到内存的某个位置

    2.修改PC的值,让执行其他的执行流

    3.其他执行流执行结束之后,通过将刚才保存的PC值恢复到PC寄存器

    4.继续原来的执行流

中断经常用作:

    1.IO设备的处理

    当有外部数据到达Input设备时,触发某个中断让当前正在执行的执行流暂停,切换到Input驱动      对应的执行流,把Input设备中读取到的数据,放到内存的某个位置,然后再恢复之前的执行流

    2.操作系统中用来作进程调度(线程调度)

以上就是CPU的主要工作模式

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    


http://chatgpt.dhexx.cn/article/jGYDK13O.shtml

相关文章

《计算机组原理》存储器(一)

4.1概述4.1.1存储器的分类4.1.2 存储器的层次结构 4.2主存储器4.2.2半导体存储芯片简介4.2.3 随机存取存储器4.2.4只读存储器4.2.5存储器与CPU的连接4.2.6 存储器的校验4.2.7提高访存速度的措施 4.1概述 4.1.1存储器的分类 4.1.2 存储器的层次结构 一般来说,高速越…

计算机原理(硬件角度—CPU)

​ 一、概述 1、关于计算机原理: (1)从硬件角度学习计算机的基本工作原理——CPU的基本工作原理。 (2)从操作系统软件角度,学习我们的程序是如何工作起来的——进程管理。 2、程序指令数据 程序算法&…

计算机组成原理——数据的表示与运用

数值与编码 进位记数制及其相互转换十进制、二进制、八进制、十六进制真值、机器数(原码、反码、补码)字符与字符串的编码(小端和大端方式存储 )数据校验奇偶校验、CRC冗余校验、海明校验 定点数的表示和运算 无符号数的表示&…

【计算机组成原理】04-计算机的计算单位

一、容量单位 字节:1Byte8bits ◆ 理论上只认识0/1两种状态 ◆ 在物理层面,高低电平记录信息 ◆ 0/1能够表示的内容太少了,需要更大的容量表示方法 1G内存,可以存储多少字节的数据?可以存储多少比特数据?…

计算机组成原理_虚拟存储器

计算机组成原理总目录 虚拟存储器 虚拟存储器主要解决的是用于解决存储数据的容量问题 例如在电脑的辅存磁盘中存放了几百GB甚至几TB的数据,包括几十个上百个程序 但我们在实际运行时,并不需要使用到所有的数据,而只需要用到其中一个或者两个…

计算机原理-数据

数据 二进制 十进制(人类use) 十六进制 (2,4,16 是权) 1011.0112^30*2^22^12^00*2^-11*2^-21*2^-3802100.250.125 27.375 七进制转十进制(权不一样) 604.01 6*7^20*7^14*7^00*7…

(一)计算机组成原理之计算机系统导论(冯诺依曼计算机以及cpu,机器字长,MAR,存储单元,MDR,存储字长等)

❤️ 知识点 1.冯诺依曼计算机的构成:运算器,控制器,存储器,输入设备和输出设备 2.计算机的硬件组成:.原始的冯诺依曼在结构上是以运算器为中心,而发展到现在,以转向以存储器为中心。&#xff…

计算机组成原理:如何衡量计算机的性能

在计算机组成原理乃至体系结构中,“性能”都是最重要的一个主题。学习和研究计算机组成原理,就是在理解计算机是怎么运作的,以及为什么要这么运作。“为什么”所要究竟的事情,很多时候就是提升“性能” 什么是性能?时…

计算机组成原理 --- 计算机性能指标

一.存储器的性能指标 1.MAR是地址寄存器,MDR是数据寄存器 2.MAR的位数能够体现最多存多少个地址,而每个地址就代表一个存储单元,所以MAR的位数能表示存储器中有多少个存储单元 3.MDR是数据寄存器,它的容纳极限 每个存储单元的…

通用计算机器

还是下面这句话: 将固定的资源在所有使用者中分配,而不是为每一个使用者分配固定额度的资源。 还是那个简单的倒换,通用计算机就设计出来了。 人们就意识到内存和CPU之间的总线成了瓶颈,于是人们拼命缩短这条总线的长度&#xff…

量子计算机是什么?量子计算机和传统计算机之间有什么区别?

1.突破1000量子比特大关! 2022年11月9日的IBM年度量子峰会上,IBM宣布了Osprey在量子硬件和软件方面取得的突破性进展,同时推出了“鱼鹰”(Osprey)芯片。“鱼鹰”是全球迄今为止量子比特最多的量子计算机,而…

计算机中的单位换算

1 基本单位 信息存储量是度量存储器存放程序和数据的数量。 位(Bit):计算机当中最小的信息单位 存放一个二进制位数,即 0 或 1字节(Byte):计算机中的基本信息单位 常用的单位字(Wo…

计算机原理(一)

计算机基本原理 现代计算机,大部分都是基于冯诺依曼体系结构,而我们这里谈论的也是此问前提。冯诺依曼的核心是:存储程序,顺序执行。所以不管计算机如何发展,基本原理是相同的。计算机程序实际上是告诉计算机做…

计算机组成原理——算术逻辑单元(ALU)

逻辑门器件(与或非) 与门 两个数相与,当两个都为1,结果才为1,一旦有一个0结果就是0 或门 两个数相与,当有一个数等于1,结果就为1,当两个数都为0时结果才为0 非门 一个数取反 …

计算机模型

计算机模型 1、图灵模型 图灵机:一种可以计算任何数据的特殊机器;一台优秀的计算机必须具备和图灵机一样的运算 首先将计算机定义成一个 数据处理器,数据处理器对输入的数据进行处理,后再将处理后的数据输出。 此模型弊端&…

计算机的计算单位

容量单位 在物理层面,高低电平记录信息理论上只认识0/1两种状态0/1能够表示的内容太少了,需要更大的容量表示方法0/1称为bit(比特位)字节:1Byte 8bits 硬盘商一般使用10进位标记容量,500G一般格式化后只…

计算机的核心:ALU(算术和逻辑单元)

本节我们将揭秘计算机的核心部件:算术和逻辑单元。了解计算机里基础的加法,左移,右移,非,与,或,异或,比较操作是如何被选择和处理的。 算术和逻辑单元 目前,我们已经见到…

计算机组成.计算机在计算啥.运算与ALU

一身冷汗原本打算在iPad上写下一篇“处理器”。上一次用iPad写的这篇在打开浏览器后还保存着,我就直接删掉重写了。结果把原本的我的这篇给覆盖了……幸亏我有备份……不过格式还是得再MarkDown上重新调整……心好累 突然发现在iPad的网页上也可以写博客哎&#xff…

云平台常见风险

0x00 前言 云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务…

OneNET云平台设备数据管理工具

联系电话:15712339322 1 产品介绍 终端设备上报数据到OneNET云平台,除了云平台可以提供的可视化web页面外,还可以通过定制数据管理工具的方式对云数据进行展示。在该版本中提供对最细粒度的数据样本展示。基于最细粒度的基础上,…