计算机组成原理——基础入门总结(二)

2023-09-21 16:10:06

上一期的路径:基础入门总结(一)


目录

一.输入输出系统和IO控制方式

二.存储系统的基本概念

三.cache的基本概念和原理

四.CPU的功能和基本结构

五.总线概述


一.输入输出系统和IO控制方式

IO设备又可以被统一称为外部设备~ 

IO接口:由被称为IO控制器、设备控制器:负责协调主机与外部设备之间的数据传输。

IO控制器具有统一的设计标准。(IO控制器本质上就是一块芯片,常常被集成在主板上~)

 两种控制键盘I/O完成的方式:

(1)程序查询方式:CPU不断轮询检查I/O控制器中的“状态寄存器”,检测到状态为“已完成”之后,再从数据寄存器中取出输入数据。——会产生忙等等缺点

(2)程序中断方式:等待键盘I/O时CPU可以先去执行其他程序,当键盘IO完成后IO控制器向CPU发送中断请求,CPU响应中断请求,并取走输入数据。

对于第二种程序中断方式来说,对于高速IO则会导致频繁发生中断的情况,从而导致CPU利用率降低~DMA控制方式可以一定程度上解决这种麻烦。(DMA接口本质也是IO接口)

扩展一个OS中可能会涉及的概念:通道

通道本质上也是一种处理器,可以识别并执行一些列通道指令,只不过功能远不如CPU,同样也可以用来管理IO接口。

如上是IO系统的组成部分。

二.存储系统的基本概念

主存即为内存,而辅存即为外存~(只不过手机通常只有辅存找一个概念)

下图是计算机的存储结构:

为了解决CPU读写速度极快而外存往往很慢的问题,诞生了内存、高速缓存等一些列中间介质。当一个程序想要运行时,需要先调入主存

Cache的意义是进一步提升与CPU的兼容速度,内部存放一些频繁使用的程序等~

此外,要注意最接近CPU的一层被称为寄存器:CPU进行操作时先将各种数据存放到寄存器之中。

需要注意的是:主存与辅存之间的数据交换,需要依靠OS和硬件共同完成,例如页面置换算等;而主存与cache之间的交换,则仅仅靠硬件就能实现~

联想之前提到的,GTA无法全部放入内存的引例~

三.cache的基本概念和原理

注意:Cache集成在CPU内部~ 

四.CPU的功能和基本结构

中央处理器(Central Processing Unit,简称CPU)作为计算机系统运算控制核心,是信息处理程序运行的最终执行单元。CPU自产生以来,在逻辑结构运行效率以及功能外延上取得了巨大发展。

CPU的主要功能如下:

其中运算器和控制器的构造分别如下:

五.总线概述

总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束, 按照计算机所传输的信息种类,计算机的总线可以划分为数据总线地址总线控制总线,分别用来传输数据、数据地址和控制信号。总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。在计算机系统中,各个部件之间传送信息的公共通路叫总线,微型计算机是以总线结构来连接各个功能部件的。

每个总线内部可能包含多个信号线~


本系列暂更两期,之后对OS中的知识如果理解不够透彻,还会进一步更新新的内容~

更多推荐

数据结构与算法:排序算法(2)

目录堆排序使用步骤代码实现计数排序适用范围过程代码实现排序优化桶排序工作原理代码实现堆排序二叉堆的特性:1.最大堆的堆顶是整个堆中的最大元素2.最小堆的堆顶是整个堆中的最小元素以最大堆为例,如果删除一个最大堆的堆顶(并不是完全删除,而是跟末尾的节点交换位置),经过自我调整,第2大的元素就会被交换上来,成为最大堆的新堆顶

Ae 效果:CC Wide Time

时间/CCWideTimeTime/CCWideTimeCCWideTime(CC宽泛时间)能够将前后不同时间的帧叠加在一起,从而创建移动物体的运动轨迹,实现重影、运动模糊、光影跟随等效果。可以配合其它的效果使得本效果有更多的可控性。比如,“CCComposite”效果可使得原始内容清晰可见。“色调”Tint效果可改变

Kotlin Android中错误及异常处理最佳实践

KotlinAndroid中错误及异常处理最佳实践Kotlin在Android开发中的错误处理机制以及其优势Kotlin具有强大的错误处理功能:Kotlin提供了强大的错误处理功能,使处理错误变得简洁而直接。这个特性帮助开发人员快速识别和解决错误,减少了调试代码所需的时间。Kotlin的错误处理特性:Kotlin具有一

Windows下,快速部署开发环境,第三方库管理,以及项目迁移工具介绍

对于在windows下做c++开发的同学,你是否有以下痛点?:1.每次构建c++项目,搭配第三方库环境,都要不停的include,lib,dll等配置,如果4-5个还好,要是10几个...人都麻了...2.一个环境也无所谓,问题x64/32位系统,Debug,Release都要配置一遍..每次配置完成后,还要运行检测.

Hadoop初识及信息安全(大数据的分布式存储和计算平台)

目录什么是HadoopHadoop的特点Hadoop优点Hadoop的缺点Hadoop的重要组成信息安全什么是HadoopHadoop是一个适合大数据的分布式存储和计算平台。Hadoop的广义和狭义区分:狭义的Hadoop:指的是一个框架,Hadoop是由三部分组成:HDFS:分布式文件系统--》存储;MapReduc

虚拟IP技术

1.说明虚拟IP(VirtualIPAddress,简称VIP)是一个未分配给真实弹性云服务器网卡的IP地址。弹性云服务器除了拥有私有IP地址外,还可以拥有虚拟IP地址,用户可以通过其中任意一个IP(私有IP/虚拟IP)访问此弹性云服务器。同时,虚拟IP地址拥有私有IP地址同样的网络接入能力,包括VPC内二三层通信、V

【面试经典150 | 双指针】判断子序列

文章目录写在前面Tag题目来源题目解题解题思路方法一:双指针方法二:动态规划写在最后写在前面本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更……专栏内容以分析题目为主,并附带一些对于本题涉及到的数据结构等内容进行回顾与总结,文章结构大致如下,部分内容会有增删:Tag:介绍本题牵涉到的知识点、

zookeeper —— 分布式服务协调框架

zookeeper——分布式服务协调框架一、Zookeeper概述1、Zookeeper的基本概念2、Zookeeper的特点3、Zookeeper的数据结构二、Zookeeper的安装部署1、Zookeeper的下载2、Zookeeper的安装本地模式(单机模式standalone)安装部署分布式(集群模式clust

【结构型】代理模式(Proxy)

目录代理模式(Proxy)适用场景代理模式实例代码(Java)代理模式(Proxy)为其他对象提供一种代理以控制对这个对象的访问。Proxy模式适用于在需要比较通用和复杂的对象指针代替简单的指针的时候。适用场景远程代理(RemoteProxy)为一个对象在不同地址空间提供局部代表。虚代理(VirtualProxy)根据

设计模式:享元模式

享元模式(FlyweightPattern)是一种用于效率的优化模式,主要用于减少创建对象的数量,以减少内存占用和提高性能。它适用于那些需要大量使用相似对象,但又不需要每个对象都拥有完全独立的状态的情况。在享元模式中,我们将对象分为两个部分:内部状态和外部状态。内部状态是存储在享元对象中的,并且可以被多个享元对象共享。

jmeter线程组 bzm - Concurrency Thread Group & 阶梯式压测

简介bzm-ConcurrencyThreadGroup不是JMeter的官方插件,而是一种由Blazemeter提供的高级线程组插件,它提供了更灵活的并发性能测试设置。它可以在不同的时间内并发执行不同数量的线程,模拟不同的负载场景。插件下载地址(jmeter版本不低于3.2):https://jmeter-plugi

热文推荐