计算机原理

本文详细介绍了CPU的结构和工作原理,包括寄存器、程序计数器和标志寄存器的作用,以及如何执行指令。同时,阐述了内存的类型如RAM、ROM和Cache,以及它们在数据存储和访问中的角色。讨论了冯诺依曼体系结构,强调了取指令、解码和执行的步骤。此外,还涵盖了操作系统的基本概念,如Windows的特点,以及多任务处理的实现。最后,提及了栈和队列的数据结构,并概述了文件存储和程序执行的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机原理

CPU

CPU:每秒能处理的指令数。

CPU是寄存器集合体:累加、标志、程序、基址、变址、通用、指令、栈寄存器。

程序计数器:用于存储下一条指令所在的单元。(控制着程序的流程)

标志寄存器:第一字节位正数为1,第二字节0为1,第三字节负为1。

实际地址 = 基址地址 + 变址寄存器的值

CPU由:控制单元和算数逻辑单元组成。

控制单元:从内存中提取指令并解码执行。

算数逻辑单元(ALU):处理算数和逻辑运算。

功能上划分:CPU从功能上内部划分为:寄存器、控制器、运算器和时钟。

寄存器:用来暂存指令、数据和地址。一个CPU内部会有20-100个寄存器。

控制器:把内存上的指令、数据读入寄存器,根据指令结果控制计算器。

运算器:运算从内存中读入寄存器的数据。

时钟:发出CPU开始计时的时钟信号。

解析步骤
  1. 提取指令
  2. 解码
  3. 执行

RAM

RAM是与CPU直接交换数据的内部存储器。

int	a;
a = 1+2;
  1. 将代码编译成二进制文件
  2. 运行时生成副本
  3. CPU解释执行内容

内存

内存是与CPU进行沟通的桥梁,通过控制芯片与CPU相连。所有程序都在内存中运行,存放CPU中的运算数据,以及设备交换数据。内存通过电流存储。

内存的物理结果:
  • 随机存储器(RAM):读写数据,关机时数据会消失。
  • 只读存储器(ROM):读取数据,停电数据不会消失。
  • 高速缓存(Cache):CPU向内存写入数据时,也会被写入高速缓存中,读取时先从高速缓存中读取。
节约内存

通过DLL文件实现函数共有,DLL文件是一种动态链接的函数库文件。

程序再运行时可以动态夹在library。例(应用A和应用B都用到MyFun()这个函数,所以将这个函数设为DLL文件)

磁盘

磁盘通过磁记录技术实现存储。磁盘中的存储程序必须夹在到内存中才能运行,磁盘缓存大大降低访速度。

磁盘的物理结构指磁盘存储数据的形式分为:可变长方式和扇区方式,前者将物理结构划分成长度可变的空间,后者将磁盘结构划分为固定长度的空间。512字节(1簇= 1扇区),1KB(1簇 = 2 扇区)。

冯诺依曼

冯诺依曼计算机CPU分为:
  • 取指令:将内存中的指令读取到CPU寄存器的过程,程序寄存器用于存储下一条指令所在地址。
  • 指令编译:取指令完成后,进入指令编译阶段,按顺序执行预定的指令格式,机械能拆分和解耦。
  • 执行指令:完成指令所规定的各种操作,具体实现指令功能。
  • 访存数据:根据地址码,得到操作数在主存中的地址,并从内存中读取该操作数用于计算。
  • 结果写回:数据写到CPU的内部寄存器中,以便被后续的指令快速的存取。

栈和队列

栈(Stack)

stack:采用后入先出的方式对内存进行操作,push放入,pop取出。

队列(queue)

queue:采用先入先出,EnQueue入列,DeQueue出列。

计算机

计算机内部是由IC电子元件组成,其中CPU和内存也是电子元件中的一种。

IC原件所以的引脚只有:0V和5V电压,所以只能用0和1(也就是二进制)进行表示。

二进制

二进制的位数一般为8的倍数,8位能涵盖所有的字符编码。

字节是最近本的单位,位是最小的单元。

数字小于存储数据的字节数,高位用0补充,(左侧高位,右侧地位)。

向左位移 << 相当于数值扩大(2的倍数),向右位移,相当于数值缩小。

二进制获取负数:将二进制的各数位数值取反,再结果+1即可。

文件存储

文件存储:将数据存储再磁盘等存储媒介的一种形式(存储单位为字节)。

文件就是字节数据的集合。

操作系统

监控系统是操作系统的原型。

三大操作系统:windows、Linux和unix操作系统,计算机硬件和应用之间的一层软件。

Windows

windows操作系统:就是无数个DLL文件的集合体。通过调用 stdcall减少程序大小,stdcall文件是标准调用缩写,Windows提供的DLL文件都是通过stdcall调用方式来实现的。

C语言和JAVA最大的区别在于,需要手动释放内存空间。

windows操作系统特征:
  1. 通过API函数继承来提供系统调用。
  2. 采用图形化界面。
  3. 提供多任务功能。
  4. 提供网络功能和数据库功能。
  5. 提供即插即用设备驱动的自设定。
运行环境

运行环境=操作i系统+硬件。

显卡:承担图形的输出任务,也称为图形处理器GPU。

内存:指应用程序再运行时能够动态分析指令的这部分存储空间。

存储空间:安装应用程序所占用的空间大小。

机器语言的程序成为本地代码(native code),文本文件再任何环境下都能显示和编辑。这种我们称之为源码,通过对源码进行编译,就可以得到本地代码。

computer -》 C语言源代码 -》 本机代码 -》 CPU解释运行

应用程序向系统传递指令的途径称为API。

FTP(file transfer protocol)是连接到互联网上的计算机之间的传送文件的协议。

JAVA代码预先的环境称为JAVA JVM,JVM将JAVA字节码转换为本地代码运行着。

JAVA、C语言和汇编语言的关系,一对多。

汇编语言:直接面向处理器(processor)的程序语言,操作的对象是寄存器或存储器,而不是数据,面向机器是最底层的计算机语言。

多任务

多任务指的就是同时能够运行多个应用程序的功能,通过时钟分割实现多任务功能。

时钟分割:短时间内间隔,多个程序切换运行的方式,底层是CPU时间切片。

网络功能和数据库功能被统称为中间件而不是应用。

操作系统和中间件组合在一起称为系统软件。

源代码转换成本地代码的过程称为汇编。负责这项工作的程序称为编译器。

segmentends围起来的部分称为伪指令。段定义(segment)用于区分范围区域的意思。汇编语言的语法:操作码+操作数。

程序放到存储器中,指针指向该地址,然后取指令、解释、执行。

局部变量临时保存在寄存器和栈中。

多线程问题:相同于两者都是读取了最开始的值,前者还未写入就被读取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值