计算机组成原理

目录

layout: post title: “计算机组成原理” date: 2021-06-16 description: “计算机核心组成元件及工作原理简单介绍;操作系统简单工作原理”

tag: 计算机组成原理 操作系统

CPU

  1. PC —存放内存中指令位置,程序指令集

  2. Register—寄存器,存放内存中指令位置的数据,以及需要调用的数据

  3. RLU—计算单元,用来对寄存器中的数据进行计算,完成后再把寄存器中的数据写入内存

  4. cache—缓存,L1,L2,L3,内存调用速度相对较慢,所以需要更快的高速缓存,速度,L1>L2>L3

    L1更近寄存器,L2次之,L1、L2都位于kernel CPU内核中,一个核心一个L1和L2,L3是一个CPU只有一个

    计算机计算速度由时钟频率决定,主频是时钟频率,触发脉冲的频率

  5. 多线程,如4核8线程,一般一个内核只有一套PC、Register、RLU,一次只能运行一条指令,单线程

    但是RLU速度特别快,所以有些CPU内核中增加了一套PC和Register,用于多存放一组指令和数据,提高效率,即有一个RLU,但是有两套PC和Register,即双线程,可以缩短两次运算调用内存的时间。

    image-20210617104434612


操作系统

  1. 程序

    可执行文件,它的本质是一对的指令+一堆数据,通过CPU的控制器调用程序中的一条条指令,把指令和对应数据拿进CPU寄存器,通过运算器基因运算后,再返回内存。

    即不断的读取指令与数据;计算;写会

  2. 进程

    运行程序时,系统会启动一个和这个程序对应的进程;运行一次启动一个进程,一个程序可以有多个进程

    进程是程序跑起来,放到CPU和内存中开始执行一条条指令

    一个进程一个进程号,进程是分配资源的单位,启动一个进程的时候,会分配内存空间

  3. 线程 thread

    一个进程中可以有多个工作是并行进行的,比如显示页面,存盘,网络,这是每个工作是一个线程

    线程是执行单位,调度单位,启动线程不会分配任何内存空间,所有线程共享之前进程分配的内存空间,

  4. 纤程 Fiber

    在每一个线程中还可以有多个并行的任务,叫纤程corutine


## 计算机网络

### 互联网通信—TCP/IP协议

  1. 应用层—http协议、ftp协议、ssh协议等

    协议是指通信双方都要遵守的规则,比如通过shell的http协议连接baidu

    exec 9<> /dev/tcp/www.baidu.com/80     # 9文件描述符,即变量的应用`;<>表示输入和输出
    echo -e "GET / HTTP/1.0\n" 1>&9     # HTTP/1.0是协议;1是文件描述符
    cat 0<&9
    

    网络连接不会断开,但是服务器可以超时。

  2. 传输控制层—UDP、TCP

    image-20210617143655417

    TCP:面向连接的、可靠的传输协议

    通信是不同主机之间的程序之间的通信。

    三次握手:客户端先给服务器发送syn;服务器收到后发送syn+ack给客户端;客户端再给主机发送一个ack。确保每次的发送都有回复,确保可靠。

    四次分手:

    image-20210617150502506

    端口号port:最多只能有65535,进程的PID不是固定的,一个程序可以多开,拥有多个PID;所以需要有端口号相当于是程序的地址,用于通信

    ip:主机的地址

    socket: ip1+port1 ip2+port2

  3. 网络层—ip

  4. 链路层—ARP