计算机组成原理(三)
二进制本身没有任何含义,只是0和1,假如有人问你有一个8位的二进制数10010110,它相当于十进制的多少?
你肯定要先反问他是有符号的还是无符号的,因为它可能是-74或者182
RAM内存和ROM内存 只是从功能上对内存的分类
RAM: 允许CPU读取和写入数据 断电后内存中的指令和数据都丢失了
ROM:允许CPU读取数据不允许写入 断电后指令和数据还存在
有ROM:主板上,显卡上,网卡上
冯诺依曼体系结构

硬盘(外存储器,比如U盘和光盘都是这个): 允许CPU读取和写入数据 断电后指令和数据不会消失
0和1 表示成了磁极
输入设备和输出设备:
鼠标 键盘 麦克风
显示器 音响
端口地址 CPU通过端口来获取数据的
端口英语叫port 装卸数据 端口中也有存储数据的地方
芯片 cpu也是一块芯片,都有存储数据的地方 鼠标和键盘都有芯片存储数据
键盘按下A 首先是存储到键盘的内存然后通过连到主板的线发送给端口,然后CPU通过主板上的三根线来读写控制数据
计算机系统漫游:
1.信息 = 位+上下文 基本思想:系统中所有的信息-磁盘文件、内存中的程序/数据以及网络上传送的数据、图片、声音、动画都是以一段二进制bit表示的,那怎么区别这些数据对象呢?通过读取数据对象的上下文
1.2hello.c程序执行过程
#include <stdio.h>
int main(){
printf("给乃子烧点纸!!!");
return 0;
}
每条C语句都必须被其他程序转化为一系列的“低级”机器语言指令,然后这些指令按照一种称为可执行目标程序的格式打好包,以二进制磁盘文件的形式存放起来。目标程序也就是可执行目标文件(Windows的exe)
gcc -o hello hello.c 翻译过程的四个阶段
hello.c ->预处理器->hello.i->编译器->hello.s->汇编器->hello.o->链接器->可执行文件
在linux上执行该可执行文件:打开shell
Linux> ./hello
给乃子烧点纸!!!
linux>
系统硬件组成:
1.总线,通常总线被设计成传送指定长度的字节块(4个字节或者8个字节,32位或64位)
2.I/O设备 系统与外部世界的联系通道
3.主存 逻辑上是一个线性数组,每个字节都有其唯一的地址(数组索引),地址从0开始
4.处理器 核心是寄存器,在任何时候,都有一个指令寄存器(ip),也叫做程序计数器,指向主存的某条机器语言指令,从系统通电开始直到断电一直执行
加载:从主存复制一个字节/字到寄存器,覆盖了之前的内容
存储:从寄存器复制一个字节/字到主存的某个位置。覆盖之前的内容
操作/计算: 把2个寄存器的内容复制到ALU(算术/逻辑单元)进行计算,将结果存放到一个寄存器里面
跳转:把指令寄存器的值覆盖要跳转的内存地址

浙公网安备 33010602011771号