电脑中的数据输出和数据存储是怎么实现的
2011-04-21 14:24
323 查看
主要理论: 数据存储:磁头的正负 数据传输:电平的高低 数据处理:逻辑门电路
1和0在电路中具体的表现形式是高电平和低电平 在磁盘中的具体表现形式是磁柱方向 在处理方式上是通过逻辑门电路 上电之后电路中就存在一定的电压,而电路元件就跟据电压的高低来判断是1还是0。以TTL电平来说(这是IEEE规定的一种以电压规定),电源电压是+5V,如果电压在1.3V以下就认为是0,3.3V以上就认为是1,1.3V-3.3V之间就认为信号是错误的。 当然还有一些其他的电平标准,比如0-12V,-12V-+12V等 而1和0在磁盘中储存的具体形式是磁极的正反. 存储设备分为两种,RAM(Random Access Memory)和ROM(Read Only Memory),RAM中存储的信息掉电就丢失(内存、显存、高速缓存等),而ROM中存储的信息在掉电之后仍然保存(硬盘、光盘、闪存等外部存储器)。 这两种存储设备的共同点是都有许多磁头,当一定的电流通过线圈时,磁头的极性就会改变。如果规定一种极性是0,那么另一种极性就是1。 而CUP处理电流信号的方式归根到底是通过逻辑门电路 通过一些特殊的电路结构,可以实现与,或,非三种基本逻辑,即 与(or):只有两个输入都为高电平时,输出才是高电平,两个输入中任意一个是低电平或都是低电平时,输出都是低电平 或(and):只有两个输入都为低电平时输出才是低电平,任意一个输入是高电平或者两个都是高电平时输出就是高电平 非(not):高电平进,低电平出;低电平进,高电平出 如果把他们的真值表都写出来就是 1 and 1 = 1 1 and 0 = 0 0 and 1 = 0 0 and 0 = 0 1 or 1 = 1 1 or 0 = 1 0 or 1 = 1 0 or 0 = 0 not(1) = 0 not(0) = 1 实现方法我就不说了,没图不太好解释清楚。其实只要有与和非,或者或和非,就可以实现另一种基本逻辑,所以基本逻辑只有两种。 有了与和非就可以实现另外两种逻辑,同或(xnor)和异或(xor) 异或是指当两个输入不同时输出为1,两个输入相同时输出为0 同或相反,两个输入相同时输出为1,两个输入不同时输出为0 真值表: 1 xnor 1 = 1 1 xnor 0 = 0 0 xnor 1 = 0 0 xnor 0 = 1 1 xor 1 = 0 1 xor 0 = 1 0 xor 1 = 1 0 xor 0 = 0 这两种逻辑用三种基本逻辑来表达,应该是: a xor b = (a and not(b)) or (not(a) and b) a xnor b = (a and b) or (not(a) and not(b)) 注意到异或xor的逻辑和二进制加法很像,只是没有进位,而进位发生在两个输入都为1时,即两个输入相与。所以一个异或门加上一个与门就可以构成一位二进制加法器。可以说异或逻辑是构成电子计算机的最基本单元 不过这个加法器没有考虑到下一位的进位,所以叫做半加器,一个完整的加法逻辑应该是 得数=被加数+加数+进位 所以以a和b表示加数和被家输,C0表示低位的进位,C1表示这一位向上的进位,一个全加的逻辑应该是 a + b = a xor b xor c0 c1 = (a and b) or (b and c0) or (c0 and a) 将n个全加器并联,就得到了一个n位加法器,我们现在使用的x86 CPU是32位的,就是一次可以处理一个32位加法。 有了加法器就可以实现减法,这个只要规定最高位为符号位就可以了。也可以实现乘法,乘法实际就是移位相加。 再往下就不说了,已经到了机器语言这一层了。 总结一下 数据存储:磁头的正负 数据传输:电平的高低 数据处理:逻辑门电路
嗯,我们这个学期学了数字电路,不过我只能解答你其中的部分问题 首先,线代电子计算机的核心确实是二进制,而且是二进制门电路。所谓门电路,就是与门、或门这样的做二进制运算的一个器件,比如1与0为0这样的结果。那么很多的与门、或门以及其他的比如与非、异或这样的基本的门,就能组成各种各样功能的小电路,比如加法器啊,编码器啊,译码器啊,通过简单的数学布尔函数运算,都能够用最简单的门来实现 寄存器(用来存储一个bit的)是计算机中非常重要的一个器件,不像其他的元件,他可以存储信息,因为引入了时钟触发机制和反馈,寄存器能按照人们的要求更改或者保留自己的信息0或者1。许许多多的寄存器,又可以构成存储器、计数器等计算机的基本元件。 而我想,汇编语言的一些操作指令、数据地址都是会事先被翻译成机器语言,再交给CPU分配处理吧
硬盘数据存储原理 硬盘是一种采用磁介质的数据存储设备,数据存储在密封于洁净的硬盘驱动器内腔的若干个磁盘片上。这些盘片一般是在以铝为主要成分的片基表面涂上磁性介质所形成,在磁盘片的每一面上,以转动轴为轴心、以一定的磁密度为间隔的若干个同心圆就被划分成磁道(track),每个磁道又被划分为若干个扇区(sector),数据就按扇区存放在硬盘上。在每一面上都相应地有一个读写磁头(head),所以不同磁头的所有相同位置的磁道就构成了所谓的柱面(cylinder)。传统的硬盘读写都是以柱面、磁头、扇区为寻址方式的(CHS寻址)。硬盘在上电后保持高速旋转(5400转/min以上),位于磁头臂上的磁头悬浮在磁盘表面,可以通过步进电机在不同柱面之间移动,对不同的柱面进行读写。所以在上电期间如果硬盘受到剧烈振荡,磁盘表面就容易被划伤,磁头也容易损坏,这都将给盘上存储的数据带来灾难性的后果。 内存的存储原理 内存,英文名为RAM(Random Access Memory),全称是随机存取存储器。主要的作用就是存储代码和数据供CPU在需要的时候调用。但是这些数据并不是像用木桶盛水那么简单,而是类似图书馆中用有格子的书架存放书籍一样,不但要放进去还要能够在需要的时候准确的调用出来,虽然都是书但是每本书是不同的。对于内存等存储器来说也是一样的,虽然存储的都是代表0和1的代码,但是不同的组合就是不同的数据。让我们重新回到书和书架上来。 如果有一个书架上有10行和10列格子(每行和每列都有0~9编号),有100本书要存放在里面,那么我们使用一个行的编号和一个列的编号就能确定某一本书的位置。如果已知这本书的编号36,那么我们首先锁定第3行,然后找到第6列就能准确的找到这本书了。 在内存中也是利用了相似的原理现在让我们回到内存上,对于它而言数据总线是用来传入数据或者传出数据的。因为存储器中的存储空间是如果前面提到的存放图书的书架一样通过一定的规则定义的,所以我们可以通过这个规则来把数据存放到存储器上相应的位置,而进行这种定位的工作就要依靠地址总线来实现了。 对于CPU来说,内存就像是一条长长的有很多空格的“线”,每个空格都有一个唯一的地址与之相对应。如果CPU想要从内存中调用数据,它首先需要给地址总线发送地址数据定位要存取的数据,然后等待若干个时钟周期之后,数据总线就会把数据传输给CPU。当地址解码器接收到地址总线送来的地址数据之后,它会根据这个数据定位CPU想要调用的数据所在的位置,然后数据总线就会把其中的数据传送到CPU。 CPU在一行数据中每次知识存取一个字节的数据。会到实际中,通常CPU每次需要调用64bit或者是128bit的数据(单通道内存控制器为64bit,双通道为128bit)。如果数据总线是64bit的话,CPU就会在一个时间中存取8个字节的数据,因为每次还是存取1个字节的数据,64bit总线将不会显示出来任何的优势,工作的效率将会降低很多。这也就是现在的主板和CPU都使用双通道内存控制器的原因。 光盘 存储原理 有一类非磁性记录介质,经激光照射后可形成小凹坑,每一凹坑为一位信息。这种介质的吸光能力强、熔点较低,在激光束的照射下,其照射区域由于温度升高而被熔化,在介质膜张力的作用下熔化部分被拉成一个凹坑,此凹坑可用来表示一位信息。因此,可根据凹坑和未烧蚀区对光反射能力的差异,利用激光读出信息。 工作时,将主机送来的数据经编码后送入光调制器,调制激光源输出光束的强弱,用以表示数据1和0;再将调制后的激光束通过光路写入系统到物镜聚焦,使光束成为1大小的光点射到记录介质上,用凹坑代表1,无坑代表0。读取信息时,激光束的功率为写入时功率的1/10即可。读光束为未调制的连续波,经光路系统后,也在记录介质上聚焦成小光点。无凹处,入射光大部分返回;在凹处,由于坑深使得反射光与入射光抵消而不返回。这样,根据光束反射能力的差异将记录在介质上的“1”和“0”信息读出 我只能帮你这些,分随你给吧!呵呵。。
网卡将数字信号0,1转换成为了数字信号调制高频载波,以波形向外传送,因此具有波形的衰减特征,所有双绞线连接计算机有距离的限制,如果距离过于长,需要中继来支持。,详细的内容你可以查看:http://zhidao.baidu.com/question/4440201.html一般波峰表示1,波谷表示0。 所以普通的网络线路是不安全的,可以用特殊的设备进行监听与截取从而获知网络传输的数据,于是就产生了各种加密算法,将网络数据加密后再传输。
相关文章推荐
- 使用结构体实现数据的存储与输出
- 用JAVA如何实现每天1亿条记录的数据存储,数据库方面怎么设计?
- 怎么在存储里把数据0.123185以百分比12.3185%输出?
- 【IOS功能实现】之 NSUserDefaults的用法(轻量级本地数据存储)
- 数据结构之---C语言实现二叉树的顺序存储
- Android实现数据存储技术
- 利用HttpSessionListener监听器实现用户数据存储
- android 数据存储<二>---- SharedPreferences实现数据的存储
- 仿电商应用中搜索模块的实现【GreenDao数据库存储数据】
- 爬虫代码实现四:采用Hbase存储爬虫数据(1)
- SystemVerilog中结合interface实现输出数据总线的功能(1)
- Sql语句与存储过程查询数据的性能测试实现代码
- JavaScript+IndexedDB实现留言板:客户端存储数据
- 实现千万级数据的分页通用存储过程
- Android实现数据存储技术
- Swift实现数据的存储
- 实现小数据量和海量数据的通用分页显示存储过程
- 给定一个一oracle建表的sql语句,解析读出的字符串,将表名、字段名、字段类型数据取出,怎么实现啊?
- SharedPreferences ,用于存储、获取数据,实现登录功能
- 【一个批量计算的调度系统的设计与实现】如果需要对成千上万的网络抓包数据文件在规定的时间内进行解析,应该怎么做?