计算机系统知识总结

2024-08-25 16:08

本文主要是介绍计算机系统知识总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

   前言    

        计算机系统知识是我的一个弱点,每次考完了,感觉都是连着错,所以好好总结一下是很有必要的!

计算机的基本硬件系统由运算器、控制器、存储器、输入设备和输出设备五大部件组成。运算器、控制器、寄存器组合内部总线组成了CPU。CPU是硬件系统的核心,用于数据的加工处理,能完成各种算术、逻辑运算及控制功能。下面是我画的一张思维导图:

接下来我们就详细介绍一下每个部分: 

一、CPU

     1)运算器

          组成:算术逻辑单元、累加寄存器、数据缓冲寄存器和状态条件寄存器组成。

          功能:1、执行所有的算术运算

                    2、执行所有的逻辑运算并进行逻辑测试。

          1、算术逻辑单元(ALU):负责处理数据(算术运算和逻辑运算)

 

          2、累加寄存器(AC):是一个通用寄存器。当运算器的算术逻辑单元执行算术或逻辑运算时,为其提供一个工作区。(在执行减法运算时,先把一个被减数放在AC中,然后去内存中取出简述进行运算。结果放在AC中)

 

          3、数据缓冲寄存器(DR):暂时存放由内存储器读/写的一条指令或者一个数据字,将不同时间段内读/写的数据隔离开来。(作为CPU和内存、外部设备之间数据传送的中转站,作为CPU和内存、外围设备之间在操作速度上的缓冲,还可以作为操作数寄存器)

 

         4、状态条件寄存器(PSW):保存有算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,主要分为状态标志和控制标志。

 

    2)控制器

         组成:指令寄存器、程序计数器、地址寄存器、指令译码器

         功能:控制整个CPU的工作,决定了计算机运行过程的自动化。不仅要保证程序的正确执行,而且要能够处理异常事件。

       1、指令寄存器(IR):当CPU执行一条指令时,先把它从内存取到缓冲寄存器中,在送入IR中暂存。


       2、程序计数器(PC):具有寄存信息和计数两种功能。程序分为顺序执行和转移执行。程序执行开始时将起始地址送入PC,执行指令时,CPU将自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址。顺序就是PC+1,转移就是后继指令的地址根据当前指令的地址嘉善给一个向前或向后转移的位移量,或者根据转移指令给出的直接转移的地址得到。


      3、地址寄存器(AR):保存当前CPU所访问的内存单元的地址。


      4、指令译码器(ID):对指令中的操作码字段进行分析解释,识别该指令规定的操作。指令分为操作码和地址码。


3)寄存器组

    可分为专用寄存器和通用寄存器。运算器和控制器中的寄存器是专用寄存器,起作用是固定的。


二、存储系统

       存储器的层次结构:CPu内部的通用寄存器组、CPu内的Cache(高速缓存)、CPu外部的Cache、主板上的主存储器、主板外的联机磁盘存储器以及脱机的磁带存储器和光盘存储器。


       1)分类

             1、按照所处的位置可分为内存和外存

             2、按访问方式分为按地址访问的存储器和按内容访问的存储器

             3、按寻址方式分类分为随机存储器、顺序存储器和直接存储器


        2)相联存储器

             是一种按内容访问的存储器。


       3)高速缓存(Cache)

             用来存放当前最活跃的程序和数据。分为控制部分和存储器部分。存储部分用来存放主存的部分拷贝信息,控制部分的功能是判断CPU访问的信息是否在Cache存储器中,若在即为命中,若不在则没有命中。

 

            高速缓存的地址映像(将主存地址转换成Cache存储器的地址)方法:

            1、直接映像:主存的块与Cache中块的对应关系是固定的(优点是地址变换简单   缺点:灵活性差)

            2、全相联映像:允许主存的任一快可以调入Cache存储器的任何一个块的空间中。(优点:主存的块调入Cache的位置不受限制,十分灵活。缺点:无法从主存块好中直接获得Cache的块号,变换复杂,速度慢)

           3、组相联映像:主存一组中的任一块可以存入Cache相应组的任一块中

 

      4)虚拟存储器

把很大的程序分成许多较小的块,全部存储在外存中,运行时,把药用到的程序块先调入主存,并且把马上要用到的存入高速缓存。一边运行程序,一边进行所需程序的调入调出。分为:页式、段式、段页式

 

      5)外存储器

            CPU不能直接访问外存中的程序和数据,只有将其以文件为单位调入主存再能访问。

            1、磁盘存储器:存取速度较快,且有较大的存储容量(硬盘)

            2、光盘存储器:只读型光盘和只写一次光盘、可擦除型光盘。

三、输入/输出技术

        1)内存与接口的编址方法

             1、内存与接口地址独立编址方法

             2、内存与接口地址统一编址方法

       2)直接程序控制

           1、无条件传送

           2、程序查询方式

       3)中断方式

            当I/o系统与外设交换数据时,CPu无须等待也不必去查询I/O的状态,而可以抽身出来处理其他任务。当I/O 系统准备好以后,则发出中断请求信号通知CPu,CPU接到中断请求信号后,保存正在执行程序的现场,转入I/O中断服务程序的执行,完成于I/o系统的数据交换,然后在返回被打断的程序继续执行。(CPU无需等待而提高了效率)

          中断处理方法:

          1、多中断信号线法

          2、中断软件查询法

          3、菊花链法

          4、总线仲裁法

          5、中断向量表法

     4)直接存储器存取方式

          直接内存存取(DMA):在内存与I/O设备之间传送一个数据块的过程中,不需要CPU的任何干涉,只需要CPU在过程开始启动与过程结束时处理。在此传送过程中,CPU可以做别的事情。但是在直接内存存取时,CPU不能使用总线。

          在直接内存存取的工作方式下,在主存和外设之间建立了直接的数据通路。

          1、外设向DMA控制器(DMAC)提出DMA传送的请求。

          2、DMA控制器向CPU提出请求。其请求信号通常加到CPU的保持请求输入端HOLD上。CPU将有效的保持响应信号HLDA输出加到DMAC上,告诉DMAc它的请求已得到响应,另一方面,3、CPU将其输出的总线信号置为高阻,(意味着CPu放弃了总线的控制权)

         3、DMAC此时获得了对系统总线的控制权,开始实施对系统总线的控制。同时向提出请求的外设送出DMAC的响应信号,告诉外设其请求已经得到响应。

         4、当DMAC将规定的字节数传送完了,cpu会重新获得系统总线的控制权。



四、总线结构

        总线:任何连接两个以上电子元器件的导线。分为内部总线、系统总线(内总线)和外部总线

         三总线结构的计算机总线系统由CPU总线、内存总线和I/O 总线组成。

         1)系统总线(内总线)

              其性能直接映像到计算机的性能。

                1、ISA总线:ISA是工业标准总线。

                2、EISA总线

                3、PCI总线

 

         2)外部总线:

               1、RS-23C

               2、SCSI总线

               3、USB

              4、IEEE-1394

              5、IEEE-488


总结

       还有好多的内容没有总结全,我们对于知识的掌握是一遍一遍的,每次看见这个知识点我们就应该去回顾一下课本,一遍遍的我们就理解了。还有一点,多多总结,多多收获!


这篇关于计算机系统知识总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1106018

相关文章

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

Java反转字符串的五种方法总结

《Java反转字符串的五种方法总结》:本文主要介绍五种在Java中反转字符串的方法,包括使用StringBuilder的reverse()方法、字符数组、自定义StringBuilder方法、直接... 目录前言方法一:使用StringBuilder的reverse()方法方法二:使用字符数组方法三:使用自

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

Python依赖库的几种离线安装方法总结

《Python依赖库的几种离线安装方法总结》:本文主要介绍如何在Python中使用pip工具进行依赖库的安装和管理,包括如何导出和导入依赖包列表、如何下载和安装单个或多个库包及其依赖,以及如何指定... 目录前言一、如何copy一个python环境二、如何下载一个包及其依赖并安装三、如何导出requirem

Rust格式化输出方式总结

《Rust格式化输出方式总结》Rust提供了强大的格式化输出功能,通过std::fmt模块和相关的宏来实现,主要的输出宏包括println!和format!,它们支持多种格式化占位符,如{}、{:?}... 目录Rust格式化输出方式基本的格式化输出格式化占位符Format 特性总结Rust格式化输出方式

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push

Kubernetes常用命令大全近期总结

《Kubernetes常用命令大全近期总结》Kubernetes是用于大规模部署和管理这些容器的开源软件-在希腊语中,这个词还有“舵手”或“飞行员”的意思,使用Kubernetes(有时被称为“... 目录前言Kubernetes 的工作原理为什么要使用 Kubernetes?Kubernetes常用命令总

Python中实现进度条的多种方法总结

《Python中实现进度条的多种方法总结》在Python编程中,进度条是一个非常有用的功能,它能让用户直观地了解任务的进度,提升用户体验,本文将介绍几种在Python中实现进度条的常用方法,并通过代码... 目录一、简单的打印方式二、使用tqdm库三、使用alive-progress库四、使用progres