关于机组的部分知识点随笔

本文介绍了计算机体系结构、组成原理和实现,包括CPU、内存和I/O设备的角色。讨论了程序的构成、指令执行过程以及计算机的工作步骤。重点讲解了ALU在运算和逻辑操作中的作用,还概述了CPU的基本工作流程,包括取码、解码和执行阶段。同时,提到了中断模式如何影响执行流,以及在操作系统和I/O处理中的应用。
摘要由CSDN通过智能技术生成

先写点概念

计算机体系结构(Computer Architecture)主要研究硬件和软件功能的划分,确定硬件和软件的界面,哪部分功能由硬件系统来完成,哪部分功能由软件系统来完成。

计算机组成原理(Computer Organization)是依据计算机体系结构,在确定且分配了硬件子系统的概念结构和功能特性的基础上,设计计算机各部件的具体组成,以及它们之间的连接关系,实现机器指令级的各种功能和特性,这点上说计算机组成原理是计算机体系结构的逻辑实现。

计算机实现(Computer Implementation)是计算机组成的物理实现,包括中央处理器、主存储器、输入输出接口和设备的物理结构,所选用的半导体器件的集成度和速度,器件、模块、插件、底板的划分,电源、冷却、装配等技术,生产工艺和系统调试等各种问题。总之,就是将完成逻辑设计的计算机组成方案转换成真实的计算机,也就是将满足设计、运行、价格等各项要求的计算机系统真正地制作并调试出来。
 

首先先说说程序是什么。

程序=指令+数据
程序=算法(有特定意义地指令)+数据结构(有组织的数据)

我们把需要计算机做的事情写好,但是计算机看不懂,这时通过编译器,让我们“语言互通”,并且编译器还会自动进行优化,方便我们成功理解对方的意思。

只有指令是运行过程中CPU真正执行的。

各个阶段的主要负责人员

开发阶段->编译阶段–>链接阶段(构建阶段)->运行阶段

程序员         编译器         链接器                    CPU

计算机系统层次结构

1. 计算机硬件的基本组成

计算机硬件主要指计算机的实体部分,通常有 运算器,控制器,存储器,输入设备和输出设备五部分.

运算器和控制器在后来被合并为处理器    所以可以简写为 CPU+内存+I/O   

CPU是指将运算器和控制器集成到一个电路芯片中.   数据的交换是通过总线(BUS)

2. 计算机软件的分类

计算机软件按照面向对象的不同可分两类:

系统软件:用于管理整个计算机系统,合理分配系统资源,确保计算机正常高效地运行,这类软件面向系统.(包括:标准程序库,语言处理程序,OS,服务程序,数据库管理系统,网络软件)

应用软件:是面向用户根据用户的特殊要求编制的应用程序,这类软件通常实现用户的某类要求.

计算机的工作过程

(1)计算机的工作过程就是执行指令的过程

  指令由操作码和地址码(操作数)组成:

操作码指明本指令完成的操作

地址码指明本指令的操作对象

(2)指令的存储     指令按照存储器的地址顺序连续的存放在存储器中.

(3)指令的读取    为了纪录程序的执行过程,需要一个记录读取指令地址的寄存器,称为指令地址寄存器,或者程序计数器.指令的读取就可以根据程序计数器所指出的指令地址来决定读取的指令,由于指令通常按照地址增加的顺序存放,故此,每次读取一条指令之后,程序计数器加一就为读取下一条指令做好准备.

(4)执行指令的过程   在控制器的控制下,完成以下三个阶段任务:

1)取指令阶段      按照程序计数器取出指令,程序计数器加一

2)指令译码阶段    分析操作码,决定操作内容,并准备操作数

3)指令执行阶段    执行操作码所指定内容

关于指令还有很多内容,就不展开了,比如寻址方式,指令执行过程等等。

数据的存储:大体分为两类,数和非数的数据,在存储时,会把非数的数据转换为数类型的数据via编码表,即所有非数的数据都有自己的一个数的形态。

这里讲一下ALU :是运算器中的主要组成部分,又称多功能函数发生器,主要用于完成各种算术运算和逻辑运算.

ALU (Arithmetic & Logic Unit)算术逻辑单元
算术:加法、减法、乘法、除法、取余
逻辑:与、或、非

如果说CPU是计算机的核心,那么ALU就是CPU的核心   

所有程序的执行,本质上都是 计算+读取+录入    读取: memory -> register

                                                                                存入: register -> memory

CPU基本工作流程:

具体流程可以分为  取码  解码  执行 并循环进行

1.取码阶段
CU根据PC寄存器的值,去内存的响应位置,把数据(指令)读取到IR寄存器中正常情况下,PC寄存器中的值自动+1

说简单点就是根据PC值去把指令寄存到IR(指令寄存器),然后PC+1

PC自动+1可以使我们的代码变成的指令顺序的向下执行。

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

也就是指令寄存器中的指令经过译码,觉得应进行那种操作,操作数在哪里

3.执行阶段
指令应该由CU执行,所以按照规定执行指令。

执行指令分为两步:取操作数和进行运算。

取操作数:CPU通过寻址操作从内存中读取操作数到寄存器中,暂时保存起来

进行运算:运算单元通过指令中的操作码,对寄存器中的数进行操作

我们在程序中的分支语句,本质上就是提供了修改PC值的指令,进而影响了执行流

CPU的中断模式(Interrupt Mode)


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

中断经常用作:

1.lO设备的处理
当有外部数据到达Input设备时,触发某个中断
让当前正在执行的执行流暂停,切换到Input驱动对应的执行流把Input设备中读取到的数据,放到内存的某个位置
恢复之前的执行流
2.操作系统中用来作进程调度(线程调度)

最后贴一下板书的观点总结。

 

好了,既然是随笔,就把最近用到的想到的记下来方便复习,关于Cache,总线,I/O之类的等需要用时复习我再写一篇吧。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值