了解计算机里非门组成的部分

news2025/7/22 22:14:34

        计算机中有一块硬件不是完全由NAND门构成的。这并不是把电脑变成电脑的必要条件,但大多数电脑都有一些。它们被用来从模拟的东西变成数字的东西,或者从数字变成模拟的东西。

        人类的眼睛和耳朵会对类似的事物做出反应。我们听到的东西可以是响亮的,也可以是柔和的,我们看到的东西可以明亮或黑暗,可以是多种颜色中的任何一种。

        我们上面描述的计算机显示屏有320 x 200或64000像素。但是每个像素只有一个比特来告诉它该做什么,该开还是该关。这对于在屏幕上显示书面语言很好,或者可以用来绘制线条图,任何只有两个亮度级别的东西。但我们都在电脑屏幕上看到过照片。

        首先,需要有一种在屏幕上显示不同颜色的方法。如果你拿出放大镜,看看彩色电脑或电视屏幕,你会发现屏幕实际上是由三种不同颜色的小点组成的,蓝色、红色和绿色。每个像素有三个部分,每种颜色一个。当显示适配器扫描屏幕时,它同时选择每个像素的所有三种颜色。

        对于一台拥有彩色屏幕的计算机,它需要每个像素有三个比特,因此它必须有三倍的RAM才能单独控制每个像素中的三种颜色。有了三个bit,每种颜色可以完全打开或关闭,因此每个像素将有八种可能的状态:黑色、绿色、红色、蓝色、绿色和红色(黄色)、绿色和蓝色(青色)、蓝色和红色以及绿色、蓝色和红(白色)

        但这仍然不足以显示照片。要做到这一点,我们需要能够在完全打开和完全关闭之间的整个范围内控制每种颜色的亮度。为此,我们需要一种新类型的部件,我们将在稍后描述,并且我们需要更多的显示RAM。我们可以为每个像素中的每个颜色设置一个字节,而不是每个像素中每种颜色设置一位。这是每像素三个字节,就这个小显示屏而言,总共有192000字节的RAM。

        通过使用二进制数字编码的这些字节,可以为每个像素中的每种颜色指定256级亮度。这将相当于每个像素的16777216种不同状态(或颜色)。这足以展示一张相当好看的照片。

        为了实现这一功能——一个指定256个不同亮度级别的数字——你需要一个叫做“数模转换器”或简称“DAC”的东西。DAC有八个数字输入和一个模拟输出。它的工作方式是将输入作为二进制数处理,输出在关和开之间有256个等级。输出在关与开之间有256个等级,并达到输入数字指定的等级。如果输入是128,输出将处于半开状态。对于64,输出将为四分之一开。对于0,输出将完全关闭。

        为了使这个彩色屏幕工作,显示适配器需要一次访问三个字节,将它们连接到三个DAC,并将DAC的输出连接到正在绘制的当前像素中的三种颜色。这就是彩色屏幕的工作原理。

当我们定义“模拟”时,我们说它是一种从完全关闭到完全打开的连续可变的东西。但我们的DAC在其“模拟”输出中实际上只有256个不同的电平。它更接近于模拟,但它仍然有步骤。计算机正在做的是以足够小的步幅来模拟一个模拟的东西,以欺骗预期的观众。对于眼睛来说,256种不同的亮度就足够了。

        如果需要更小的步骤来迷惑目标受众,那么可以制作一个数字侧有16位的DAC。因此,您可以用0到65535之间的任意数字表示数字输入。模拟端仍然只能从完全关闭到完全打开,但步长的大小将小得多,因为现在有65536个。当它到达耳朵时,它可以听到非常小的差异,因此需要一个16位DAC来获得高质量的声音。

        所有的声音,从音乐到语音,再到雷声,都是空气的振动。它们在空气振动的速度和确切的振动方式上有所不同。人的耳朵可以听到从低端大约20赫兹到高端20000赫兹(20千赫)的振动,所以这是计算机设计用来处理的振动范围。对于任何电子机器来说,都有一种叫做扬声器的设备。扬声器所做的只是在空气中来回移动,使空气振动。如果它使空气振动的方式与录制的原始声音完全相同,那么它听起来就像原始声音一样。

        为了在计算机中存储声音,扬声器的位置被划分为65536个可能的位置。然后,第二个被分成44100个部分。在每一秒的这些部分,扬声器的期望位置被存储为两个字节的数字。这足够信息以非常高的质量再现声音。

        要播放高质量的立体声音乐,电脑需要一个“声音外围设备”这将有两个16位DAC,其模拟输出连接到扬声器。它还将有自己的时钟,以44100赫兹的频率滴答作响。在每次滴答时,它会得到接下来的两个两字节数字,并将它们连接到DAC的数字端。

        就速度而言,这将是每秒176400字节。这当然很快,但请记住,我们的计算机时钟每秒滴答十亿次。这意味着计算机可以向声音外围设备发送四个字节,并在需要发送下四个字节之前,关闭并执行其他任务的4000条指令。

        另一方面,有一个“模数转换器”,简称“ADC”。这用于将麦克风发出的声音转换为一系列字节,或用于相机将图片转换为一组字节。输入端有一根导线,可以从一路断开到一路接通。对于8位ADC,ADC的输出为0-255,对于16位ADC则为0-65535。这个数字表示输入的开或关程度。一半开是128或32768,四分之一开是64或16384等。这个过程正好与DAC的操作相反。

        DAC和ADC不是由NAND门制成的,它们有像收音机一样的电子部件。他们如何做的我们这里不做过多论述。所以,当说计算机中的所有东西都是由NAND门构成时,是不够严谨的,但DAC和ADC只用于某些类型的外围设备,而不是计算机本身。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode 513找树左下角的值 112路径总和113路径总和ii 106从中序与后序遍历序列构造二叉树

文章目录513找树左下角的值c 代码实现python 代码实现112路径总和c 代码实现python 代码实现113路径总和iic代码实现python 代码实现106从中序与后序遍历序列构造二叉树c代码实现python 代码实现513找树左下角的值 给定一个二叉树的 根节点 root,请找出该二叉树的 …

Java 基础(继承、接口、抽象)

面试题继承继承的特点super关键字继承中变量访问特点继承中构造访问特点为什么子类中所有构造方法默认都会访问父类无参构造方法。如果父类中没有无参构造继承中成员方法访问特点重写概述应用注意事项方法重写和重载有什么区别?静态代码块、构造代码块,构…

安泰测试-安捷伦N5182A射频矢量信号发生器

产品简介: 安捷伦N5182A信号源技术支持Agilent N5182A MXG 射频矢量信号发生器 N5182A主要特性与技术指标 信号表征 100 kHz ~ 3 或 6 GH 使用高度可靠、快速切换的电子衰减器,在 3 GHz 时 >23 dBm W-CDMA 动态范围:≤-73…

指纹浏览器功能对比:AdsPower VS Multilogin

近期,Conversion Club 发起了“最佳指纹浏览器”提名评选活动,AdsPower、Dolphin 和Multilogin 并列入选,成为国际认可的专业指纹浏览器。上期,龙哥出了一篇有关AdsPower与Dolphin 的对比文章,后台收到私信问能不能也出…

7位世界著名的制图师及其相关的地图介绍

制图是地图制作的艺术和科学,而作为制图师需要注意很多的细节,包括可视化数据以及地理的全面知识等。地图在每个人的生活中都发挥着一定的影响力,尤其是对于一些著名的制图师。本文将介绍7位世界著名的制图师及其相关的地图,让我们…

鸽群优化算法(Pigeon-inspired Optimization algorithm, PIO)附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

【优雅至极】利用VSCode进行远程Linux服务器、容器开发,达到ide开发项目的效果

本文将介绍“局域网下远程ide式开发”、“公网下远程ide式开发”、“局域网下远程容器的ide式开发”、“公网下远程容器的ide式开发”这四种开发流程,让你无论在工位上还是在家中,都可以像打开本地ide那样进行远程的项目开发。 0 本地ide式开发 最方便…

自然排序与比较器排序的使用

1、自然排序:java.lang.Comparable Comparable 接口中只提供了一个方法: compareTo(Object obj) ,该方法的返回值是 int 。如果返回值为正数,则表示当前对象(调用该方法的对象)比 obj 对象“大”;反之“小”&#xff…

前端实现克里金插值分析(二)

作者:yangjunlin 在上一篇文章中我们已经使用了像素法实现克里金插值的方式,但是问题也就随之抛了出来。1.第一点,在反距离权重插值的时候,因为处理的数据量大会直接导致主线程卡,导致用户体验不好,2.第二点&#xff0…

Apache开启SSL(https)访问网站配置

前言:问题稍微有点绕,整个配置过程,测试成功 服务器的80端口分配了Apache使用了(用phpstudy运行php网站),服务器上还有(IIS网站,站点使用81端口),需要用80转81(中转代理一下到IIS访问网站,iis无需重复配置ssl设置) 就实现了:一台服务器使用2种语言(php/asp.ne…

闭环控制(自动控制理论)

目录 闭环控制 开环控制和闭环控制优缺点 闭环控制 即有被控制量反馈的控制。从系统中信号流向看,系统的输出信号沿反馈通道又回到系统的输入端,构成闭合通道,故称作为闭环控制系统,又或者称为反馈控制系统 这种控制方式&#xf…

微服务环境搭建SpringCloud入门

目录 案例准备 技术选型 模块设计 微服务调用 创建父工程 创建基础模块 创建用户微服务 创建商品微服务 创建订单微服务 我们本次是使用的电商项目中的商品、订单、用户为案例进行讲解。 案例准备 技术选型 maven:3.5.4 数据库:MySQL 5.7 持…

【矩阵论】4. 矩阵运算——广义逆——广义逆的计算

4.3.2 AA^A 计算 a. 秩1公式 若A(aij)mn,r(A)1,则A1∑∣aij∣2AH1tr(AHA)AH\begin{matrix} 若A(a_{ij})_{m\times n},r(A)1,则A^\frac{1}{\sum \vert a_{ij}\vert^2}A^H\frac{1}{tr(A^HA)}A^H \end{matrix} 若A(aij​)mn​,r(A)1,则A∑∣aij​∣21​AHtr(AHA)1​AH​ AHAA^HAA…

Qt Quick 用cmake怎么玩子项目

以往在公司开发众多的项目中,都会出现要求本项目里部分功能模块代码需要具备保密性。如果需要对外输出demo工程,那么需要做到不会泄密。 举一下爪子,以前做雷达开发的时候,客户从公司那儿买了这些雷达模块,也会需要从…

信号量的使用

信号量 英文名字:semaphore 这里的进程信号量会为下列的信号量打基础 Ucos系统的信号量c线程的信号量java进程和线程的信号量 信号量作用 当多个进程/线程进行共享操作时,用于资源保护,以防止出现相互干扰的情况 信号量用于“资源的保护“ …

图论算法大合集【包括图的dfs和bfs遍历】【欧拉回路】【判断连通图】【Dijkstra算法】【floyd算法】【最小生成树prim算法】【拓扑排序】

图论算法大合集一. dfs和bfs 过程中要有visited数组标记已遍历过的节点6-1.1 邻接矩阵存储图的深度优先遍历6-1.2 邻接表存储图的广度优先遍历二、欧拉回路(度为偶数,且为连通图)6-1.3 哥尼斯堡的“七桥问题”三、判断连通图6-1.4 地下迷宫探…

进程调度的基本关系

文章目录1.什么是进程(process)2.进程的特性1.进程是非常重要的"软件资源"2.PCB(进程控制块)描述了哪些进程特征3.并行和并发4.进程的虚拟地址空间和进程间通信1.什么是进程(process) 简单来说就是:一个程序跑起来就是一个进程 一个应用没跑起来叫做程序,跑起来了就…

堆排序算法

一、大顶堆和小顶堆概念 堆排序是利用堆数据结构而设计的一种排序算法,堆排序是一种选择排序,其最坏,最好,平均时间复杂度均为O(nlogn),同时也是不稳定排序。 堆是具有以下性质的完全二叉树:每个结点的值都…

Hive数据定义语言-DDL-建表高阶语法(内外部、分区、分桶、事务、视图、物化视图)

文章目录1. 内部表、外部表1.1 内部表1.2 外部表1.3 内、外部表差异1.4 Location关键字的作用2. 分区表-Partitioned Tables2.1 概念2.2 创建2.3 分区表数据加载2.3.1 静态分区2.3.2 动态分区2.4 注意事项3. 分桶表-Bucketed Tables3.1 概念3.2 规则3.3 语法3. 事务表-Transact…

编译openMVG出现的错误的解决

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> submodule(s) are missing, please update your repository 在使用CMake生成openMVG解决方案时,出现错误: CMake Error at CMakeL…