【系统架构设计】计算机组成与体系结构(二)

计算机组成与体系结构

  • 计算机系统组成
  • 存储器系统
    • 前言
    • 主存储器
      • 存储器存储数量(计算)
    • 辅助存储器(以磁盘为例)
    • Cache存储器
  • 流水线

计算机系统组成

存储器系统

前言

存储器用来存放程序和数据的部件,是一个记忆装置,也是计算机能够实现“存储程序控制”的基础。在计算机系统中,规模较大的存储器往往分成若干级,称为存储器系统。

传统存储器系统一般分为 高速缓冲存储器(Cache)、主存、辅存 三级。

  • 主存:可由CPU直接访问,存取速度快,但容量小,一般用来存放当前正在执行的程序和数据
  • 辅存:在主机外部,存储容量大,价格较低,但存取速度较慢,一般用来存放暂时不参与运行的程序和数据,CPU不可以直接访问辅存,辅存中的程序和数据在需要时才传送到主存,因此它是主存的补充和后援;
  • Cache:存取速度比主存更快,但容量更小,用来存放当前最急需处理的程序和数据,以便快速地向CPU提供指令和数据。

因此,计算机采用多级存储器体系,确保能够获得尽可能高的存取速率,同时保持较低的成本。而多层次存储体系之所以能用低投入换来较高的存取速率,得益于局部性原理

局部性原理是指程序在执行时呈现出局部性规律,即在一较短的时间内,程序的执行仅局限于某个部分。相应地,它所访问的存储空间也仅局限于某个区域。程序局部性包括时间局部性空间局部性

  • 时间局部性:是指程序中的某条指令一旦执行,不久以后该指令可能再次执行。产生时间局部性的典型原因是由于程序中存在着大量的循环操作;
  • 空间局部性:是指一旦程序访问了某个存储单元,不久以后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址可能集中在一定的范围内,典型情况就是程序顺序执行

存储器中数据常用的存取方式顺序存储、直接存取、随机存取、相联存取四种。

  1. 顺序存取:存储器的数据以记录的形式进行组织,对数据的访问必须按照特定的线性顺序进行。存取时间是固定的磁带存储器采用的就是顺序存取的方式。
  2. 直接存取:使用一个共享的读写装置对所有的数据进行访问,与顺序存取相似。但是,每个数据块都拥有唯一的地址标志,读写装置可以直接移动到目的数据块所在位置进行访问。存取时间也是可变的磁盘存储器采用直接存取的方式。
  3. 随机存取:存储器的每一个可寻址单元都有唯一的地址和读写装置,系统可以在相同的时间内对任意一个存储单元的数据进行访问,而与先前的访问序列无关。存取时间是固定的主存储器采用随机存储的方式。
  4. 相联存取:也是一种随机存取的形式,但是选择某一个单元进行读写是取决于内容而不是其地址。与普通的随机存取方式一样,每个单元都有自己的读写装置,读写时间也是一个常数。使用相联存取方式,可以对所有的存储单元的特定位进行比较,选择符合条件的单元进行访问。为提高地址映射的速度,Cache 采用相联存取的方式

ps: 随机存取和相联存取由于每个单元都有唯一的读写装置,因此存取时间是固定的;顺序存取访问路线是确定的,因此存取时间也是固定的;直接存取由于磁头起始位置不同等因素,存取时间可变。

主存储器

由于CPU 要频繁访问主存,主存的性能在很大程度上影响了整个计算机系统的性能。根据工艺和技术的不同,主存可分为随机存取存储器 和 只读存储器

  1. 随机存取存储器(Random Access Memory,RAM):既可以写入也可以读出,但断电不保存,因此只能用于暂存数据。RAM 又可分为DRAM (Dynamic RAM,动态RAM)和SRAM(Static RAM,静态RAM)两种:
  • DRAM :信息会随时间逐渐消失,因此需要定时对其进行刷新维持信息不丢失;
  • SRAM:在不断电情况下信息能够一直保持而不会丢失

DRAM 密度大于SRAM,且更加便宜,但SRAM速度快,电路简单(不用刷新电路),然而容量小,价格高

  1. 只读存储器(Read Only Memory,ROM):可以看作RAM一种特殊的形式,存储器内容只能随机读出而不能写入。常用来存放那些不需要改变的信息。由于信息一旦写入存储器就固定不变了,即使断电,写入的内容也不会丢失,所以又称为固定存储器。ROM一般用于存放系统程序BIOS(Basic Input Output System,基本输入输出系统)。

存储器存储数量(计算)

不同计算机存储器编址方式不同,主要有字编址和字节编址。内存一般以字节(8位)为单位,或者以字为单位(字的长度可大可小,例如16位或32位)。

例如:内存地址从AC000H 到C7FFFH,则共有C7FFFH-AC000H=1BFFFH个地址单元(转换为十进制为 112KB)。如果该内存地址按字(16bit)编址,则共有112KB * 16 位。假设该内存由28片存储器芯片构成,已知构成此内存的芯片每片有16KB 个存储单元,则该芯片每个存储单元存储(112KB * 16) /(28 * 16KB)=4位

辅助存储器(以磁盘为例)

在这里插入图片描述

硬盘存储器在硬盘中,信息分布呈以下层次:记录面、圆柱面、磁道、扇区

一台硬盘驱动器中有多个磁盘片,每个盘片有2个记录面,每个记录面对应一个磁头,所以记录面号就是磁头号,如图1-2(a)。所有的磁头安装在一个公用的传动设备或支架上,磁头一致地沿盘面径向移动,单个磁头不能单独移动。在记录面上,一条条磁道形成一组同心圆,最外圈的磁道为0号,往内侧磁道号逐渐增加,如图1-2(b)。在一个盘组中,各记录面上相同编号(位置)的各磁道构成一个柱面,如图1-2(c)。

每个磁道片有m个磁道,则该硬盘有m个柱面引入柱面的概念是为了提高硬盘的存储速度。当主机要存入一个较大的文件时,若一条磁道存不完,就需要存放在几条磁道上。这时应该将一个文件尽可能存到同一个柱面上,如果仍存放不完,再存入相邻的柱面内

ps: 同一柱面,磁头不用移动。

通常将一条磁道划分若干段,每段称为一个扇区或扇段,每个扇区存放一个定长信息块。具体怎么划分一般由操作系统决定。磁道上扇区编号从1开始

在磁盘上进行信息读写时,首先需要定位到目标磁道,这个过程称为寻道。寻道消耗时间为寻道时间,定位到目标磁道后,需要定位到目标扇区,此过程通过旋转盘片完成,平均旋转半圈可到目标位置。故磁道访问时间为:
磁盘访问时间(存取时间) = 寻道时间 + 旋转延迟时间

Cache存储器

流水线

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/788145.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【网络安全的神秘世界】XSS基本概念和原理介绍

🌝博客主页:泥菩萨 💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 一、基本概念 恶意攻击者往web页面插入恶意代码脚本(JS代码),当用户浏览该页面时&#xf…

泛微开发修炼之旅--36通过js控制明细表中同一列中多个浏览框的显示控制逻辑(明细表列中多字段显示逻辑控制)

文章链接:36通过js控制明细表中同一列中多个浏览框的显示控制逻辑(明细表列中多字段显示逻辑控制)

0基础学会在亚马逊云科技AWS上搭建生成式AI云原生Serverless问答QA机器人(含代码和步骤)

小李哥今天带大家继续学习在国际主流云计算平台亚马逊云科技AWS上开发生成式AI软件应用方案。上一篇文章我们为大家介绍了,如何在亚马逊云科技上利用Amazon SageMaker搭建、部署和测试开源模型Llama 7B。下面我将会带大家探索如何搭建高扩展性、高可用的完全托管云原…

安防综合管理/视频汇聚平台EasyCVR视频监控存储技术:高效稳定的视频数据保障方案

随着科技的飞速发展,视频监控已成为现代社会不可或缺的一部分。无论是城市治安、交通管理,还是商业安保、家庭监控,视频监控都发挥着至关重要的作用。而在这背后,视频监控存储技术则是确保监控数据得以长期保存、高效检索和可靠利…

技术速递|VS Code Java 6月更新 - 项目设置功能增强!大量 Spring 新特性

作者:Nick Zhu 排版:Alan Wang 大家好,欢迎阅读 Visual Studio Code for Java 的六月更新!在这篇博客中,我们将分享项目设置项目的重要更新以及一系列 Spring 的功能改进,让我们开始吧! 项目设…

分布式锁(仅供自己参考)

分布式锁:满足分布式系统或集群式下多进程可见并且互斥的锁(使用外部的锁,因为如果是集群部署,每台服务器都有一个对应的tomcat,则每个tomcat的jvm就不同,锁对象就不同(加锁的机制,每…

(自用)共享单车服务器(二) 项目日志

stdin、stdout、stderr 注意&#xff1a;stderr是不缓存的&#xff0c;stdout则进行行间缓存。接下来我们看下行间缓存的效果&#xff0c;请参考以下代码&#xff1a; #include "stdio.h" #include <unistd.h>int main(int argc, char** argv) {for (int i 0…

万字长文MySQL Binlog 详细指南

目录 第一阶段 MySQL Binlog 基础用法1. Binlog基本概念1.1 什么是Binlog1.2 Binlog的作用1.3 Binlog格式 2. 配置和管理Binlog2.1 开启Binlog2.2 设置Binlog文件大小和保留时间2.3 查看Binlog状态 3. Binlog的实际应用3.1 数据恢复3.2 主从复制3.3 审计 4. Binlog工具使用4.1 …

吴恩达机器学习笔记2.1 - 什么是机器学习

吴恩达机器学习笔记2.1 - 什么是机器学习 最早的机器学习 1959年&#xff0c;亚瑟塞缪尔(Arthur Samuel)将机器学习定义为“Field of study that gives computers the ability to learn without being explicitly programmed”&#xff08;无需编程即可学习的研究领域&#xf…

谷粒商城 - 编写一个自定义校验注解

目录 开始 未来实现效果 第一步&#xff1a;编写自定义校验注解 第二步&#xff1a;编写自定义校验器 第三步&#xff1a;编写配置文件 效果演示 开始 未来实现效果 编写一个 ListValue 注解&#xff0c;可以实现功能有&#xff1a; 限定字段的值&#xff0c;例如指定只…

解读BASE理论:高可用性与性能的完美平衡

Base概念 BASE 理论是一种处理大规模分布式系统中的数据一致性问题的思路。相比于传统的严格一致性&#xff0c;它更灵活&#xff0c;适用于那些需要高可用性和性能的系统。BASE 理论由三个部分组成&#xff1a; 基本可用&#xff08;Basically Available&#xff09; 基本可用…

Unity通过NDK实现C#与C++之间的相互调用

由于一些历史遗留问题&#xff0c;我们项目还在使用一套C实现的Box2D定点数的库&#xff0c;由于最近修改了视野算法所以需要重新打包安卓的【.so】文件&#xff0c;特此记录 1、关于NDK 在Android平台&#xff0c;C/C需通过NDK编译成动态链接库.so文件&#xff0c;然后C#中通过…

天士力“数智本草”大模型如何赋能中药药品研发工作?

天士力“数智本草”大模型如何赋能中药药品研发工作&#xff1f; 目前&#xff0c;“数智本草”大模型如何配合天士力研发工作&#xff1f;对新药研发、中药二次开发等产生了什么价值&#xff1f;能否介绍一些具体的成果案例&#xff1f; “数智本草”大模型目前已经形成智能问…

免费下载工具 -- Free Download Manager(FDM) v6.24.0.5818

软件简介 Free Download Manager (FDM) 是一款免费的功能强大的下载管理软件&#xff0c;适用于多种操作系统&#xff0c;包括 Windows、macOS、Android 和 Linux。这款软件的特色在于它快速、安全且高效的下载能力。它可以下载各种热门网站的影片&#xff0c;支持 HTTP/HTTP…

【内网渗透】MSF渗透阶段的常用指令笔记

目录 渗透阶段划分 msfvenom 常用参数 各平台生成payload命令 Meterpreter Meterpreter的常用命令 基本命令 常用命令 针对安卓手机的一些命令 针对Windows的一些命令 文件系统命令 生成木马反弹shell(以linux靶机为例) 木马生成 配置监控 攻击利用 渗透阶段划分…

人工智能算法工程师(中级)课程2-Opencv视觉处理之高级操作

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能算法工程师(中级)课程2-Opencv视觉处理之高级操作。在上一节课中的OpenCV基础操作我们了解到OpenCV是一个开源的计算机视觉软件库。它提供了各种视觉处理函数&#xff0c;并支持多种编程语言&#xff0c;如…

2-29 基于matlab的CEEMD

基于matlab的CEEMD&#xff08;Complementary Ensemble Empirical Mode Decomposition&#xff0c;互补集合经验模态分解&#xff09;&#xff0c;先将数据精心ceemd分解&#xff0c;得到imf分量&#xff0c;然后通过相关系数帅选分量&#xff0c;在求出他们的样本熵的特征。用…

HTML语言常见标签

语法 HEAD部分的HTML标签 1 标题标签 <title>标题内容</title> 2 段落标签 <meta charset"utf-8"/> BODY部分的HTML标签 1标题标签&#xff08;独占一行&#xff09;<h1>标题内容</h1> 2段落标签&#xff08;独占一行&#xff09;…

FUSE(用户空间文件系统)命令参数

GPT-4 (OpenAI) FUSE (Filesystem in Userspace)是一个允许创建用户空间文件系统的接口。它提供了一个API&#xff0c;让开发者在未修改内核代码的情况下&#xff0c;通过自己的程序实现文件系统。FUSE 文件系统通常通过 mount 命令来挂载&#xff0c;而且这个命令可以接受各…

深度学习--系统配置流程

Win10系统配置双系统Ubuntu18.04 深度学习台式服务器自装练手1.win10磁盘管理2.下载系统镜像制作U盘3.系统安装4. 安装后的系统设置工作5.配置CUDA环境CUDNN安装 深度学习台式服务器自装练手 写在最前 CUDA最高支持11.4 显卡3060 1.win10磁盘管理 首先对原有磁盘进行分区整理…