寄存器的讲解

转自 下面我们就来介绍一下关于寄存器的相关内容。我们知道,寄存器是 CPU 内部的构造,它主要用于信息的存储。除此之外,CPU 内部还有运算器,负责处理数据;控制器控制其他组件;外部总线连接 CPU 和各种部件,进行数据传输;内部总线负责 CPU 内部各种组件的数据处理。 那么对于我们所了解的汇编语言来说,我们的主要关注点就是 寄存器。 为什么会出现寄存器?因为我们知道,程序在内存中装载,由 CPU 来运行,CPU 的主要职责就是用来处理数据。那么这个过程势必涉及到从存储器中读取和写入数据,因为它涉及通过控制总线发送数据请求并进入存储器存储单元,通过同一通道获取数据,这个过程非常的繁琐并且会涉及到大量的内存占用,而且有一些常用的内存页存在,其实是没有必要的,因此出现了寄存器,存储在 CPU 内部。 认识寄存器 寄存器的官方叫法有很多,Wiki 上面的叫法是 Processing Register, 也可以称为CPU Register,计算机中经常有一个东西多种叫法的情况,反正你知道都说的是寄存器就可以了。 认识寄存器之前,我们首先先来看一下 CPU 内部的构造。 CPU 从逻辑上可以分为 3 个模块,分别是控制单元、运算单元和存储单元,这三部分由 CPU 内部总线连接起来。 几乎所有的冯·诺伊曼型计算机的 CPU,其工作都可以分为5个阶段:「取指令、指令译码、执行指令、访存取数、结果写回」。 计算机架构中的寄存器 寄存器是一块速度非常快的计算机内存,下面是现代计算机中具有存储功能的部件比对,可以看到,寄存器的速度是最快的,同时也是造价最高昂的。 我们以 intel 8086 处理器为例来进行探讨,8086 处理器是 x86 架构的前身。在 8086 后面又衍生出来了 8088 。 在 8086 CPU 中,地址总线达到 20 根,因此最大寻址能力是 2^20 […]

ROM与RAM

转自 一文为你讲解清楚: RAM、SRAM、DRAM、SDRAM、DDR SDRAM ROM、PROM、EPROM、EEPROM、NAND flash、NOR flash ROM和RAM指的都是半导体存储器。ROM是Read OnlyMemory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。 RAM RAM 有两大类。一种称为静态RAM(StaticRAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快。 DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDRRAM。 DDR RAM(Double-Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM,和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用得最多的内存,而且它有着成本优势。在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。 ROM ROM:只读存储器的总称。 PROM:可编程只读存储器,只能写一次,写错了就得报废,现在用得很少了。 EPROM:可擦除可编程存储器,这东西也比较古老了,是EEPROM的前身,在芯片的上面有个窗口,通过紫外线的照射来擦除数据。非常麻烦。 EEPROM:电可擦除可编程只读存储器,比之EPROM就先进点了,可以用电来擦除里面的数据,也是现在用得比较多的存储器,比如24CXX系列的EEPROM。(现在用的最多,小型存储器) Flsah FLASH 存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM 的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。 目前Flash主要有两种 ,NOR Flash (小、贵)和 NADN Flash (大,便宜)。NAND FLASH和NOR FLASH 都是现在用得比较多的非易失性闪存(ROM)。 NOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。 NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还作上了一块小的NOR Flash来运行启动代码。 一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NAND FLASH,最常见的NAND FLASH应用是嵌入式系统采用的DOC(Disk On […]

服务器硬件扫盲

下一步。花点小钱,搞个服务器。(如果可以的话,把手里的扩展坞和显卡买了。可以买个相当不错的二手服务器了) 很多架构师都是从软件开发成长起来的,大家在软件领域都有很深的造诣,大部分人对硬件接触的很少。而成为架构师后需要频繁的跟人 、硬件 、软件 、网络打交道,本篇文章就给大家带来服务器硬件方面的相关知识,主要包括服务器、CPU、内存、磁盘、网卡。 服务器 根据服务器的外形和使用场景我们将服务器分为以下四种: 塔式服务器塔式服务器类似于台式机,主要适用于没有机房机架的公司,一般存放于中小办公环境。 机架式服务器机架式服务器需要放置在标准机柜中,多存放于数据中心。 刀片服务器刀片服务器为了提供更高的密度,它比机架式服务器更节省空间,同时,散热问题也更突出,往往要在机箱内装上大型强力风扇来散热,一般应用于大型的数据中心或者需要大规模计算的领域。 高密度服务器高密度服务器是为了实现更高的空间利用率。 主板架构 服务器的机箱只是外壳,核心架构还是主板。 主板架构 这个图是Intel典型的主板芯片组架构:服务器的主板有个统一的中央芯片组(Intel C600),芯片组可以连接多个CPU(E5-2400/2600),CPU之间通过QPI快速通道进行连接,CPU与内存插槽,PCIE插槽之间连接,芯片组还与低速的外设进行连接(USB、网卡、SATA等)。 服务器选型考虑因素 做服务选型主要基于以下几个方面: 限制条件:操作系统OS、客户喜好及预算、应用系统的编程语言 部署规模:如果规模较大,需要考虑空间占用问题,可考虑刀片或高密度服务器 扩展性:内存数量、磁盘数量、PCI插槽数量 稳定性 – OS:UNIX > Linux > Windows 硬件:小型机 > x86服务器 物理机、虚拟机、容器 – 计算特点的考虑:是要将一个大的计算能力进行分割,灵活分配,还是有一个很大的课题要用多台机器联合计算 IO特点的考虑:吞吐率与IOPS多大?虚拟机能否承受? 服务器厂商 国内的服务器厂商主要有:曙光、华为、浪潮、H3C、联想、长城等 国外的服务器厂商主要有:Dell、HP、IBM CPU CPU作为服务器的核心固件,我们主要通过以下几个概念来了解: Socket Socket俗称多少路,就是一个服务器主板上可以安装几个物理CPU Core 一个物理CPU实际可以有几个内核(Core),比如我们经常听到的32核64核、128核等等 超线程 如果一个内核可以同时运行2个线程我们就称这个CPU具有超线程能力,反之则不具备超线程能力 频率 也叫主频,这个越高越好 内存通道 每个CPU能支撑的最大内存数,Intel最新的能支持6个 内存带宽、内存规格 CPU支持什么规格的内存,支持的频率范围是多少 以上的这些概念数据可以通过CPU的产品规格书中进行详细了解。在服务器上可以通过 lscpu 命令查看cpu信息 […]

lWoHvYe 无悔,专一