新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 處理器系列之PowerPC指令集

處理器系列之PowerPC指令集

作者: 時(shí)間:2018-01-12 來源:網(wǎng)絡(luò) 收藏

   應(yīng)用級(jí)指令集

本文引用地址:http://m.butianyuan.cn/article/201801/374368.htm

  表 1 列出了不同的指令類別以及每類的指令類型。

  表 1. 指令類別

    

 

    

 

  指令解析

  所有指令的編碼長(zhǎng)度都是 32 位。 的位編號(hào)方式與大部分其他定義相反:第 0 位是最重要的位,第 31 位是最不重要的位。指令首先由一個(gè)字段中較高的 6 位進(jìn)行解碼,這 6 位稱為 主要操作碼(primary opcode)。其余 26 位包含的字段分別是操作數(shù)說明、立即(immediate)操作數(shù)以及擴(kuò)展的操作碼(opcode),而且這些還可能是保留的位或字段。表 2 列出了  定義的基本指令格式。

  表 2. PowerPC 指令格式

    

 

  D-form

  這一指令格式提供至多兩個(gè)寄存器作為源操作數(shù),一個(gè)立即源,至多兩個(gè)寄存器作為目的操作數(shù)。這一指令格式的一些變種使用部分目的和源寄存器操作數(shù)說明符作為立即字段或作為擴(kuò)展的操作碼。

  X-form

  這一指令格式提供至多兩個(gè)寄存器作為源操作數(shù),至多兩個(gè)目的操作數(shù)。這一指令格式的一些變種使用部分目的和源寄存器操作數(shù)說明符作為立即字段或作為擴(kuò)展的操作碼。

  A-form

  這一指令格式提供至多三個(gè)寄存器作為源操作數(shù),以及一個(gè)目的操作數(shù)。這一指令格式的一些變種使用部分目的和源寄存器操作數(shù)說明符作為立即字段或作為擴(kuò)展的操作碼。

  BD-form

  條件轉(zhuǎn)移指令使用的是這一指令格式。BO 指令字段指定了條件的類型;BI 指令字段指定了以哪個(gè) CR 位作為條件;BD 字段用作轉(zhuǎn)移位置。AA 位指定了轉(zhuǎn)移是絕對(duì)轉(zhuǎn)移還是相對(duì)轉(zhuǎn)移。換名話說,轉(zhuǎn)移目標(biāo)地址是立即字段的值,還是立即字段的值與轉(zhuǎn)移地址的和。LK 位指定了下一個(gè)順序指令的地址是否作為子例程調(diào)用的返回地址保存在鏈接寄存器中。

  I-form

  無條件轉(zhuǎn)移指令使用這一指令格式。由于是無條件的,BD 格式中的 BO 和 BI 字段改變?yōu)榱硗獾霓D(zhuǎn)移位置,以構(gòu)成 LI 指令字段。同 BD 格式一樣,這一指令格式也支持 AA 和 LK 位。

  如前所述,這些指令格式各有其變種。不過,這些格式是對(duì)大部分 PowerPC 指令集編碼結(jié)構(gòu)的最好描述。

  轉(zhuǎn)移指令

  PowerPC 為控制流程提供了一組指令,包括:

  條件和無條件轉(zhuǎn)移指令。

  “遞減計(jì)數(shù)和如果是零或者非零時(shí)轉(zhuǎn)移”的能力。

  絕對(duì)轉(zhuǎn)移和相對(duì)轉(zhuǎn)移。

  使用鏈接寄存器或計(jì)數(shù)寄存器來指定轉(zhuǎn)移目標(biāo)地址的轉(zhuǎn)移指令。

  所有的轉(zhuǎn)移指令都具備保存后繼順序指令地址的能力,包括到鏈接寄存器的轉(zhuǎn)移。條件寄存器 32 位中的任意一位都可以指定為條件轉(zhuǎn)移的條件,并可以指定 CR 位是否必須為 0 或 1 時(shí)轉(zhuǎn)移條件才成立。

  條件寄存器指令

  PowerPC 提供了一組用于對(duì) CR 的特定位執(zhí)行布爾操作和對(duì) CR 字段進(jìn)行拷貝的指令。它允許組合多個(gè)轉(zhuǎn)移條件,這樣可以減少代價(jià)高昂的條件轉(zhuǎn)移的數(shù)量。表 3 列出了 PowerPC CR 邏輯指令。



關(guān)鍵詞: 處理器 PowerPC

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉