Computer science 是什么在通过计算机中的指令(二进制代码)获取信息的同时打开和关闭晶体管(门)

Computer science 是什么在通过计算机中的指令(二进制代码)获取信息的同时打开和关闭晶体管(门),computer-science,cpu-architecture,Computer Science,Cpu Architecture,我正在网上学习一门计算机架构课程,他们教的内容包括计算机如何工作,从盖茨到构建cpu并使其工作。 我知道我们把指令集放在内存中,内存中包含寄存器,这些寄存器通过控制总线馈送到cpu中的每个单元,我们使用PC、ALU、寄存器、数据存储器、程序存储器,在这些单元的帮助下,cpu工作。我了解所有这些,但我对门和晶体管很好奇,它们是如何工作的。 然后我读了一些关于门的基础知识,比如晶体管、FET、TTL、CMOS和它们的门电路。在那里,我看到晶体管或栅极接收高电压和低电压的输入,并以0和1的形式输出 但

我正在网上学习一门计算机架构课程,他们教的内容包括计算机如何工作,从盖茨到构建cpu并使其工作。 我知道我们把指令集放在内存中,内存中包含寄存器,这些寄存器通过控制总线馈送到cpu中的每个单元,我们使用PC、ALU、寄存器、数据存储器、程序存储器,在这些单元的帮助下,cpu工作。我了解所有这些,但我对门和晶体管很好奇,它们是如何工作的。 然后我读了一些关于门的基础知识,比如晶体管、FET、TTL、CMOS和它们的门电路。在那里,我看到晶体管或栅极接收高电压和低电压的输入,并以0和1的形式输出

但我的问题是,首先我们如何将这些指令设置为0和1。为了生成二进制代码,我们需要打开或关闭(高或低)输入,以获得二进制形式的输出,该输出随后将存储在寄存器中,然后馈送到计算机单元。 首先,我们如何创建输入,就像制作一个二进制代码需要在输入时同时打开和关闭,谁在输入时同时打开和关闭电路?

可能是一个复制品

或者,因为你首先要问的是0/1是如何进入计算机的,早期的计算机有前面板开关,可以直接将逻辑输入连接到电源导轨或接地,直接提供低压或高压。这有照片

在更现代的机器上,我们的键盘通过接通或断开电气连接、将键盘控制器中的输入引脚拉高(如通过上拉电阻器)或拉低(接地)来工作


我们也有计算机内存,它通过输出低电压或高电压作为数据来响应地址线上的信号。例如,最简单的一种编程方法就是在芯片中“熔断保险丝”。i、 e.将该地址的位连接到电源电压的熔丝。因此,当您通过驱动地址线低或高来读取它时,您会在数据引脚上获得低或高电压输出

更现代的内存技术只是更为奇特的版本。e、 g.电可擦除PROM或闪光灯。或易失性/DRAM,它将保存存储在其中的数据,但在电源故障时丢失。SRAM单元可以由几个晶体管构成

在启动/复位时,CPU有一个硬编码地址,它从复位向量(“跳到”)读取代码。它将从这个地址获取字节,并将它们作为指令进行解码。将向量重置到CPU中的硬编码只是一些布线(或硅路径)连接方式的函数。这和ROM中的一些代码,是计算机自我引导和加载更多代码所需的全部,例如,从磁盘或其他地方。(CPU通过I/O指令与磁盘控制器对话,或者磁盘控制器可以将DMA数据输入RAM供CPU读取。)显然,数据总线的通信涉及对应于逻辑1和0位的低电压和高电压电平,或者一些更复杂的编码


所有这些电子可编程的东西都很棒,但它们是如何开始的呢?

您可以手动构建内存,而不是对其进行电子编程。例如,阿波罗计划的制导计算机使用绳索存储器我找到了一些关于他们的记忆是如何建立的视频,通过手工将电线以这样或那样的方式缠绕在一起,对手写的机器代码进行编码。

其他早期的计算机记忆包括穿孔卡片或纸带等


穿孔卡可以手工穿孔,穿孔卡读取器可以机械地将孔的图案转换为低电压和高电压/位的图案,CPU可以通过I/O指令读取。

观看此YT播放列表@Dougie谢谢也许会有帮助谢谢。我会读它,它似乎很有帮助,可能会解决我所有的疑问