存储控制器

article/2025/10/1 8:26:38

存储控制器是按照一定的时序规则对存储器的访问进行必要控制的设备,包括地址信号、数据信号以及各种命令信号的控制,使主设备(访问存储器的设备)能够根据自己的要求使用存储器上的存储资源。

存储控制器的作用主要就是进行接口的转换,将主设备发出的读、写等命令转换成存储器能够识别的信号,还要完成主设备与存储器之间地址译码、数据格式的转换(比如数据位宽)。

简介

存储控制器,多作为可在微处理器中排列二极管的只读存储器装机使用。其起源至少可以追溯到1947年旋风计算机所使用的"program timing matrix" 。IBM在早期的360系统中使用了ROM存储控制器,但在后继的370系统中,改用了既可从软盘导入微程序,又可随意读写的超高速随机存储器,这使得IBM可以轻松修改微程序中的程序错误。尽管当时默认的存储控制器为ROM,但由于可随意读写的RAM的面世,使得用户可以自己更改计算机的微程序。

相关资料

存储控制器配有能够使下一指令顺利输出的寄存器。定序器则负责依据微程序的运行结果来决定下一条指令的运行地址,防止各指令经由寄存器时发生冲突。在大多数设计中,其他指令也会从寄存器中通过。因为通过将下一指令的运行延缓一个周期,可以提高机器的运行速度。这种寄存器被称作管道寄存器。下一命令的运行通常要依据上一命令的运行结果,在当前的微程序循环未完成之前无法实施。总之,存储控制器的输出结果都会被输入到寄存器当中。寄存器和EPROM过去常被组装于同一块芯片。由决定系统循环时间的时钟信号负责驱动寄存器。

内存控制器

内存控制器(英语:Memory Controller)是一个用于管理与规划从内存到CPU间传输速度的总线电路控制器,它可以是一个单独的芯片或集成到相关的大型芯片里;如微处理器与北桥内置的内存控制器内存控制器控制着必要的逻辑读取和写入DRAM,并每隔一段时间刷新动态随机存取存储器(DRAM)里的内容。如果没有不断刷新DRAM将会丢失已写入的数据,因为DRAM的储存单元其实是电容器的一种,电容器会不断泄漏它储存的电荷,根据JEDEC标准只要泄漏速度不小于64毫秒内存就可以正常工作。进行读取和写入动作时,内存控制器会根据数据地址到DRAM中选择行和列,通过一个多路转换器将数据合并以减少操作所需的总线宽度,由DRAM输入端的多路转换器电路承接转换操作,其中经由DRAM的多路分解器为转换后的输入数据选择正确的存储器位置并返回数据,总线宽度是允许同时进行通信的存储单元数目。内存控制器的总线宽度范围从在早期的系统中的8位,演变成在更复杂的系统和显卡中的512位,这通常被实现为数个64位内存控制器同时并行运行,这称为“团体模式”。一些内存控制器,例如集成QUICC内存控制器的Power QUICC II处理器,可在同一时间连接到各种不同类型的设备,如:SDRAM、SRAM、ROM和内存映射的I/O。一些内存控制器会集成ECC错误检测和校正的功能。现在实验中的内存控制器除了包含执行存储器管理单元地址转换中的第一级,也包含第二级别的地址转换,进一步减少带宽占用率。

硬盘控制器

硬盘控制器即磁盘驱动器适配器。是计算机与磁盘驱动器的接口设备。它接收并解释计算机来的命令,向磁盘驱动器发出各种控制信号。检测磁盘驱动器状态,按照规定的磁盘数据格式,把数据写入磁盘和从磁盘读出数据。磁盘控制器类型很多,但它的基本组成和工作原理大体上是相同的,它主要由与计算机系统总线相连的控制逻辑电路,微处理器,完成读出数据分离和写入数据补偿的读写数据解码和编码电路,数据检错和纠错电路,根据计算机发来的命令对数据传递,串并转换以及格式化等进行控制的逻辑电路,存放磁盘基本输入输出程序的只读存储器和用以数据交换的缓冲区等部分组成。

IDE控制器

IDE控制器经常制作在主板中,最多能够支持4个硬盘,每秒传输数据最多可达66Megabytes(MB),但是许多IDE控制器仅能达到33Megabytes。IDE控制器有几种变体,常见的就是ATA:AdvancedTechnologyAttachment(附加高级技术),ATA是IBM发明的装在硬盘里的第二个控制器,能够大大加快数据的传输速度。当前进一步提高了性能的ATA-3和ATA-4正被音频工作站广泛使用。

SCSI控制器

SCSI是非常先进的硬盘控制器,但是通常它的价格高于IDE因此难于普及。SCSI能够支持多件硬盘和CD-ROM、扫描仪等设备,可以用菊花链的方式联接多达30件设备和外围,最适合需要巨大容量的录音棚采用。SCSI控制器传统上就比IDE快,更能够达到每秒160MB的速度,正在开发的新控制器甚至可以达到每秒320MB。就象IDE,SCSI也有一些不同的版本,如果你的DAW需要最好的性能,使用24bit/96Khz或24bit/192KHz规格的标准,存储大量的数据,应当首先考虑SCSI。

磁盘阵列控制器

阵列控制器用于磁盘阵列,是磁盘阵列的大脑,硬件组成包括CPU,高速缓存(Cache)以及光纤通道(FC),主要用来实现数据的存储转发以及整个阵列的管理,是系统主机与存储器件(磁盘柜)之间的“桥梁”。

 

分类

1)JBOD(Just Bundle of Disk),顾名思义,只是一捆磁盘而已,所以也被称为傻瓜盘阵。其内部无控制器及缓存,也没有其他手段提高效率及安全性,每个磁盘独立完成数据的读写,RAID算法由电脑主机完成,性能最差。

2)单控制器阵列,性能表现良好,但是安全性欠缺,一旦控制器故障,阵列就会停机。

3)双控制器阵列,能够实现控制器级的冗余,进一步提高了系统的性能和稳定安全性能。

4)多控制器阵列,一般采用4个以上控制器,达到多级冗余,整体性能大大提高,处理能力和安全性超强,常用于大型关键业务及数据中心。

具体功能

  • 对指令流进行控制和译码,包括执行标量操作指令。

  • 在执行向量操作时将控制信号传送给pe。

  • 向所有的处理单元广播公共的地址部分。

  • 所有的处理单元广播公共数据。

  • 接收和处理陷阱或中断信号。

发展需求

随着对存储性能要求的不断提高,存储器的容量越来越大、速度越来越快,新的存储器访问技术也应运而生,存储控制器也在不断的改进与发展。例如,由传统的单一通道控制器到双通道技术,再到处理器内部整合封装存储控制器,其发展相当迅速,未来肯定会有更新的技术出现,到那时,可能就没有存储控制器的概念了。

参考:存储控制器_百度百科 

阵列控制器_百度百科


http://chatgpt.dhexx.cn/article/kwOcME1B.shtml

相关文章

内存控制器

1.内存控制器(Memory Controller) 内存控制器(Memory Controller)是计算机系统内部控制内存并且通过内存控制器使内存与CPU之间交换数据的重要组成部分。内存控制器决定了计算机系统所能使用的最大内存容量、内存BANK数、内存类型…

Java并发包中常用类小结(一)

Java并发包中常用类小结(一) 从JDK1.5以后,Java为我们引入了一个并发包,用于解决实际开发中经常用到的并发问题,那我们今天就来简单看一下相关的一些常见类的使用情况。 1、ConcurrentHashMap ConcurrentHashMap其实就是线程安全版本的has…

java并发包源码分析

java并发包之AbstractQueuedSynchronizer源码分析 分析并发包首先要了解AbstractQueuedSynchronizer(AQS),因为AQS是并发包的基础工具类。本文从ReentrantLock的公平锁出发,分析AbstractQueuedSynchronizer的工作过程。 lock与u…

【Java进阶】Java并发包提供了哪些并发工具类?

通过前面的学习,我们一起回顾了线程、锁等各种并发编程的基本元素,也逐步涉及了 Java 并发包中的部分内容,相信经过前面的热身,我们能够更快地理解 Java 并发包。 今天我要问你的问题是,Java 并发包提供了哪些并发工具…

java---JUC并发包详解

目录 前言 一、atomic包 AtomicInteger类 AtomicReference类 AtomicStampedReference类 二、locks包 接口 Condition Lock ReadWriteLock 实现类 ReentrantLock类 ReentrantReadWriteLock类 三、CountDownLatch 四、Semaphore(信号量) 总结 前言 JUC是java.u…

Java多线程并发编程--Java并发包(JUC)

Java多线程并发–Java并发包(JUC) 前言 前一篇文章中,笔者已经介绍了Java多线程的一些基础知识,但是想要成为一名中高级Java程序员还必须懂得Java并发包(JUC)的知识点,而且JUC现在也是面试中必…

接口测试--apipost如何自定义header中的content-type

使用apipost进行接口测试的时候,有时候会用到一些自定义或者不常见的content-type格式,这个时候就要手动在header头部自定义content-type。 这里我们自定义一个content-type,格式为application/octet-stream 然后body选择的为form-data&…

Type-c引脚定义

Type-c口是什么口,有什么作用? Type-c口在大家的视野中或许比较陌生,但是生活中处处离不开Type-c口的存在。手机,电脑,音箱,小家电,无人机…等等,都存在Type-c接口。 Type-c只是一种…

TYPE-C12PIN接口电路

16PIN封装只有12个PIN脚,所有16/12PIN其实是一种规格 特点,正反插 VBS-VCC A5,B5接电阻拉地 A7,B7串联接电阻成为DN A6,B6串联接电阻成为DP GND拉地 外壳拉地 USB接口介绍

TypeScript-interface接口篇

简介 接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用。接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数…

TypeScript(四)接口

目录 前言 定义 用法 基本用法 约定规则 属性控制 任意属性 可选属性 只读属性 定义函数 冒号定义 箭头定义 接口类型 函数接口 索引接口 继承接口 类接口 总结 前言 本文收录于TypeScript知识总结系列文章,欢迎指正! 在介绍TS对象…

Type-C接口简单介绍-面向单片机应用

Type-C接口简单介绍-面向单片机应用 1、绪论 用单片机做一些东西时,Type-C接口逐渐替代了MicroUSB接口。但不像MicroUSB那样只有5V、GND、D、D-、ID五个接口,Type-C接口有24个引脚,比较复杂。大多时候我们用TypeC也用不到USB3.0协议&#x…

CTP_将C++封装为Python可调用接口

目录 写在前面: 前置准备: step 1 与上期所原始代码对比分析源码 td源码 1 配置属性-》常规-》配置类型 要为 “动态库(.dll)” 2 VC目录 -》包含目录 3 VC目录 -》 库目录 4 链接器-》常规-》附加库目录 5 链接器-》输入-》附加依赖项 vnctp.h 的功…

一文读懂USB Type-C接口 <一>:引脚和功能指南

本文将介绍USB Type-C标准的一些最重要的特性。 你知道如何使用USB Type-C接口吗?本文列出了USB Type-C引脚的解剖结构,并简要介绍了其各种模式。 USB Type-C是一种USB连接器系统的规范,它在智能手机和移动设备中越来越受欢迎,能够提供电力和…

VisionPro连接相机步骤

一、修改相机与电脑IP地址在同一网段上 1、修改相机IP地址 在菜单栏找到 “Cognex GigE Vision Configurator” ,可直接输出搜索。 或者在visionPro默认安装目录下 “C:\Program Files\Cognex\VisionPro\bin”,找到“Cognex GigE Vision Configurator…

机器视觉——相机选型

目录 相机选型 分辨率、快门、帧率、色彩、靶面、接口 镜头选型 分辨率、靶面、焦距、接口、光圈畸变工作距离 常用计算示例 相机选型 分辨率、快门、帧率、色彩、靶面、接口 镜头选型 分辨率、靶面、焦距、接口、光圈畸变工作距离 常用计算示例 1. 面阵相机和镜头选型 已…

线扫相机的选择

1.通过幅宽和精度求像素个数选择相机: Rmin为最小像素数;FOV为检测幅宽;X为检测精度。通过计算结果选择相机大小。 如果幅宽要求120mm,精度要求0.1,得到最少所需像素个数为1200,选择2k的线扫相机即可满足。…