硬盘 / 硬盘控制器主要端口寄存器 / Controller Register

news/2024/10/31 1:29:26/

文章目录

    • IDE 与 SATA
    • 硬盘分区表结构
    • 硬盘控制器主要端口寄存器
      • data 寄存器
      • Error && Features
        • Error
        • Features
      • Sector count
      • LBA low | mid | high
      • device 寄存器
      • Status
      • Command

IDE 与 SATA

很久以前,硬盘控制器和硬盘是分开的,后面开发了一个新接口,这才将硬盘控制器和硬盘整合到一起,这样接口称为集成设备电路(Integrated Drive Electronices, IDE)。

IDE接口和SATA接口:

image-20221122002312202

IDE(并口)硬盘 和 SATA(串口)硬盘:

image-20221122002507449

PATA 接口线缆,也称 IDE 线,一条 IDE 线上可以挂在两块硬盘,一个主盘(Master),一个从盘(Slave):

image-20221122002826993

一个主板支持这样的 4 块 IDE(PATA)硬盘,所以主板提供应两个 IDE 插槽。这两个 IDE 插槽分别命名为 IDE0 和 IDE1。也将 IDE0 称为 Primary 通道,将 IDE1 称为 Secondary 通道,它们都是通道。每个通道上分别有主盘和从盘。

Tips:也有可能只有一个 IDE 插槽,甚至不支持 IDE 插槽,这样就要看主板能力了。

SATA 接口线缆:

image-20221122003403525

硬盘分区表结构

偏移长度描述
01状态(08H 可引导、00H 不可引导、其它 不合法)
11起始磁头号
21起始扇区号(仅用了低 6 位,高 2 位为起始柱面号的第 8,9 位)
31起始柱面号的低 8 位
41分区类型(System ID)
51结束磁头号
61结束扇区号(仅用了低 6 位,高 2 位为结束柱面号的第 8,9 位)
71结束柱面号的低 8 位
84起始扇区的 LBA
124扇区数目

硬盘控制器主要端口寄存器

data 寄存器

  • 宽度:16位
  • 在读硬盘时,硬盘准备好数据后,硬盘控制器将其放在内部缓冲区中,不断读此寄存器便是读出缓冲区中的数据。
  • 在写硬盘时,我们要把数据源源不断地输送到此端口,数据便被存入到缓冲区里,硬盘控制器发现这个缓冲区中有数据了,便将此处的数据写入相应的扇区中。

Error && Features

Error

  • 使用场景:读
  • 宽度:8位
  • 只在读取硬盘失败时有用,里面记录失败的信息,尚未读取的扇区保存在 Sector count 寄存器中。

Features

  • 使用场景:写
  • 宽度:8位
  • 写硬盘时,有些命令需要指定额外参数,这些参数就写在 Fea ture 寄存器中。

Sector count

  • 使用场景:读写
  • 宽度:8位
  • 用来指定待读取或写入的扇区数。硬盘每完成一个扇区,就会将此寄存器的值减 1,所以如果中间失败了,此寄存器中的值便是尚未完成的扇区。
  • 8位寄存器,最大值位 255,若指定为 0,则表示操作 256 个扇区。(因为:1 0000 0000 舍去高位 1 从而保证 8 位,结果为 0)

LBA low | mid | high

  • 使用场景:读写
  • 宽度:8位
  • LBA 有两种,一种 LBA28,另一种 LBA48,均用来描述一个扇区的地址。
  • LBA low:存储 28 位地址的第 0~7 位
  • LBA mid:存储第 8~15 位
  • LBA high:存储第 16~23 位
  • device 寄存器的低 4 位:存储第 24~27 位

device 寄存器

  • 使用场景:读写

  • 宽度:8位

  • 图示:

    image-20221124013126954

Status

  • 使用场景:读

  • 宽度:8位

  • 作用:保存硬盘的状态信息。

  • 图示:

    image-20221124013049669

Command

  • 使用场景:写
  • 宽度:8位
  • 作用:存储让硬盘执行的命令,将命令写入该寄存器,硬盘便开始工作了。
  • 主要命令:
    1. identify0xEC 硬盘识别
    2. read sector0x20 读扇区
    3. write sector0x30 写扇区

http://www.ppmy.cn/news/6042.html

相关文章

【小程序】案例 - 本地生活(首页)

1. 首页效果以及实现步骤 新建项目并梳理项目结构 配置导航栏效果 配置 tabBar 效果 实现轮播图效果 实现九宫格效果 实现图片布局 2. 接口地址 获取轮播图数据列表的接口 【GET】 https://www.escook.cn/slides 获取九宫格数据列表的接口 【GET】 https://www.esco…

C++内存管理

内存管理 c:malloc、calloc、realloc、free c:new(不会初始化)、delete 内存管理方式 对于内置类型 //申请和释放单个元素的空间,使用new和delete操作符 int* p1 new int;//申请1个int类型的空间 delete p1;int*…

jenkins pipeline 指定执行节点

第一种写法: pipeline { agent { label “slave-hw” } stages { stage(‘执行更新程序包’) { steps { sh ‘cd /apps/nedy/nedy/csctbb/HWCLOUD ; sh test.sh’ } } stage(‘是否继续’) { steps { input message: ‘确认继续吗?’, ok: ‘确认’ } } …

【PAT甲级 - C++题解】1113 Integer Set Partition

✍个人博客:https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 📚专栏地址:PAT题解集合 📝原题地址:题目详情 - 1113 Integer Set Partition (pintia.cn) 🔑中文翻译:整数集合划分 &…

四、网络层(七)网络层设备

目录 7.1 路由器的组成和功能 7.2 路由表与路由转发 7.1 路由器的组成和功能 路由器是一种具有多个输入/输出端口的专用计算机,其任务是连接不同的网络(可以是异构的)并完成路由转发。在多个逻辑网络(即多个广播域&#xff…

高新技术企业认定的指标要求

高新技术企业认定的指标要求 1、拥有核心自主知识产权 (通过自主研发,受让等方式)拥有主营产品核心技术知识产权,数量要求:2项发明专利;10项实用新型专利软件著作版权。 2、产品(服务&#x…

深度学习训练营之海贼王人物识别

深度学习训练营之海贼王人物识别原文链接环境介绍前置工作设置GPU导入数据数据查看数据预处理加载数据可视化数据检查数据配置数据集prefetch()功能详细介绍:归一化查看归一化后的数据构建VGG-16网络网络结构编译模型训练结果可视化原文链接 🍨 本文为&a…

解决资源消耗,top的运用记录

第一条命令uptime load average 后面的三个数字,分别代表1分钟、5分钟和15分钟内机器的平均负载 使用top命令解决负载问题 Cpu(s)这一行提供了CPU运行情况信息 这些缩写分别代表了不同含义 (1)us:用户CPU时间 运行非优雅的用户进程所占CPU时间的百…