📜  MOTOROLA 680X0和COLDFIRE处理器系列

📅  最后修改于: 2021-06-29 03:42:17             🧑  作者: Mango

68000处理器于1979年问世。在1980年代和1990年代初,68000、68020、6803068040瞄准了个人计算机市场,并被用于Apple计算机。 680X0系列的最新成员是68060,于1990年代中期推出。 68060和紧密相关的ColdFire系列面向嵌入式系统市场。首先,我们将介绍68020个处理器。

1. 68020处理器:

68020比68000更强大,主要是因为在体系结构上进行了一些重大改进。改进的VLSI技术和大型封装消除了引脚限制的许多限制,才使这些进步成为可能。 68020具有用于32位地址和32位数据的外部连接。尽管其数据总线为32位宽,但68020可以有效处理一次传输8位,16位或32位的设备。处理器可以以对任何程序员都透明的方式动态调整以适应特定设备的数据总线宽度要求。 68020总线包括控制线,该控制线由连接到总线的设备激活,以指示其数据传输的所需大小。因此,处理器可以在启动数据传输之前不知道实际大小的情况下处理具有不同数据传输大小的设备。

68020中取消了68000条限制,即字操作数必须在偶数地址边界上对齐。任何大小的操作数都可以从任何地址开始。这意味着16位和32位操作数可以占据内存中两个相邻32位位置的一部分。因此,需要两个访问周期才能到达此类操作数,这会影响性能。处理器自动执行这两个访问。通过该地址,处理器知道必须访问哪些32位位置,以及应该以哪种模式汇编来自这些位置的各个字节以获得所需的操作数。

寄存器集和数据类型–
像68000一样,68020具有用户和主管操作模式。在主管模式下,68020允许四字,未打包的BCD和位字段数据类型。一个四字组由64位组成,解压缩的BCD每字节有一个BCD数字。位字段由32位长字中的可变位数组成,并且由其最左侧位的位置和字段中的位数指定。

寻址模式–
68020处理器比68000处理器具有一些额外的寻址模式,因此它们可以更加灵活,并可以高效地访问数据和地址列表结构。全索引模式是最强大的,因为它允许一定范围的偏移量并提供比例因子。 68020版本允许位移为8、16或32位值。它还引入了比例因子,通过该比例因子可以将Rk的内容相乘。比例因子的值可以为1,2,4或8。代码的语法为:

(disp.An.Rk.size*scale)

An是寄存器间接寻址(寻址模式之一)。

我们注意到上面的代码在括号内给出了位移。因此,有效地址EA为:

EA = disp + [An] + ( [Rk] x scale )

当处理长度为1,2,4或8字节的项目列表时,此模式很有用。如果选择此比例因子以使其等于项目的大小,则可以通过将Rk的内容增加1来访问列表中的后续项目。

索引寻址的另一个强大扩展是内存间接索引模式,其中间接从主内存获取地址操作数。存在两种这样的模式。

内存间接后索引模式下,在进行正常索引处理之前从内存中获取地址。有效地址的计算方式为

EA = [basedip + [An]] + ([Rk] x scale) + outdip

注意,使用了两个位移。 16位或32位的基本位移用于修改An中的地址,该地址用于从内存中获取地址操作数。这允许从存储在内存中的地址列表中选择一个地址,该地址列表从An的内容给出的某个位置开始。第二个位移是索引寻址中使用的法向位移,称为外部位移以将其与基本位移区分开。

内存间接预索引模式下,大多数索引修改是在获取地址操作数之前完成的。该模式的语法是:

([basedip,An,Rk.size*scale],outdip) and then EA = [basedip + [An] + ([Rk] x scale)] + outdip

在上述两种模式中,除非用户指定,否则An,Rk,basedip和outdip的值是可选的,并且不包括在有效地址的计算中。这些寻址模式对于处理列表是有用的,在列表中,连续的内存位置用于存储数据项的地址,而不是数据项本身。后者可以在内存中的任何位置。

指令系统 –
68020中提供了所有68000条指令。有些具有更大的灵活性。例如,分支指令可以具有32位位移,并且一些指令可以选择使用更长的操作数。还提供了一些新指令,例如处理位字段操作数的指令。

片上缓存–
68020芯片包括一个小型指令高速缓存,该高速缓存具有256个字节,组织为64个长字块。将新单词加载到高速缓存时,将使用直接映射方案。

2. 68030和68040处理器:

与68020相比,68030有两个主要方面。除了指令高速缓存外,68030还具有另一个大小相同的数据高速缓存。数据缓存组织有16个块,每个块4个长字。 68030还包含一个内存管理单元(MMU)。

68030中的执行将生成虚拟地址。高速缓存访问电路根据虚拟地址确定所需的操作数是否在高速缓存中。 MMU将虚拟地址转换为与高速缓存访问并行的物理地址,以便在发生高速缓存访问未命中的情况下,如果主内存立即可用,则需要物理地址来访问操作数。

68040包括一个实现IEEE浮点标准的浮点单元。 68040具有以下内容:

  • 内存管理比68030有所改进; 68040具有两个独立的地址转换缓存,允许同时转换指令和数据的地址。
  • 它具有流水线结构,允许在仍在处理先前的指令时提取指令。
  • 两个内部总线用于从各自的缓存中传输指令和数据。它们还允许同时访问指令和数据缓存。
  • 它包括监视外部总线上活动的电路。因此,这使得68040适用于多处理器系统。

3. 68060处理器:

680X0系列的最新成员是68060 [6],于1990年代中期推出,时钟频率范围为50 – 75 MHz。该处理器旨在用于嵌入式系统市场。新的组织和附属功能使性能是40 MHz 68040的2.5倍。68080是流水线式超标量处理器。管道具有04个基本阶段,另外还有两个阶段(如果需要执行内存写回操作)。每个块周期最多可以启动03条指令。 03个函数单元-整数单元和浮点单元-构成主要的指令处理硬件。有单独的片上8K字节指令和数据高速缓存。每个高速缓存是一个4方式设置的关联,并使用16个字节的块。高速缓存提供了两个64位,4路,组关联的转换后备缓冲器,以促进虚拟到物理地址的转换。动态分支预测用于增强指令通过流水线的流畅性。

4. COLDFIRE处理器系列:

从1990年代中期开始,摩托罗拉就生产了一系列处理器组件和称为ColdFire系列的小型计算机配置论其目标市场是嵌入式系统市场。处理器基于68060处理器内核。许多不同的产品配置有少量的内存和I / O端口硬件,用于并行和串行连接。这些产品满足不同应用的一系列功率和性能要求。 ColdFire系列提供硬件芯片产品和可综合软件设计。