哈佛架构

✍ dations ◷ 2025-09-02 17:51:56 #哈佛架构
哈佛架构(英语:Harvard architecture)是一种将程序指令储存和数据储存分开的存储器结构(Split Cache)。这一词起源于Harvard Mark I型继电器式计算机,它存储指令(24位)在纸带上和数据于机电计数器上。 中央处理器首先到程序指令储存器中读取程序指令内容,解码后得到数据地址,再到相应的数据储存器中读取数据,并进行下一步的操作(通常是执行)。程序指令储存和数据储存分开,数据和指令的储存可以同时进行,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。程序需要由操作者加载;处理器无法自行初始化。如今,大多数处理器由于性能原因性能实现了这种独立信号通路的结构,但实际上大多是应用了改进的哈佛结构,所以它们可以支持从磁盘将一个程序作为数据加载并执行的任务。哈佛架构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和储存的,执行时可以预先读取下一条指令。当前使用哈佛架构的中央处理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog公司的Z8系列、Atmel公司的AVR系列和安谋公司的ARM9、ARM10和ARM11。在哈佛架构,两个寄存器不需要有共同的特征。特别是,字宽、定时、实现技术和内存地址都可以不同。在一些系统中,指令可以存储在只读存储器(ROM)中,而数据存储器一般需要读写存储器(RAM等)。在一些系统中,指令存储器比数据存储器多,因此指令地址比数据地址更宽。纯冯诺依曼架构下的CPU可以读取指令或读/写内存数据,它们都不能使指令和数据同时使用同一个的总线系统。使用哈佛结构的计算机中CPU,即使没有缓存的情况下也可以在读取指令的同时进行数据访问。由于指令和数据访问不使用同一个内存沟道,因此哈佛结构的计算机可以在相同的电路复杂度下有更好的表现。同时,哈佛架构机拥有不同的代码和数据的地址空间:指令的零地址和数据的零地址是不同的。指令的零地址可能是二十四位的值,而数据的零地址可能是一个八位字节,而非二十四位值的一部分。改进的哈佛架构机更像哈佛架构机,但它放松了指令和数据之间严格分离的这一特征,仍然允许CPU同时访问两个(或更多)内存总线。最常见的修改包括由公共地址空间支持的单独指令和数据高速缓存。当它作为一个纯粹的哈佛机时,CPU通过高速缓存来执行指令。当访问外部存储器时,它的作用就像一个冯·诺依曼机(代码可以像数据一样移动,像是一个功能强大的技能)。这一改良在现代处理器是普遍存在的,例如ARM体系结构、Power Architecture和x86处理器。它有时被称为哈佛架构,忽略了它实际上被“修改”的事实。另一种修改提供了指令存储器(例如ROM或闪存)与CPU之间的通路,以允许来自指令存储器的字被视为只读数据。该技术用于某些微控制器,包括Atmel的AVR。这允许访问诸如文本字符串或函数表之类的常量数据,而无需首先将其复制到数据存储器中,从而为读/写变量保留稀缺(且耗电的)数据存储器。特殊的机器语言指令提供了从指令存储器中读取数据的功能。(这是不同于指令本身嵌入常数的数据,虽然对于单个常量来说,两种机制可以相互替代。)近年来,CPU的速度已经提速了许多次以同步主存储器的访问速度。要注意减少内存访问次数的数量以保持性能。例如,每一个指令在CPU运行需要访问内存,增加计算机CPU没有任何速度提升的问题叫做内存限制。可能使内存非常快,但由于内存成本,电源和信号路由的原因这类内存数目很少。解决的办法是提供少量的快速存储器称为CPU缓存以存放最近访问过的数据。CPU提取缓存中的数据速度要比缓存提取主要寄存器数据的速度更快。现代高性能CPU芯片在设计上包含了哈佛和冯诺依曼结构的特点。特别是,“拆分缓存”这种改进型的哈佛架构版本是很常见的。 CPU的缓存分为指令缓存和数据缓存。CPU访问缓存时使用哈佛体系结构。然而当高速缓存未命中时,数据从主存储器中检索,却并不分为独立的指令和数据部分,虽然它有独立的内存控制器用于访问RAM,ROM和(NOR)闪存。 因此,在一些情况下可以看到冯诺依曼架构,比如当数据和代码通过相同的内存控制器时,这种硬件通过哈佛架构在缓存访问或至少主内存访问方面提高了执行效率。 此外,在写非缓存区之后,CPU经常拥有写缓存使CPU可以继续执行。当指令被CPU当作数据写入,且软件必须确保在试图执行这些刚写入的指令之前,高速缓存(指令和数据)和写缓存是同步的,这时冯诺依曼结构的内存特点就出现了。纯粹的哈佛架构同时访问多个存储系统的主要优点是由哈佛处理器利用现代CPU缓存系统。相对纯的哈佛架构机主要用于在应用中的取舍,就像忽略缓存的成本和节省功率,大于编程在不同的代码和数据的地址空间的不利。即使在这种情况下,它是为了访问程序存储器只读表的数据使用特殊指令或重新编程;这些处理器是改进的哈佛架构的处理器。

相关

  • 头孢洛扎头孢洛扎(Ceftolozane) ,是第五代头孢类抗生素,用来治疗对常规抗生素耐药的革兰氏阴性菌。 实验证明其对尿路感染、腹腔内感染、呼吸机相关性细菌性肺炎有效。头孢洛扎常与他唑
  • 迟发性肌肉痛延迟性肌肉酸痛(英语:delayed onset muscle soreness,DOMS)是一种运动之后24–72小时出现的肌肉酸痛或不舒适。通常会持续两至三日。旧式理论普遍认为该痛症为乳酸积聚所引起,但
  • 尸检验尸亦称尸体解剖、尸体检验、尸检,是一个彻底检查尸体的医疗程序,以确定死亡的原因和方式并评估任何可能存在的疾病或损伤。通常由病理学家、法医或验尸官等专门人员行验尸工
  • 张海超张海超开胸验肺事件,是指2009年河南省新密市农民工张海超为了证明自己得的是职业病尘肺病,却多方求助无门的情况下,而自己要求开胸验肺的一个惊人之举。暴露出现在中国职业病维
  • 异炔诺酮异炔诺酮(英语:Noretynodrel 或 英语:norethynodrel,商品名:Enovid等)是一种黄体制剂药物,过去被用于口服避孕药以及治疗一些妇科疾病,但现在已不再使用。异炔诺酮和炔诺酮的不同之
  • 皮尔斯县皮尔斯县(Pierce County, Georgia)是美国乔治亚州东南部的一个县。面积891平方公里。根据美国2000年人口普查,共有人口15,636人,2005年人口17,119人。县治布莱克希尔 (Blackshea
  • 临床使用PD-1/PD-L1抑制剂是一组用于治疗癌症的免疫检查点抑制剂 。 PD-1和PD-L1都是存在于细胞表面的蛋白质。此类的免疫检查点抑制剂正在成为几种癌症的一线治疗药物。PD-1/PD-L1
  • 美国的建国之父美国开国元勋(英语:Founding Fathers of the United States)是指签署《美国独立宣言》和《美国宪法》的政治领导人以及参与美国革命的领袖,又译作建国先贤。他们是美国的奠基者
  • RFID射频识别(英语:Radio Frequency IDentification,缩写:RFID)是一种无线通信技术,可以通过无线电信号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或者光学接触
  • 凯洛格弗兰克·比林斯·凯洛格(Frank Billings Kellogg,1856年2月22日-1937年12月21日),美国政治家,曾任美国国务卿。1927年,和法国外交部长阿里斯蒂德·白里安发起非战公约。凯洛格因此