九. 核心与外部设备

2024-03-02 15:20
文章标签 核心 外部设备

本文主要是介绍九. 核心与外部设备,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

九. 核心与外部设备

计算机的核心设备只有CPU(控制器和运算器)和主存储器,但还需要一些外部设备来与核心部分通信,实现输入与输出,也就是IO设备(Input/Output);比如鼠标、键盘、显示屏、音响等;

1. IO接口

首先先看两个概念:

  1. 模拟信号:连续变化的电压和电流称为模拟信号;
  2. 数字信号:输入和输出计算机内核的二进制数可以代表特定的含义,称为数字信号;
  3. 数字化:将模拟信号转变成数字信号的过程称为数字化;

中央处理器和内存是通过内部总线连接起来的,可以直接传送数字信号。而外部设备(比如画图音响等)产生和使用的都是模拟信号,所以就需要模拟信号与数字信号之间的相互转换,这一过程是通过IO接口来实现的;

IO接口是计算机核心与外部世界的中介,所有外部设备在接入计算机时都要通过IO接口,不同的设备需要接在不同的接口上;所以计算机内部都有一块主板,其中就有CPU和内存条;除此之外,就是一些可以插接口卡扩展槽,比如声卡、网卡、视频卡、显卡等;如图:
在这里插入图片描述
下图为接口卡的外观和基本组成:
在这里插入图片描述
可以看到,每个接口卡都有通向外部的插口;其实,每个IO接口都有一些自己的寄存器用来保存各种数据,这称为端口,CPU提供专门的IO端口读写指令来与外部设备打交道,它可以从I/O接口那里读取数据到寄存器,然后再从寄存器传送到内存,但这样较慢。但其实中央处理器、内存和所有的I/O接口都共用同一个数据总线,所以CPU可以在必要的时候让出总线,并命令I/O接口和内存之间进行直接的高速数据传送操作,这称为突发模式,即DMA机制。

当然,并非所有的I/O接口都是一张卡。在桌面计算机里,有些外部设备是几乎每台计算机都会用到的,比如硬盘、鼠标、键盘和显示器等。为了方便自己,也为了方便大家,这些常用设备的接口卡不再是可选的了,而是在制造一台计算机的时候,就被永久地焊在主板上。也就是说,你不再需要单独制造、购买和安装,这称为“集成”。

2. 键盘

键盘有很多种,比如笔记本电脑上集成的键盘和手机上的虚拟键盘等;其实键盘也是一个计算机,因为它有自己的CPU,而键盘开关就是一个个电容器,按下松开都会改变极板间的距离从而改变电容量;
在这里插入图片描述
个人计算机上的键盘微处理器有些特殊,它不但具备了处理器的功能,还在内部集成了动态存储器和只读存储器,可以执行自己的指令。键盘处理器连接着行线和列线,每个按键开关都用于接通特定的行线和列线,或者改变它们之间的电容量。键盘加电之后,键盘微处理器开始扫描行线和列线,以了解哪个按键被按下了。每一根行线和每一根列线都是一个组合,唯一代表着某个按键。一旦键盘微处理器发现有某个按键被按下,就向主机发送代表那个按键的二进制数据,也就是按键的代码;

按键的二进制代码是以串行的方式送进主机的。也就是说,它把代表每个按键的二进制代码拆开,一个比特一个比特地送到主板上的键盘I/O接口。在那里,这些分散的比特将重新进行组装并保存在端口寄存器中,等待中央处理器取走。当然,它也会事先拍一下处理器的肩膀。

3. 显示设备

为了在计算机显示器上产生稳定的图像,需要一块存储器暂存所要显示的内容,这块存储器称为显示存储器,简称显存;在显卡内部作为显卡的存储器,每个存储单元与屏幕上的每个像素一一对应;

要显示的内容可能来自于任何地方,但毫无疑问地必须先由中央处理器通过执行指令来将它们搬运到显存里。比如,在你的U盘里有一幅图片,要显示它,你必须通过一个图片浏览程序将它从U盘读到内存中,然后,再以突发模式快速传送到显存。在这以后,中央处理器将不再过问这些数据,由I/O接口将这些像素数据通过信号线送到显示器。在那里,二进制像素数据被转换成模拟信号以控制阴极的热电子发射,从而形成图像。

4. 辅助存储设备

刚开始,计算机工程师们使用纸带来记录程序指令;后来被磁记录技术取代,比如硬盘,下图为硬盘的内部构造:
在这里插入图片描述
硬盘的盘片是圆的,磁头位于它的表面,可以将转动着的盘片表面磁化,通过这样的方式来记录数据;在盘片上写数据的时候,会在转动着的盘片表面形成一个圆形的磁化区域,这称为磁道,也就是一个个的同心圆,只是我们肉眼凡胎看不见罢了;

随后,人们发明了光记录技术,也就是我们现在常用的光盘。光盘记录数据的主要材料是能够在激光的照射下改变状态的化学材料,以及位于其后方的反射层。通过控制大功率激光束的有无,可以达到使某些地方的化学材料透光性变差,而另一些没有变化的目的。以后要读取这张光盘时,将根据反射光线的强弱有无来还原这些数据。

接下来集成电路登场了,只读存储器ROM俗称闪存;受体积和内部空间的限制,移动智能设备,如平板电脑和手机等,只能使用大容量的闪存来替代硬盘做为内部存储;

在传统形态的电子计算机上,取代传统旋转式硬盘的是固态磁盘(Solid State Drive:SSD)。固态磁盘也使用闪存,但不同之处在于它的控制器与传统的磁盘I/O接口兼容,这样就能够把它当成传统的硬盘来使用而不会出现兼容性的问题。如图下图所示,固态磁盘可以做得很轻、很薄,因为它内部只有集成电路芯片而没有机械旋转部件。
在这里插入图片描述
5. 说明

本文为《穿越计算机的迷雾》读书笔记,如有错误,还请兄弟们指正,大家一起进步。

这篇关于九. 核心与外部设备的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python进阶之列表推导式的10个核心技巧

《Python进阶之列表推导式的10个核心技巧》在Python编程中,列表推导式(ListComprehension)是提升代码效率的瑞士军刀,本文将通过真实场景案例,揭示列表推导式的进阶用法,希望对... 目录一、基础语法重构:理解推导式的底层逻辑二、嵌套循环:破解多维数据处理难题三、条件表达式:实现分支

深度解析Python yfinance的核心功能和高级用法

《深度解析Pythonyfinance的核心功能和高级用法》yfinance是一个功能强大且易于使用的Python库,用于从YahooFinance获取金融数据,本教程将深入探讨yfinance的核... 目录yfinance 深度解析教程 (python)1. 简介与安装1.1 什么是 yfinance?

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

详解MySQL中DISTINCT去重的核心注意事项

《详解MySQL中DISTINCT去重的核心注意事项》为了实现查询不重复的数据,MySQL提供了DISTINCT关键字,它的主要作用就是对数据表中一个或多个字段重复的数据进行过滤,只返回其中的一条数据... 目录DISTINCT 六大注意事项1. 作用范围:所有 SELECT 字段2. NULL 值的特殊处

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

java中Optional的核心用法和最佳实践

《java中Optional的核心用法和最佳实践》Java8中Optional用于处理可能为null的值,减少空指针异常,:本文主要介绍java中Optional核心用法和最佳实践的相关资料,文中... 目录前言1. 创建 Optional 对象1.1 常规创建方式2. 访问 Optional 中的值2.1

Java Jackson核心注解使用详解

《JavaJackson核心注解使用详解》:本文主要介绍JavaJackson核心注解的使用,​​Jackson核心注解​​用于控制Java对象与JSON之间的序列化、反序列化行为,简化字段映射... 目录前言一、@jsonProperty-指定JSON字段名二、@JsonIgnore-忽略字段三、@Jso

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4: