计算机组成原理(三)

二进制本身没有任何含义,只是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(算术/逻辑单元)进行计算,将结果存放到一个寄存器里面

跳转:把指令寄存器的值覆盖要跳转的内存地址

posted @ 2023-08-14 14:53  解放者-cracer  阅读(46)  评论(0)    收藏  举报