CMOS内存的读写和修改

CMOS内存的读写和修改
CMOS内存的读写和修改

一、CMOS内存信息详解

一般的PC/AT、286、386、486等微机均配有CMOS芯片,CMOS芯片包含了一个实时钟和64个字节的CMOS内存。在CMOS内存中,0-0DH为实时钟的有关信息,0E-?3FH包含计算机的硬件配置信息,如常规内存的大小、扩展

内存的大小、软盘的类型、固定盘的类型及其物理参数、显示器的类型等,这些参数与计算机能否正常工作具

有密切的关系,另外还有计算机的开机口令和其它辅助设置信息。表1列出了?CMOS内存各字节的用途。

表1 CMOS内存配置信息的含义

┌───┬──────┬──────────────────────┐

│地址*│ 功能│ 说明│

├───┼──────┼──────────────────────┤

│ 0,1 │秒,秒报警│ │

│ 2,3 │分,分报警│ │

│ 4,5 │时,时报警│ │

│ 6 │星期几│ │

│7,8,9 │日,月,年│ │

│ A │状态寄存器A │ │

│ B │状态寄存器B │ │

│ C │状态寄存器C │ │

│ D │状态寄存器D │0=电池失效,80=电池有效│

│ E │诊断状态│ │

│ F │关机状态│由上电诊断定义│

│ 10 │软驱│高4位为A驱,低4位为B驱,0=无,1=360KB, │

│ │ │ 2=1.2KB,4=1.44KB,6=720KB │

│ 11 │保留│ │

│ 12 │固定盘│高4位为C驱,低4位为D驱,0=无,F=用户定义盘, │

│ │ │ 其它为系统定义盘│

│ 13 │保留│ │

│ 14 │设备状态│标志驱动器数、显示器类型、有无数学处理器等│

│ 15-16│内存│以KB计的常规内存数,100H=256KB,200H=512KB, │

│ │ │ 280H=640KB │

│ 17-18│扩展内存│以KB计的扩展内存数,200H=512KB,400H=1024KB等│

│ 19 │C盘类型数│根据具体硬盘类型而定│

│ 1A │D盘类型数│根据具体硬盘类型而定│

│ 1B-1C│保留│ │

│ 1D-1E│C盘柱体数│1D-2CH只有当硬盘为用户自定义类型时起作用│

│ 1F │C盘面数│ │

│ 20-21│C盘WP │ │

│ 22-23│C盘LZ │ │

│ 24 │C盘每柱扇区│ │

│ 25-26│D盘柱体数│ │

│ 27 │D盘面数│ │

│ 28-29│D盘WP │ │

│ 2A-2B│D盘LZ │ │

│ 2C │D盘每柱扇区│ │

│ 2D │保留│ │

│ 2E-2F│校验和│为10-2DH共30个字节的和数,2EH为高位,2FH为低位│

│ 30-31│扩展内存│ │

│ 32 │日期的世纪数│BCD码的世纪值,如1995年的世纪数为19 │

│ 33 │标志信息│ │

│ 34-3F│保留│ │

└───┴──────┴──────────────────────┘

* 地址栏均为16进制表示

二、读写CMOS内存的方法

CMOS内存的地址口和数据口的口地址分别为70H和71H。在对CMOS内存进行写操作时,首先将要写入的CMOS内存的地址送到口地址70H,再将要写入的数据送口地址71H。在对CMOS内存进行读操作时,首先将要读出的CMOS内存的地址送到口地址70H,再从口地址71H读出数据到AL寄存器。

三、程序设计与使用

为了方便系统信息丢失后CMOS信息的恢复,作者用TURBO C ?2.?0?设计了一个CMOS.C的程序,它可以将CMOS内存中的信息直接写入文件,也可以把文件中的信息写入CMOS内存,同时可以对CMOS内存中的信息进行编辑修改,并重新写回CMOS内存。它不仅解决了没有SETUP程序的计算机在加电时不能设置CMOS内存的问题,同时解决了CMOS信息的保存和恢复问题,是广大计算机用户的一个好帮手。

该程序的使用很简单,在DOS提示符下打CMOS,即显示该程序的使用方法,?具体使用方法是:

CMOS [/开关]

开关有3个:

R --- 读取CMOS内存信息,并将其存入CMOS.DAT的文件,共占64个字节。

W --- 从CMOS.DAT中读取信息,并将其写入CMOS内存。注意这样写入的CMOS信息,其时间和日期是不正确的,写完之后应当用DOS命令DATE和TIME?设置正确的日期和时间。

M --- 从CMOS中读取当前信息,进行修改,然后将其写入CMOS内存和CMOS.DAT的文件。

四、源程序清单

/********************************************************/

/* 程序名称: CMOS.C 1.0 */

/* 作者: 董占山 */

/* 完成日期: 1995-10-17 */

/* 用途: 读、写、修改CMOS内存信息 */

/* 编译方法: 用下列命令编译连接可以得到https://www.360docs.net/doc/1312690188.html,: */

/* tcc -mt cmos */

/* tlink c:\tc\lib\c0t+cmos,cmos,,c:\tc\lib\cs\lib /t */

/******************************************************* */

#include

#include

#include

struct hdinfo { /* 硬盘物理参数结构体 */

unsigned int Cylinder; /* 硬盘柱体数 */

unsigned char Head; /* 面数 */

unsigned int WP;

unsigned int LZ;

unsigned char Sector; /* 扇区数 */

};

struct TCMOSStruc /* CMOS RAM信息结构体 */

{

unsigned char Seconds; /* 实时钟秒数 */

unsigned char SecondAlarm; /* 秒报警 */

unsigned char Minutes; /* 实时钟分数 */

unsigned char MinuteAlarm; /* 分报警 */

unsigned char Hours; /* 实时钟小时数 */

unsigned char HourAlarm; /* 时报警 */

unsigned char DayOfWeek; /* 周几 */

unsigned char DayOfMonth; /* 号数 */

unsigned char Month; /* 月份 */

unsigned char Year; /* 年份 */

unsigned char StatusRegA; /* 状态寄存器A */

unsigned char StatusRegB; /* 状态寄存器B */

unsigned char StatusRegC; /* 状态寄存器C */

unsigned char StatusRegD; /* 状态寄存器D */

unsigned char DiagStatus; /* 诊断状态 */

unsigned char ShutDownStatus; /* 关机状态 */

struct {

unsigned FloppyDrive2 : 4;/* 第二软驱的类型 */

unsigned FloppyDrive1 : 4;/* 第一软驱的类型 */

} fd;

unsigned char Reserved1; /* 保留 */

unsigned FixedDrive2 : 4; /* 第二硬盘的类型 */

unsigned FixedDrive1 : 4; /* 第一硬盘的类型 */

} hd;

unsigned char Reserved2; /* 保留 */

struct {

unsigned diskdrv : 1; /* 磁盘驱动器 */

unsigned mpu : 1; /* 数学处理器 */

unsigned : 2; /* 保留 */

unsigned videotype : 2; /* 当前显示类型 */

unsigned numdrive : 2; /* 磁盘驱动器的数目 */

} equipment;

unsigned int RAM; /* 基本内存KB数 */

unsigned int XMS; /* 扩充内存KB数 */

unsigned char FixedDriveType1; /* 驱动器C扩展字节 */

unsigned char FixedDriveType2; /* 驱动器D扩展字节 */

unsigned int Reserved3; /* 保留 */

struct hdinfo hd1; /* 硬盘C的物理参数 */

struct hdinfo hd2; /* 硬盘D的物理参数 */

unsigned char Sys; /* 系统字节 */

unsigned int CheckSum; /* 校验和 */

unsigned int XMS1; /* 扩展内存KB数 */

unsigned char DateCentury; /* 世纪的BCD值 */

unsigned char InfoFlags; /* 信息标志 */

unsigned char Reserved4[4]; /* 保留 */

unsigned char password[8]; /* 口令字节 */

};

struct TCMOSStruc CMOSRec;

/* 获取文件名函数 */

char *getfilename()

{

char ch,flnm[80];

printf("\nPlease input the drive name (A/B/C/D): ");

while ((ch=getchar())=='\n');

printf("\n");

flnm[0]=ch;

flnm[1]='\0';

strcat(flnm,":\\CMOS.DAT");

return flnm;

}

/* 从文件(CMOS.DAT)中读出信息 */

void ReadFile()

{

FILE *f1;

char flnm[80];

strcpy(flnm,getfilename());

if ((f1 = fopen(flnm,"rb"))==NULL) { /* 打开一个二进制文件 */

printf("File not found !");

exit(0);

}

fread(&CMOSRec,sizeof(CMOSRec),1,f1); /* 从文件中读CMOS内存信息 */ fclose(f1);

}

/* 将从CMOS内存中读出的信息写入文件 */

void WriteFile()

{

char flnm[80];

strcpy(flnm,getfilename());

if ((f1 = fopen(flnm,"wb"))==NULL) { /* 建立一个二进制文件 */

printf("File does not opened !");

exit(1);

}

fwrite(&CMOSRec,sizeof(CMOSRec),1,f1) ; /* 写CMOS内存信息记录到文件 */ fclose(f1);

}

/* 从CMOS内存中读信息 */

void ReadCMOS()

{

asm mov di,offset CMOSRec

asm mov cx,0x40

asm mov ah,0

asm mov bx,0

asm mov dx,0x70 /* CMOS口地址 */

l1:

asm mov al,ah

asm out dx,al

asm inc dx

asm in al,dx

asm mov BYTE PTR [di+BX],al

asm inc ah

asm inc bx

asm dec dx

asm loop l1

}

/* 向CMOS内存写入信息 */

void WriteCMOS()

{

asm mov di,offset CMOSRec

asm MOV CX,0x40

asm MOV AH,0

asm MOV BX,0

asm MOV DX,0x70

_L1:

asm MOV AL,AH

asm OUT DX,AL

asm MOV AL,BYTE PTR [di+BX]

asm INC DX

asm OUT DX,AL

asm INC AH

asm INC BX

asm DEC dX

asm loop _L1

}

/* 显示软盘信息 */

void DisplayFloppyDrive(FloppyDriveType,Order)

unsigned char FloppyDriveType,Order;

{

if (FloppyDriveType != 0) {

printf("\nFloppy Drive %d : ",Order);

switch (FloppyDriveType) {

case 1 : printf("360KB 5.25'");break;

case 2 : printf("1.2MB 5.25'");break;

case 4 : printf("1.44MB 3.5'");break;

case 6 : printf("720KB 3.5'");break;

}

}

}

/* 显示硬盘信息 */

void DisplayHardDiskInfo(HDType,HDInfoRec,Order)

unsigned char HDType;

struct hdinfo HDInfoRec;

unsigned char Order;

{

printf("\nFixed Drive %d: %d",Order,HDType);

printf("\n Cylinder : %d",HDInfoRec.Cylinder);

printf("\n Head : %d",HDInfoRec.Head);

printf("\n Sector: %d",HDInfoRec.Sector);

printf("\n LZ: %d",HDInfoRec.LZ);

printf("\n WP: %d",HDInfoRec.WP);

}

/* 显示CMOS内存信息 */

void DisplayCMOS()

{

int i;

printf("\nCMOS RAM information:");

printf("\nDate(MM-DD-YY): %d%d-%d%d-%d%d",CMOSRec.Month>>4,CMOSRec.Month & 0xf,

CMOSRec.DayOfMonth>>4,CMOSRec.DayOfMonth & 0xf,

CMOSRec.Year>>4,CMOSRec.Year & 0xf);

printf("\nTime(HH:MM:SS): %d%d:%d%d:%d%d",CMOSRec.Hours>>4,CMOSRec.Hours & 0xf,

CMOSRec.Minutes>>4,CMOSRec.Minutes & 0xf,

CMOSRec.Seconds>>4,CMOSRec.Seconds & 0xf);

printf("\nConventional Memory: %d KB",CMOSRec.RAM);

printf("\nExtended Memory: %d KB",CMOSRec.XMS);

if (CMOSRec.hd.FixedDrive1 != 0) DisplayHardDiskInfo(CMOSRec.FixedDriveType1,CMOSRec.hd1,1); if (CMOSRec.hd.FixedDrive2 != 0) DisplayHardDiskInfo(CMOSRec.FixedDriveType2,CMOSRec.hd2,2);

DisplayFloppyDrive(CMOSRec.fd.FloppyDrive1,1);

DisplayFlop pyDrive(CMOSRec.fd.FloppyDrive2,2);

printf("\nScan code of password:");

for (i=0;i<8;++i) printf(" %d",CMOSRec.password);

printf("\nThe number of disk drives : %d",CMOSRec.equipment.numdrive);

printf("\nVideo Type : %d",CMOSRec.equipment.videotype);

printf("\nMath co-processor present :");

if (CMOSRec.equipment.mpu==1) printf("YES"); else printf("NO");

printf("\nDisk drives : %d",CMOSRec.equipment.diskdrv);

}

/* 修改硬盘信息 */

void ModifyHDParam(HDType,HDInfoRec,Order)

unsigned char *HDType;

struct hdinfo *HDInfoRec;

unsigned char Order;

{

int i,j;

printf("\nType of Fixed Disk %d : (%d) : ",Order,*HDType);

scanf("%d",HDType);

printf("\n Cylinder (%d) : ",HDInfoRec->Cylinder);

scanf("%d",&HDInfoRec->Cy linder);

printf("\n Head (%d) : ",HDInfoRec->Head);

scanf("%d",&i);

HDInfoRec->H ead = i;

printf("\n Sector (%d) : ",HDInfoRec->Sector);

scanf("%d",&j);

HDInfoRec-> ;Sector = j;

printf("\n LZ (%d) : ",HDInfoRec->LZ);

scanf("%d",&HDInfoRec->LZ);

pr intf("\n WP (%d) : ",HDInfoRec->WP);

scanf("%d",&HDInfoRec->WP);

}

/* 修改软盘信息 */

void ModifyFDParam(FloppyDriveType,Order)

unsigned char FloppyDriveType,Order;

{

unsigned char i;

printf("\nFloppy Drive %d (",Order);

switch (FloppyDriveType) {

case 1 : printf("1---360KB 5.25') :");break;

case 2 : printf("2---1.2MB 5.25') :");break;

case 4 : printf("4---1.44MB 3.5') :");break;

case 6 : printf("6---720KB 3.5') :");break;

}

while ((i=getchar())=='\n');

if (Order==1)

CMOSRec.fd.FloppyDrive1=i;

else

CMOSRec.fd.Flo ppyDrive2=i;

}

/* 修改协处理器信息 */

void ModifyMPU()

{

char ch;

printf("Is there a math co-processor (Y/N) :");

while ((ch=getchar())=='\n');

if ((ch=='Y') || (ch=='y'))

CMOSRec.equipment.mpu=1;

else

CMOSRec.equipmen t.mpu=0;

}

/* 修改CMOS内存信息 */

void ModifyCMOS()

{

unsigned int i;

unsigned char *data,temp;

data = &CMOSRec;

printf("\nPlease input CORRECT CMOS information !!!\n");

printf("\nConventional Memory (%d KB) : ",CMOSRec.RAM);

scanf("%d",&CMOSRec.RAM);

printf("\nEx tended Memory (%d KB) : ",CMOSRec.XMS);

scanf("%d",&CMOSRec.XMS);

if (CMOSRec.hd.FixedDrive1 != 0) ModifyHDParam(&CMOSRec.FixedDriveType1,&CMOSRec.hd1, 1); if (CMOSRec.hd.FixedDrive2 != 0) ModifyHDParam(&CMOSRec.FixedDriveType2,&CMOSRec.hd2, 2); if (CMOSRec.FixedDriveType1!=0) CMOSRec.hd.FixedDrive1 = 0xf;

if (CMOSRec.FixedDriveType2!=0) CMOSRec.hd.FixedDrive2 = 0xf;

ModifyFDParam(CMOSRec.fd.FloppyDrive1,1);

ModifyFDPar am(CMOSRec.fd.FloppyDrive2,2);

ModifyMPU();

CMOSRec.CheckS um = 0;

for (i=16;i<46;++i) CMOSRec.CheckSum+=data; /* 计算校验和 */

temp = data[46];

data[46] = data[47];

data[47] = temp;

}

/* 显示程序帮助信息 */

void help()

{

printf("Syntex:\n");

printf(" CMOS /R --- read information from CMOS RAM \n");

printf(" and write it to CMOS.DAT file \n");

printf(" CMOS /W --- read configuration information from CMOS.DAT\n"); printf(" and write it to CMOS RAM\n");

printf(" CMOS /M --- modify CMOS information and save it\n");

printf("Floppy Drive Type:\n");

printf(" 1 : 360KB 5.25'\n");

printf(" 2 : 1.2MB 5.25'\n");

printf(" 4 : 1.44MB 3.5'\n");

printf(" 6 : 720KB 3.5'");

}

/* 主程序 */

main(argn,argc)

char *argc[];

int argn;

{

char ch;

char *temp;

printf("CMOS Proctector 1.00, Copyright (c) 2009 Nick\n");

if (argn == 2)

{

temp = argc[1];

ch = toupper(temp[1]);

switch (ch) {

case 'R' : ReadCMOS(); /* 读CMOS内存信息,并写入文件 */

DisplayCMOS();

WriteFile();

break;

case 'W' : ReadFile(); /* 从文件中读CMOS信息,并写入CMOS内存中 */ DisplayCMOS();

WriteCMOS();

break;

case 'M' : ReadCMOS(); /* 读CMOS内存读取信息,并进行修改, */ ModifyCMOS();/* 然后再写回CMOS内存 */

DisplayCMOS();

WriteFile();

WriteCMOS();

break;

defa ult : help();

}

}

else help();

return 0;

}

计算机内存发展史

计算机内存发展史 内存是电脑必不可少的组成部分,CPU 可通过数据总线对内存寻址。历史上的电脑 主板上有主内存,内存条是主内存的扩展。 以后的电脑主板上没有主内存,CPU完全依 赖内存条。所有外存上的内容必须通过内存 才能发挥作用。 在计算机诞生初期并不存在内存条的概 念,最早的内存是以磁芯的形式排列在线路 上,每个磁芯与晶体管组成的一个双稳态电路作为一比特(BIT)的存储器,每一比特都要有玉米粒大小,可以想象一间的机房只能装下不超过百k字节左右的容量。后来才出线现了焊接在主板上集成内存芯片,以内存芯片的形式为计算机的运算提供直接支持。那时的内存芯片容量都特别小,最常见的莫过于 256K×1bit、1M×4bit,虽然如此,但这相对于那时的运算任务来说却已经绰绰有余了。一、内存条的诞生 内存芯片的状态一直沿用到286初期,鉴于它存 在着无法拆卸更换的弊病,这对于计算机的发展造成 了现实的阻碍。有鉴于此,内存条便应运而生了。将 内存芯片焊接到事先设计好的印刷线路板上,而电脑 主板上也改用内存插槽。这样就把内存难以安装和更 换的问题彻底解决了。 在80286主板发布之前,内存并没有被世人所重 视,这个时候的内存是直接固化在主板上,而且容量 只有64 ~256KB,对于当时PC所运行的工作程序 来说,这种内存的性能以及容量足以满足当时软件程 序的处理需要。不过随着软件程序和新一代80286硬件平台的出现,程序和硬件对内存性能提出了更高要求,为了提高速度并扩大容量,内存必须以独立的封装形式出现,因而诞生了“内存条”概念。 在80286主板刚推出的时候,内存条采用了SIMM(Single In-lineMemory Modules,单边接触内存模组)接口,容量为30pin、256kb,必须是由8 片数据位和1 片校验位组成1 个bank,正因如此,我们见到的30pin SIMM一般是四条一起使用。自1982年PC进入民用市场一直到现在,搭配80286处理器的30pin SIMM 内存是内存领域的开山鼻祖。 随后,在1988 ~1990 年当中,PC 技术迎来另一个发展高峰,也就是386和486时代,此时CPU 已经向16bit 发展,所以30pin SIMM 内存再也无法满足需求,其较低的内存带宽已经成为急待解决的瓶颈,所以此时72pin SIMM 内存出现了,72pin SIMM支持32bit快速页模式内存,内存带宽得以大幅度提升。72pin SIMM内存单条容量一般为 512KB ~2MB,而且仅要求两条同时使用,由于其与30pin SIMM 内存无法兼容,因此这个时候PC业界毅然将30pin SIMM 内存淘汰出局了。

内存的发展历程

内存的发展历程 作为PC不可缺少的重要核心部件——内存,它伴随着DIY硬件走过了多年历程。从286时代的30pin SIMM内存、486时代的72pin SIMM 内存,到Pentium时代的EDO DRAM内存、PII 时代的SDRAM内存,到P4时代的DDR内存和目前9X5平台的DDR2内存。内存从规格、技术、总线带宽等不断更新换代。不过我们有理由相信,内存的更新换代可谓万变不离其宗,其目的在于提高内存的带宽,以满足CPU不断攀升的带宽要求、避免成为高速CPU运算的瓶颈。那么,内存在PC领域有着怎样的精彩人生呢?下面让我们一起来了解内存发展的历史吧。 一、历史起源——内存条概念 如果你细心的观察,显存(或缓存)在目前的DIY硬件上都很容易看到,显卡显存、硬盘或光驱的缓存大小直接影响到设备的性能,而寄存器也许是最能代表PC硬件设备离不开RAM 的,的确如此,如果没有内存,那么PC将无法运转,所以内存自然成为DIY用户讨论的重点话题。 在刚刚开始的时候,PC上所使用的内存是一块块的IC,要让它能为PC服务,就必须将其焊接到主板上,但这也给后期维护带来的问题,因为一旦某一块内存IC坏了,就必须焊下来才能更换,由于焊接上去的IC不容易取下来,同时加上用户也不具备焊接知识(焊接需要掌握焊接技术,同时风险性也大),这似乎维修起来太麻烦。 因此,PC设计人员推出了模块化的条装内存,每一条上集成了多块内存IC,同时在主板上也设计相应的内存插槽,这样内存条就方便随意安装与拆卸了(如图1),内存的维修、升级都变得非常简单,这就是内存“条”的来源。 图1,内存条与内存槽的出现 小帖士:内存(Random Access Memory,RAM)的主要功能是暂存数据及指令。我们可以同时写数据到RAM 内存,也可以从RAM 读取数据。由于内存历来都是系统中最大的性能瓶颈之一,因此从某种角度而言,内存技术的改进甚至比CPU 以及其它技术更为令人激动。 二、开山鼻祖——SIMM 内存 在80286主板发布之前,内存并没有被世人所重视,这个时候的内存是直接固化在主板上,而且容量只有64 ~256KB,对于当时PC所运行的工作程序来说,这种内存的性能以及容量足以满足当时软件程序的处理需要。不过随着软件程序和新一代80286硬件平台的出现,程序和硬件对内存性能提出了更高要求,为了提高速度并扩大容量,内存必须以独立的封装形式出现,因而诞生了前面我们所提到的“内存条”概念。

计算机发展史简介

一、计算机发展史简介 人类所使用的计算工具是随着生产的发展和社会的进步,从简单到复杂、从低级到高级的发展过程,计算工具相继出现了如算盘、计算尺、手摇机械计算机、电动机械计算机等。 1946年,世界上第一台电子数字计算机(ENIAC)在美国诞生。这台计算机共用了18000多个电于管组成,占地170m2,总重量为30t,耗电140kw,运算速度达到每秒能进行5000次加法、 300次乘法。从计算机的发展趁势看,大约2010年前美国就可以研制出千万亿次计算机。 电子计算机在短短的50多年里经过了电子管、晶体管、集成电路(IC)和超大规模集成电路(VLSI)四个阶段的发展,使计算机的体积越来越小,功能越来越强,价格越来越低,应用越来越广泛,目前正朝智能化(第五代)计算机方向发展。1.第一代电子计算机 第一代电于计算机是从1946年至1958年。它们体积较大,运算速度较低,存储容量不大,而且价格昂贵。使用也不方便,为了解决一个问题,所编制的程序的复杂程度难以表述。这一代计算机主要用于科学计算,只在重要部门或科学研究部门使用。 2.第二代电子计算机 第二代计算机是从1958年到1965年,它们全部采用晶体管作为电子器件,其运算速度比第一代计算机的速度提高了近百倍,体积为原来的几十分之一。在软件方面开始使用计算机算法语言。这一代计算机不仅用于科学计算,还用于数据处理和事务处理及工业控制。 3.第三代电子计算机 第三代计算机是从1965年到1970年。这一时期的主要特征是以中、小规模集成电路为电子器件,并且出现操作系统,使计算机的功能越来越强,应用范围越来越广。它们不仅用于科学计算,还用于文字处理、企业管理、自动控制等领域,出现了计算机技术与通信技术相结合的信息管理系统,可用于生产管理、交通管理、情报检索等领域。 4.第四代电子计算机 第四代计算机是指从1970年以后采用大规模集成电路(LSI)和超大规模集成电路(VLSI)为主要电子器件制成的计算机。例如80386微处理器,在面积约为10mm X l0mm的单个芯片上,可以集成大约32万个晶体管。 第四代计算机的另一个重要分支是以大规模、超大规模集成电路为基础发展起来的微处理器和微型计算机。 微型计算机大致经历了四个阶段: 第一阶段是1971~1973年,微处理器有4004、4040、8008。 1971年Intel公司研制出MCS4微型计算机(CPU为4040,四位机)。后来又推出以8008为核心的MCS-8型。 第二阶段是1973~1977年,微型计算机的发展和改进阶段。微处理器有8080、8085、M6800、Z80。初期产品有Intel公司的MCS一80型(CPU为8080,八位机)。后期有TRS-80型(CPU为Z80)和APPLE-II型(CPU为6502),在八十年代初期曾一度风靡世界。 第三阶段是1978~1983年,十六位微型计算机的发展阶段,微处理器有8086、6、80286、M68000、Z8000。微型计算机代表产品是IBM-PC(CPU为8086)。本阶段

计算机内存发展史

计算机内存发展史内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

计算机内存发展史 在计算机诞生初期并不存在内存条的概念,最早的内存是以磁芯的形式排列在线路上,每个磁芯与晶体管组成的一个双稳态电路作为一比特(BIT)的存储器,每一比特都要有玉米粒大小,可以想象一间的机房只能装下不超过百k字节左右的容量。后来才出线现了焊接在主板上集成内存芯片,以内存芯片的形式为计算机的运算提供直接支持。那时的内存芯片容量都特别小,最常见的莫过于256K×1bit、1M×4bit,虽然如此,但这相对于那时的运算任务来说却已经绰绰有余了。 内存条的诞生 内存芯片的状态一直沿用到286初期,鉴于它存在着无法拆卸更换的弊病,这对于计算机的发展造成了现实的阻碍。有鉴于此,内存条便应运而生了。将内存芯片焊接到事先设计好的印刷线路板上,而电脑主板上也改用内存插槽。这样就把内存难以安装和更换的问题彻底解决了。 在80286主板发布之前,内存并没有被世人所重视,这个时候的内存是直接固化在主板上,而且容量只有64 ~256KB,对于当时PC所运行的工作程序来说,这种内存的性能以及容量足以满足当时软件程序的处理需要。不过随着软件程序和新一代80286硬件平台的出现,程序和硬件对内存性能提出了更高要求,为了提高速度并扩大容量,内存必须以独立的封装形式出现,因而诞生了“内存条”概念。 在80286主板刚推出的时候,内存条采用了SIMM(Single In-lineMemory Modules,单边接触内存模组)接口,容量为30pin、256kb,必须是由8 片数据位和1 片校验位组成1 个bank,正因如此,我们见到的30pin SIMM一般是四条一起使用。自1982年PC进入民用市场一直到现在,搭配80286处理器的30pin SIMM 内存是内存领域的开山鼻祖。 随后,在1988 ~1990 年当中,PC 技术迎来另一个发展高峰,也就是386和486时代,此时CPU 已经向16bit 发展,所以30pin SIMM 内存再也无法满足需求,其较低的内存带宽已经成为急待解决的瓶颈,所以此时72pin SIMM 内存出

详解内存工作原理及发展历程

详解内存工作原理及发展历程 RAM(Random Access Memory)随机存取存储器对于系统性能的影响是每个PC 用户都非常清楚的,所以很多朋友趁着现在的内存价格很低纷纷扩容了内存,希望借此来得到更高的性能。不过现在市场是多种内存类型并存的,SDRAM、DDR SDRAM、RDRAM等等,如果你使用的还是非常古老的系统,可能还需要EDO DRAM、FP DRAM(块页)等现在不是很常见的内存。 虽然RAM的类型非常的多,但是这些内存在实现的机理方面还是具有很多相同的地方,所以本文的将会分为几个部分进行介绍,第一部分主要介绍SRAM 和异步DRAM(asynchronous DRAM),在以后的章节中会对于实现机理更加复杂的FP、EDO和SDRAM进行介绍,当然还会包括RDRAM和SGRAM等等。对于其中同你的观点相悖的地方,欢迎大家一起进行技术方面的探讨。 存储原理: 为了便于不同层次的读者都能基本的理解本文,所以我先来介绍一下很多用户都知道的东西。RAM主要的作用就是存储代码和数据供CPU在需要的时候调用。但是这些数据并不是像用袋子盛米那么简单,更像是图书馆中用有格子的书架存放书籍一样,不但要放进去还要能够在需要的时候准确的调用出来,虽然都是书但是每本书是不同的。对于RAM等存储器来说也是一样的,虽然存储的都是代表0和1的代码,但是不同的组合就是不同的数据。 让我们重新回到书和书架上来,如果有一个书架上有10行和10列格子(每行和每列都有0-9的编号),有100本书要存放在里面,那么我们使用一个行的编号+一个列的编号就能确定某一本书的位置。如果已知这本书的编号87,

计算机组成原理内存条历史

内存条发展历史 一、内存诞生 1982年PC进入民用市场,而搭配80286处理器的30pin SIMM 内存是内存领域的开山鼻祖。80286主板上的内存条采用了SIMM(Single In-lineMemory Modules,单边接触内存模组)接口,容量为30pin、256kb,必须是由8 片数据位和1 片校验位组成1个bank,所以30pin SIM一般是四条一起使用。 1988 ~1990 年,也就是386和486时代,此时CPU 已经向16bit 发展,30pin SIMM 内存再也无法满足需求,所以此时72pin SIMM 内存出现了,72pin SIMM支持32bit快速页模式内存,内存带宽得以大幅度提升。72pin SIMM内存单条容量一般为512KB ~2MB,而且仅要求两条同时使用。 1991 年到1995 年,盛行EDO DRAM(Extended Date Out RAM 外扩充数据模式存储器)内存条。此时EDO DRAM有72 pin和168 pin并存的情况,事实上EDO 内存也属于72pin SIMM 内存的范畴,不过它采用了全新的寻址方式。此时单条EDO 内存的容量已经达到4 ~16MB 。 EDO 内存条 二、SDRAM时代 第一代SDRAM 内存为PC66 规范,但很快由于Intel 和AMD的频率之争将CPU外频提升到了100MHz,所以PC66内存很快就被PC100内存取代,接着133MHz 外频的PIII 以及K7时代的来临,PC133规范也以相同的方式进一步提升SDRAM 的整体性能,带宽提高到1GB/sec以上。由于SDRAM 的带宽为64bit,正好对应CPU 的64bit 数据总线宽度,因此它只需要一条内存便可工作,便捷性进一步提高。在性能方面,由于其输入输出信号保持与系统外频同步,因此速度明显超越EDO 内存。 不可否认的是,SDRAM 内存由早期的66MHz,发展后来的100MHz、133MHz,尽管没能彻底解决内存带宽的瓶颈问题,但此时CPU超频已经成为DIY用户永恒的话题,所以不少用户将品牌好的PC100品牌内存超频到133MHz使用以获得CPU超频成功,值得一提的是,为了方便一些超频用户需求,市场上出现了一些PC150、PC166规范的内存。 SDRAM内存条

Windows发展历史

4.1 Windows发展历史 1.早期的Windows 要说Windows发展历史必然要先了解一下微软(Microsoft),微软公司是全球最大的电脑软件提供商,总部设在华盛顿州的雷德蒙市(Redmond,大西雅图的市郊)。公司于1975年由比尔〃盖茨和保罗〃艾伦成立。公司最初以“Micro-soft”的名称(意思为“微型软件”)发展和销售BASIC解释器。 Microsoft Windows是一个为个人电脑和服务器用户设计的操作系统,它有时也被称为“视窗操作系统”。它的第一个版本由微软公司发行于1985年,并最终获得了世界个人电脑操作系统软件的垄断地位。所有最近的Windows都是完全独立的操作系统。 1981年8月12日,IBM推出内含Microsoft的16位元作业系统 MS-DOS 1.0的个人电脑。 MS-DOS是Microsoft Disk Operating System的简称,意即由美国微软公司(Microsoft)提供的磁盘操作系统。在Windows 95以前,DOS是PC 兼容电脑的最基本配备,而MS-DOS则是最普遍使用的PC兼容DOS。 1985年11月,Microsoft Windows 1.0发布 Microsoft Windows 1.0是微软第一次对个人电脑操作平台进行用户图形界面的尝试。Windows 1.0本质上宣告了MS-DOS操作系统的终结。 1990年5月22日,Windows 3.0正式发布,由于在界面/人性化/内存管理多方面的巨大改进,终于获得用户的认同。之后微软公司趁热打铁,于1991年10月发布了windows 3.0的多语版本,为windows在非英语母语国家的推广起到了重大作用

主板的发展史

Intel首款商用主板——Batman 1943年,Batman(蝙蝠侠)TV系列走上银屏。50年后,也就是1993年,Intel主板部门推出了首款商用主板,代号正是“Batman”。在Batman之前,Intel很少为OEM以及MNC (multi-national corporations,跨国公司)厂商推公版主板。Intel之所以推出这款主板主要是因为:当时Intel的CPU部门准备发布一款处理器芯片,但是市场上却没有与之匹配的主板支持。Intel遇到了“先有鸡还是先有蛋”的困惑,相当尴尬。无奈之下,Intel只能双管齐下,一同发布主板和CPU。Intel的这种发布方式用业界的行话说就是time to market(TTM,上市时机)。Batman是Intel首款TTM主板,旨在加速Pentium处理器的快速普及。 Batman(点此查看大图) CPU接口右侧的矩形芯片是缓存芯片,因为当时L2缓存尚未整合到CPU中。那些大块头、正方形芯片也是缓存芯片吗当然不是,这些芯片是用来控制I/O输入输出的。 (点此查看大图) 您可能已经注意到这款老主板边缘的SIMM插槽以45°排列,这主要是碍于机箱高度的限制,因为当时的机箱高度受限于内部组件,比如说硬盘和电源。这里最吸引眼球的莫过于CPU接口(Socket 4)上的“OverDrive Ready”字样(可以超频),事实上,超频这一“古老的”特点让Intel当时的工程师们伤透了脑筋。Socket 4支持工作电源为5V的处理器,不过当时仅支持Pentium 60和66处理器。后来上位的Socket 5(可支持工作电压为的处理器)支持Pentium 75以及133,采用交错式针脚排列(staggered pin row)。Pentium OverDrive芯片可以让Socket 4平台的处理器的频率提升至120或133 MHz。尽管这样做的实际效果要逊于120或133 MHz处理器本身带来的性能,但是对于囊中羞涩的玩家而言,Pentium OverDrive芯片当时确实是个不错的升级方案。后来,采用Socket 5的Pentium Pro 平台中也加入了OverDrive芯片,以及著名的486处理器。而且得益于OverDrive芯片,Pentium处理器同样可以运行在486平台中。 (点此查看大图) 1993年,比尔?克林顿(Bill Clinton)入主白宫,欧洲粒子物理研究室(European Organisation for Nuclear Research,CERN)开发出了万维网(World Wide Web),而当时

操作系统中内存发展历史进程

操作系统中内存发展历史进程及分配方式 1.当前操作系统中内存分配机制 操作系统中有专门负责分配内存的进程,它会为那些在操作系统级别上使用内存的软件系统分配一块内存。当前操作系统中内存分配机制为分层的逐层外包分配模式。 1)静态内存分配:所谓的编译时内存分配,即是为程序本身能在下一个阶段(运行阶段)的运行而在内存上的程序区分配内存空间,还有程序里的非指针变量(如原子变量、数组、结构体、类等)分配内存空间:栈区(stack)。例如oracle软件系统启动的时候,oracle软件系统本身要运转的话自然需要一些内存上的程序区的内存空间用于oracle软件系统本身的运行。 2)动态内存分配:所谓的运行时内存分配,即是为程序里的指针变量分配内存空间:椎区(heap)。例如,oracle软件系统运行时,要处理的一些数据,oracle 软件系统要为存放这些数据向操作系统申请分配一块内存空间。至于这块内存空间怎么用,操作系统就管不了,这是由oracle软件系统来决定了。 2.操作系统中内存管理发展的历史进程 计算机内的存储器按其用途可分为主存储器和辅助存储器,主存储器又称内存储器(简称内存),辅助存储器又称外存储器(简称外存)。内存的实质上是一组或多组具备数据输入输出和数据存储功能的集成电路。内存按存储信息的功能可分为只读存储器、可改写的只读存储器EPROM和随机存储器RAM。我们平常所说的内存是指RAM。由于CPU只能直接处理内存中的数据,所以内存的速度和大小对计算机性能的影响是相当大的。 FPM(快页模式)是386时代的PC普遍使用的内存,由于FPDRAM使用同一电路来存取数据,所以它每隔3个时钟脉冲周期才传送一次数据,这导致了它的存取速度并不是很快。 EDO(扩展数据输出)内存取消了主板与内存两个存储周期之间的时间间隔,每隔2个时钟脉冲周期传输一次数据,大大地缩短了存取时间。 自Intel Celeron系列以及AMD K6处理器以及相关的主板芯片组推出后,SDRAM将CPU与RAM通过一个相同的时钟锁在一起,使RAM和CPU能够共享一个时钟周期,以相同的速度同步工作。它采用的是新型的64位数据读写形式,采用双列直插式的DIMM内存条,也是奔腾II和奔腾III计算机系统首选的内存。 SDRAM内存由早期的66MHz,发展后来的133MHz,所以不少用户将品牌好的PC100品牌内存超频到133MHz使用以获得CPU超频成功,值得一提的是,市场上出现了一些PC150、PC166规范的内存。

计算机及其发展史概述

计算机及其发展史概述 人类所使用的计算工具是随着生产的发展和社会的进步,从简单到复杂、从低级到高级的发展过程,计算工具相继出现了如算盘、计算尺、手摇机械计算机、电动机械计算机等。1946年,世界上第一台电子数字计算机(ENIAC)在美国诞生。这台计算机共用了18000多个电于管组成,占地170m2,总重量为30t,耗电140kw,运算速度达到每秒能进行5000次加法、300次乘法。从计算机的发展趁势看,大约2010年前美国就可以研制出千万亿次计算机。 电子计算机在短短的50多年里经过了电子管、晶体管、集成电路(IC)和超大规模集成电路(VLSI)四个阶段的发展,使计算机的体积越来越小,功能越来越强,价格越来越低,应用越来越广泛,目前正朝智能化(第五代)计算机方向发展。 从历史上看,计算工具的演化经历了由简单到复杂、从低级到高级的不同阶段,例如从"结绳记事"中的绳结到算筹、算盘计算尺、机械计算机等。它们在不同的历史时期发挥了各自的历史作用,同时也启发了电子计算机的研制和设计思路。 1889年,美国科学家赫尔曼·何乐礼研制出以电力为基础的电动制表机,用以储存计算资料。 1930年,美国科学家范内瓦·布什造出世界上首台模拟电子计算机。 1946年6月美籍匈牙利科学家冯诺依曼教授发表了"电子计算机装置逻辑结构初探"的论文。并设计出了第一台"存储程序"计算机EDVAC(埃德瓦克),即离散变量自动电子计算机(The Electronic Discrete Variable Automatic Computer).这种结构的计算机为现代计算机体系结构奠定了基础,成为"冯诺依曼体系结构",主要特点是: (1)采用二进制0和1直接模拟开关电路通、断两种状态,用于表示数据或计算机指令。(2)把指令存储在计算机内部,且能自动执行指令。 (3)计算机硬件由控制器、运算器、存储器、输入设备和输出设备五大部分组成 第1代:电子管计算机(1946-1958年) 硬件方面,逻辑元件采用的是真空电子管,主存储器采用汞延迟线、阴极射线示波管静电存储器、磁鼓、磁芯;外存储器采用的是磁带。软件方面采用的是机器语言、汇编语言。应用领域以军事和科学计算为主。 特点是体积大、功耗高、可靠性差。速度慢(一般为每秒数千次至数万次)、价格昂贵,但为以后的计算机发展奠定了基础。 第2代:晶体管计算机(1958-1964年) 硬件方的操作系统、高级语言及其编译程序。应用领域以科学计算和事务处理为主,并开始进入工业控制领域。特点是体积缩小、能耗降低、可靠性提高、运算速度提高(一般为每秒数10万次,可高达300万次)、性能比第1代计算机有很大的提高。 第3代:集成电路计算机(1964-1970年) 硬件方面,逻辑元件采用中、小规模集成电路(MSI、SSI),主存储器仍采用磁芯。软件方面出现了分时操作系统以及结构化、规模化程序设计方法。特点是速度更快(一般为每秒数百万次至数千万次),而且可靠性有了显著提高,价格进一步下降,产品走向了通用化、系列化和标准化等。应用领域开始进入文字处理和图形图像处理领域。

计算机内存发展史

计算机内存发展史 在计算机诞生初期并不存在内存条的概念,最早的内存是以磁芯的形式排列在线路上,每个磁芯与晶体管组成的一个双稳态电路作为一比特(BIT)的存储器,每一比特都要有玉米粒大小,可以想象一间的机房只能装下不超过百k字节左右的容量。后来才出线现了焊接在主板上集成内存芯片,以内存芯片的形式为计算机的运算提供直接支持。那时的内存芯片容量都特别小,最常见的莫过于256K×1bit、1M×4bit,虽然如此,但这相对于那时的运算任务来说却已经绰绰有余了。 内存条的诞生 内存芯片的状态一直沿用到286初期,鉴于它存在着无法拆卸更换的弊病,这对于计算机的发展造成了现实的阻碍。有鉴于此,内存条便应运而生了。将内存芯片焊接到事先设计好的印刷线路板上,而电脑主板上也改用内存插槽。这样就把内存难以安装和更换的问题彻底解决了。 在80286主板发布之前,内存并没有被世人所重视,这个时候的内存是直接固化在主板上,而且容量只有64 ~256KB,对于当时PC所运行的工作程序来说,这种内存的性能以及容量足以满足当时软件程序的处理需要。不过随着软件程序和新一代80286硬件平台的出现,程序和硬件对内存性能提出了更高要求,为了提高速度并扩大容量,内存必须以独立的封装形式出现,因而诞生了“内存条”概念。 在80286主板刚推出的时候,内存条采用了SIMM(Single In-lineMemory Modules,单边接触内存模组)接口,容量为30pin、256kb,必须是由8 片数据位和1 片校验位组成1 个bank,正因如此,我们见到的30pin SIMM一般是四条一起使用。自1982年PC进入民用市场一直到现在,搭配80286处理器的30pin SIMM 内存是内存领域的开山鼻祖。

内存发展历史及未来趋势

内存发展历史及未来趋势 作为PC不可缺少的重要核心部件——内存,它伴随着DIY硬件走过了多年历程。从286时代的30pin SIMM内存、486时代的72pin SIMM 内存,到Pentium时代的EDODRAM内存、PII时代的SDRAM内存,到P4时代的DDR内存和目前9X5 平台的DDR2内存。内存从规格、技术、总线带宽等不断更新换代。不过我们 有理由相信,内存的更新换代可谓万变不离其宗,其目的在于提高内存的带宽,以满足CPU不断攀升的带宽要求、避免成为高速CPU运算的瓶颈。那么,内存 在PC领域有着怎样的精彩人生呢?下面让我们一起来了解内存发展的历史吧。 一、历史起源——内存条概念 如果你细心的观察,显存(或缓存)在目前的DIY硬件上都很容易看到,显卡 显存、硬盘或光驱的缓存大小直接影响到设备的性能,而寄存器也许是最能代 表PC硬件设备离不开RAM的,的确如此,如果没有内存,那么PC将无法运转,所以内存自然成为DIY用户讨论的重点话题。 在刚刚开始的时候,PC上所使用的内存是一块块的IC,要让它能为PC服务, 就必须将其焊接到主板上,但这也给后期维护带来的问题,因为一旦某一块内 存IC坏了,就必须焊下来才能更换,由于焊接上去的IC不容易取下来,同时加上用户也不具备焊接知识(焊接需要掌握焊接技术,同时风险性也大),这似 乎维修起来太麻烦。 因此,PC设计人员推出了模块化的条装内存,每一条上集成了多块内存IC,同 时在主板上也设计相应的内存插槽,这样内存条就方便随意安装与拆卸了(如 图1),内存的维修、升级都变得非常简单,这就是内存“条”的来源。 图1,内存条与内存槽的出现

电脑发展史简介

计算机发展简介 1.个人计算机 PC (personal computer),个人计算机一词源自于1981年IBM的第一部桌上型计算机型号PC,在此之前有Apple II的个人用计算机。能独立运行、完成特定功能的个人计算机。 个人计算机不需要共享其他计算机的处理、磁盘和打印机等资源也可以独立工作。从台式机(或称台式计算机、桌面电脑)、笔记本电脑到上网本和平板电脑以及超级本等都属于个人计算机的范畴。 随着智能手机和平板的普及,绝大多数人可能已经更青睐那种触动手指即可完成的办公娱乐方式。最近无论是在国内还是在国外,都有不少“专家”认为在不久的某一天里传统PC会被更为便携的手机和平板所替代。 2.类别 台式机:也叫桌面机,是一种独立相分离的计算机,相对于笔记本和上网本体积较大,价格便宜,主要部件如:主机、显示器、键盘、鼠标等设备一般都是相对独立的,一般需要放置在电脑桌或者专门的工作台上。因此命名为台式机,桌面机。台式机的性能相对较笔记本电脑要强。台式机具有如下特点: 散热性:台式机具有笔记本计算机所无法比拟的优点。台式机的机箱具有空间大,通风条件好的因素而一直被人们广泛使用。 扩展性:台式机的机箱方便用户硬件升级,如光驱,硬盘,显卡。如台式机箱的光驱驱动器插槽是4-5个,硬盘驱动器插槽是4-6个。非常方便用户日后的硬件升级。 保护性:台式机全方面保护硬件不受灰尘的侵害。而且防水性就不错;在笔记本中这项发展不是很好。 明确性:台式机机箱的开、关键重启键、USB、音频接口都在机箱前置面板中,方便用户的使用。 一体机:电脑一体机(Desktop),是由一台显示器、一个电脑键盘和一个鼠标组成的电脑。它的芯片、主板与显示器集成在一起,显示器就是一台电脑,因此只要将键盘和鼠标连接到显示器上,机器就能使用。随着无线技术的发展,电脑一体机的键盘、鼠标与显示器可实现无线链接,机器只有一根电源线,这就解决了一直为人诟病的台式机线缆多而杂的问题。有的电脑一体机还具有电视接收、AV功能(视频输出功能)、触控功能等。 笔记本电脑:(Notebook或Laptop),也称手提电脑或膝上型电脑,是一种小型、可携带的个人电脑,通常重1-6公斤。它和台式机架构类似,但是提供了台式机无法比拟的绝佳便携性:包括液晶显示器、较小的体积、较轻的重量。笔记本电脑除了键盘外,还提供了触控板(TouchPad)或触控点(Pointing Stick),提供了更好的定位和输入功能。 笔记本电脑可以大体上分为6类:商务型、时尚型、多媒体应用、上网型、学习型、特殊用途。商务型笔记本电脑一般可以概括为移动性强、电池续航时间长、商务软件多;时尚型外观主要针对时尚女性;多媒体应用型笔记本电脑则有较强的图形、图像处理能力和多媒体的能力,尤其是播放能力,为享受型产品。而且,

详解内存(RAM,SRAM,SDRAM)工作原理及发展历程

详解内存(RAM,SRAM,SDRAM)工作原理及发展历程https://www.360docs.net/doc/1312690188.html,/csrwzt/blog/item/7ec462ef44e87fe9cf1b3e6f.html RAM(Random Access Memory)随机存取存储器对于系统性能的影响是每个PC 用户都非常清楚的,所以很多朋友趁着现在的内存价格很低纷纷扩容了内存,希望借此来得到更高的性能。不过现在市场是多种内存类型并存的,SDRAM、DDR SDRAM、RDRAM等等,如果你使用的还是非常古老的系统,可能还需要EDO DRAM、FP DRAM(块页)等现在不是很常见的内存。 虽然RAM的类型非常的多,但是这些内存在实现的机理方面还是具有很多相同的地方,所以本文的将会分为几个部分进行介绍,第一部分主要介绍SRAM和异步DRAM(asynchronous DRAM),在以后的章节中会对于实现机理更加复杂的FP、EDO和SDRAM进行介绍,当然还会包括RDRAM和SGRAM等等。对于其中同你的观点相悖的地方,欢迎大家一起进行技术方面的探讨。 存储原理: 为了便于不同层次的读者都能基本的理解本文,所以我先来介绍一下很多用户都知道的东西。RAM主要的作用就是存储代码和数据供CPU在需要的时候调用。但是这些数据并不是像用袋子盛米那么简单,更像是图书馆中用有格子的书架存放书籍一样,不但要放进去还要能够在需要的时候准确的调用出来,虽然都是书但是每本书是不同的。对于RAM等存储器来说也是一样的,虽然存储的都是代表0和1的代码,但是不同的组合就是不同的数据。 让我们重新回到书和书架上来,如果有一个书架上有10行和10列格子(每行和每列都有0-9的编号),有100本书要存放在里面,那么我们使用一个行的编号+一个列的编号就能确定某一本书的位置。如果已知这本书的编号87,那么我们首先锁定第8行,然后找到第7列就能准确的找到这本书了。在RAM 存储器中也是利用了相似的原理。 现在让我们回到RAM存储器上,对于RAM存储器而言数据总线是用来传入数据或者传出数据的。因为存储器中的存储空间是如果前面提到的存放图书的书架一样通过一定的规则定义的,所以我们可以通过这个规则来把数据存放到存储器上相应的位置,而进行这种定位的工作就要依靠地址总线来实现了。对于CPU 来说,RAM就象是一条长长的有很多空格的细线,每个空格都有一个唯一的地址与之相对应。如果CPU想要从RAM中调用数据,它首先需要给地址总线发送地址数据定位要存取的数据,然后等待若干个时钟周期之后,数据总线就会把数据传输给CPU。下面的示意图可以帮助你很好的理解这个过程。

7 DDR内存格式发展历程(DDR~DDR4)

一、DDR DDR=Double Data Rate双倍速内存。严格的说DDR应该叫DDR SDRAM,人们习惯称为DDR,部分初学者也常看到DDR SDRAM,就认为是SDRAM。DDR SDRAM是Double Data Rate SDRAM 的缩写,是双倍速率同步动态随机存储器的意思。DDR内存是在SDRAM内存基础上发展而来的,仍然沿用SDRAM生产体系,因此对于内存厂商而言,只需对制造普通SDRAM的设备稍加改进,即可实现DDR内存的生产,可有效的降低成本。 SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而DDR 内存则是一个时钟周期内传输两次次数据,它能够在时钟的上升期和下降期各传输一次数据,因此称为双倍速率同步动态随机存储器。DDR内存可以在与SDRAM相同的总线频率下达 到更高的数据传输率。 与 SDRAM相比:DDR运用了更先进的同步电路,使指定地址、数据的输送和输出主要步骤既独立执行,又保持与CPU完全同步;DDR使用了DLL (Delay Locked Loop,延时锁定回路提供一个数据滤波信号)技术,当数据有效时,存储控制器可使用这个数据滤波信号来精确定位数据,每16次输出一次,并重新同步来自不同存储器模块的数据。DDR本质上不需要提高时钟频率就能加倍提高SDRAM的速度,它允许在时钟脉冲的上升沿和下降沿读出数 据,因而其速度是标准 SDRA的两倍。 从外形体积上DDR与SDRAM相比差别并不大,他们具有同样的尺寸和同样的针脚距离。但DDR为184针脚,比SDRAM多出了16个针脚,主要包含了新的控制、时钟、电源和接地等信号。DDR内存采用的是支持2.5V电压的SSTL2标准,而不是SDRAM使用的3.3V电压的 LVTTL标准。 DDR内存的频率可以用工作频率和等效频率两种方式表示,工作频率是内存颗粒实际的工作频率,但是由于DDR内存可以在脉冲的上升和下降沿都传输数据,因此传输数据的等效 频率是工作频率的两倍。 二、DDR2 DDR2发明与发展: DDR2/DDR II(Double Data Rate 2)SDRAM是由JEDEC(电子设备工程联合委员会)进行开发的新生代内存技术标准,它与上一代DDR内存技术标准最大的不同就是,虽然同是采用了在时钟的上升/下降延同时进行数据传输的基本方式,但DDR2内存却拥有两倍于上一代DDR内存预读取能力(即:4bit数据读预取)。换句话说,DDR2 内存每个时钟能够以4倍外部总线的速度读/写数据,并且能够以内部控制总线4倍的速度运行。

存储器发展史

存储器的发展史 存储器是用来存储程序和数据的部件,有了存储器,计算机才有记忆功能,才能保证正常工作。按用途存储器可分为主存储器(内存)和辅助存储器(外存)。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据就会丢失。 发展史分为七个阶段: 1.存储器设备发展之汞延迟线 1950年,世界上第一台具有存储程序功能的计算机EDVAC由冯.诺依曼博士领导设计。它的主要特点是采用二进制,使用汞延迟线作存储器,指令和程序可存入计算机中。 1951年3月,由ENIAC的主要设计者莫克利和埃克特设计的第一台通用自动计算机UNIVAC-I交付使用。它不仅能作科学计算,而且能作数据处理。 2.存储器设备发展之磁带 UNIVAC-I第一次采用磁带机作外存储器,首先用奇偶校验方法和双重运算线路来提高系统的可靠性,并最先进行了自动编程的试验。 磁带是所有存储器设备发展中单位存储信息成本最低、容量最大、标准化程度最高的常用存储介质之一。它互换性好、易于保存,近年来,由于采用了具有高纠错能力的编码技术和即写即读的通道技术,大大提高了磁带存储的可靠性和读写速度。根据读写磁带的工作原理可分为螺旋扫描技术、线性记录(数据流)技术、DLT技术以及比较先进的LTO技术。 磁带库是基于磁带的备份系统,它能够提供同样的基本自动备份和数据恢复功能,但同时具有更先进的技术特点。它的存储容量可达到数百PB,可以实现连续备份、自动搜索磁带,也可以在驱动管理软件控制下实现智能恢复、实时监控和统计,整个数据存储备份过程完全摆脱了人工干涉。 磁带库不仅数据存储量大得多,而且在备份效率和人工占用方面拥有无可比拟的优势。在网络系统中,磁带库通过SAN(Storage Area Network,存储区域网络)系统可形成网络存储系统,为企业存储提供有力保障,很容易完成远程数

计算机硬件发展史概述

计算机硬件发展史概述 航天学院 物理电子学 摘要:计算机硬件的性能直接决定着计算机的性能。计算机硬件的发展大致经历了机械计算机、电子计算机、晶体管计算机、集成电路时代,功能越来越强,性能越来越高,技术越来越完善。 关键词:计算机,硬件,发展历程,性能 1计算机的诞生 1.1诞生历程 现代计算机问世之前,计算机的发展经历了机械式计算机、机电式计算机和萌芽期的电子计算机三个阶段。 从17世纪初开始,欧洲一批数学家已经开始设计和制造能进行简单数学运算的机器。最初,1614年苏格兰人John Napier发表了一篇论文,其中提到他发明了一种可以计算四则运算和方根运算的精巧装置,不久后有了计算尺的发明。1642年,著名的法国数学家帕斯卡在计算尺的基础上,采用与钟表类似的齿轮传动装置,制成了最早的十进制加法器,可以进行加减运算,一般认为这是第一台机械式计算机,如图1.1所示。1678年,德国数学家莱布尼茨制成的演算机,进一步解决了十进制数的乘、除运算。1822年,英国人巴贝奇设计了能根据数学议程进行运算的差分机,后来又于1834年提出分析机的设想。在这之后的一百多年,伴随着电磁学、电工电子学不断取得重大进展,现代计算机的雏形逐渐形成。 图1.1帕斯卡的加法器 1.2电子计算机的诞生 20世纪30年代,随着数学和物理等科学技术的蓬勃发展,数值分析得到重视,大量的

运算迫切需要能替代人工运算的先进计算机。第二次世界大战爆发前后,军事科学技术对高速计算工具的需要非常迫切,比如导弹弹道问题就需要大量的科技人员去计算,电子计算机就是在这样的背景下诞生的。 第一台真正意义上的计算机诞生于1946年,是宾夕法尼亚大学物理学家谟克利和工程师埃克特领导数人花时3年多研制而成的,并被命名为ENIAC。这台计算机含有电子管18000个,电阻和电容数万个,占地170平方米,功率为25千瓦,最初是用于计算导弹弹道和氢弹的研制。当ENIAC公开展示时,一条炮弹的轨迹用20s就能算出,比炮弹本身的飞行时间还要短。 2计算机硬件的发展历史 2.1硬件简介 硬件系统通常指机器的物理系统,是看得到、摸得着的物理器件。现在我们所使用的计算机硬件系统的结构基本是沿用了由著名数学家冯·诺依曼提出的模型,它由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成,如图2.1所示。当我们打开计算机的机箱时,可以看到主机板,它是主机中的基础部件,在它上面密集地安装着CPU、内存储器,输入输出接口等。一台计算机的硬件的核心是CPU,它一般是将运算器、控制器配以寄存器组集成在一块芯片上。 图2.1 硬件系统基本组成和工作原理 2.2计算机硬件的发展 2.2.1计算机硬件发展综述 现代计算机的硬件发展经历了电子计算机、晶体管计算机、集成电路时代以及大规模和超大规模集成电路时代这四个重要阶段。每个阶段的基本性能和特点如表2.2.1所示。计算机的发展遵从著名的摩尔定律,即当价格不变时,集成电路上可容纳的晶体管数目,约每隔

内存的发展历史

内存的发展历史 在了解内存的发展之前,我们应该先解释一下几个常用词汇,这将有助于我们加强对内存的理解。RAM就是Random Access Memory(随机存贮器)的缩写。它又分成两种Static RAM(静态随机存贮器)和Dynamic RAM(动态随机存贮器)。 SRAM曾经是一种主要的内存,SRAM速度很快而且不用刷新就能保存数据不丢失。它以双稳态电路形式存储数据,结构复杂,内部需要使用更多的晶体管构成寄存器以保存数据,所以它采用的硅片面积相当大,制造成本也相当高,所以现在只能把SRAM用在比主内存小的多的高速缓存上。随着Intel将L2高速缓存整合入CPU(从Medocino 开始)后,SRAM失去了最大应用需求来源,还好在移动电话从模拟转向数字的发展趋势中,终于为具有省电优势的SRAM寻得了另一个需求成长的契机,再加上网络服务器、路由器等的需求激励,才使得SRAM市场勉强得以继续成长。 DRAM,顾名思义即动态RAM。DRAM的结构比起SRAM来说要简单的多,基本结构是一只MOS管和一个电容构成。具有结构简单、集成度高、功耗低、生产成本低等优点,适合制造大容量存储器,所以现在我们用的内存大多是由DRAM构成的。所以下面主要介绍DRAM内存。在详细说明DRAM存储器前首先要说一下同步的概念,根据内存的访问方式可分为两种:同步内存和异步内存。区分的标准是看它们能不能和系统时钟同步。内存控制电路(在主板的芯片组中,一般在北桥芯片组中)发出行地址选择信号(RAS)和列地址选择信号(CAS)来指定哪一块存储体将被访问。在SDRAM之前的ED O内存就采用这种方式。读取数据所用的时间用纳秒表示。当系统的速度逐渐增加,特别是当66MHz频率成为总线标准时,EDO内存的速度就显得很慢了,CPU总要等待内存的数据,严重影响了性能,内存成了一个很大的瓶颈。因此出现了同步系统时钟频率的SDRAM。

主板的发展历史

主板的发展历史 在电脑所有配件当中,主板占了很重要的地位,它就好像人体的骨骼一样,将其它的电脑配件全部连接、整合起来,起到桥梁的作用。 其实谈到主板,我们可以先从电脑开始聊起,电脑业在中国发展到今天,总共才十年左右的时间,我们可以按照不同的时间段,将电脑在中国市场的发展分成三个时间段,下面我们就分段来加以说明: 一、199X年至1999年年底电脑刚刚进入中国市场诞生期 那个时候电脑刚刚进入中国市场,人们将电脑看成一个整体,还没有细分成主板、处理器、内存、硬盘什么的,只知道电脑就是一部主机再加上一台显示器,很少有人去关心里面用的什么配件。 慢慢发展到1995-1997年的时候,人们开始将电脑分成386、486或者是586,那时才首次用电脑内部配件的配置高底,来划分电脑的级别,电脑中的主板,也都还是AT结构的。直到1998年,首次能够大规模推广、普及电脑,极大的引发人们的购买、升级欲望的Intel Celeron 300A处理器与Intel 440BX芯片组的出现,让人们对电脑的认识,有了一个质的飞越,也诞生了中国最早的一批DIY玩家们,“超频”这一可以在不提升硬件拥有成本的前提下,而提升电脑整体性能的方法,渐渐开始流行。 那一时期的经典主板型号有: ASUS T2P4、P2B MSI 6163、6199 Gigabyte 6BX7 BX2000 EPoX MVP3系列BX7 ABIT BH6 SOYO 6BA+系列 二、2000年至2004年年底电脑飞速发展普及期 在1999年以前,用户买一台家用电脑,中、高档配置的价格一般都在10000元左右,而进入2000年后,电脑价格这一左右普及程度的最终门槛在一路不断的降低,这个时期是电脑大规模进入家庭的鼎盛普及时期。 自2000年开始,电脑中的主板规格渐渐全面转向了统一、规范的ATX规格。在统一了规范和标准之后,一时间各大主板厂商是群雄逐鹿,问鼎中原。 2000年3月16日,AMD公司在北京正式推出了运行频率为1Ghz的速龙(Athlon)处理器。这一处理器的推出,首次让AMD从Intel的追随者演变成了Intel的挑战者。紧跟着AMD 又推出了经典的Socket 462(Socket A)架构,让消费者们渐渐开始能以更便宜的价格,获得性能更好的电脑。 “性价比”这个经典的名词,开始成为人们选购电脑的一条重要标准。

相关主题
相关文档
最新文档