亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? me_register_test.uc

?? 開發Inetl IXP2400平臺所必須的硬件診斷和測試程序。該軟件包支持的功能包括CPU基本功能檢測
?? UC
?? 第 1 頁 / 共 2 頁
字號:
/* Register_Test.uc
 *
 *---------------------------------------------------------------------------
 *                                                                      
 *                  I N T E L   P R O P R I E T A R Y                   
 *                                                                      
 *     COPYRIGHT (c)  2002 BY  INTEL  CORPORATION.  ALL RIGHTS          
 *     RESERVED.   NO  PART  OF THIS PROGRAM  OR  PUBLICATION  MAY      
 *     BE  REPRODUCED,   TRANSMITTED,   TRANSCRIBED,   STORED  IN  A    
 *     RETRIEVAL SYSTEM, OR TRANSLATED INTO ANY LANGUAGE OR COMPUTER    
 *     LANGUAGE IN ANY FORM OR BY ANY MEANS, ELECTRONIC, MECHANICAL,    
 *     MAGNETIC,  OPTICAL,  CHEMICAL, MANUAL, OR OTHERWISE,  WITHOUT    
 *     THE PRIOR WRITTEN PERMISSION OF :                                
 *                                                                      
 *                        INTEL  CORPORATION                            
 *                                                                     
 *                     2200 MISSION COLLEGE BLVD                        
 *                                                                      
 *               SANTA  CLARA,  CALIFORNIA  95052-8119                  
 *                                                                      
 *---------------------------------------------------------------------------
 *
 *
 *  system: IXP2000
 *  subsystem: DIAG
 *  author: ccm, Mar 15, 02
 * 
 * --------------------------------------------------------------------------
 */

#include "../../../include/me_xscale_sync.h"

.sig dram_write dram_read
.sig sram_write sram_read
.sig scratch_write scratch_read

.reg A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15
.reg B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15

.reg $SW0 $SW1 $SW2 $SW3 $SW4 $SW5 $SW6 $SW7 $SW8 $SW9 $SW10 $SW11 $SW12 $SW13 $SW14 $SW15
.reg $SR0 $SR1 $SR2 $SR3 $SR4 $SR5 $SR6 $SR7 $SR8 $SR9 $SR10 $SR11 $SR12 $SR13 $SR14 $SR15
.xfer_order $SW0 $SW1 $SW2 $SW3 $SW4 $SW5 $SW6 $SW7 $SW8 $SW9 $SW10 $SW11 $SW12 $SW13 $SW14 $SW15
.xfer_order $SR0 $SR1 $SR2 $SR3 $SR4 $SR5 $SR6 $SR7 $SR8 $SR9 $SR10 $SR11 $SR12 $SR13 $SR14 $SR15

.reg $$DW0 $$DW1 $$DW2 $$DW3 $$DW4 $$DW5 $$DW6 $$DW7 $$DW8 $$DW9 $$DW10 $$DW11 $$DW12 $$DW13 $$DW14 $$DW15
.reg $$DR0 $$DR1 $$DR2 $$DR3 $$DR4 $$DR5 $$DR6 $$DR7 $$DR8 $$DR9 $$DR10 $$DR11 $$DR12 $$DR13 $$DR14 $$DR15
.xfer_order $$DW0 $$DW1 $$DW2 $$DW3 $$DW4 $$DW5 $$DW6 $$DW7 $$DW8 $$DW9 $$DW10 $$DW11 $$DW12 $$DW13 $$DW14 $$DW15
.xfer_order $$DR0 $$DR1 $$DR2 $$DR3 $$DR4 $$DR5 $$DR6 $$DR7 $$DR8 $$DR9 $$DR10 $$DR11 $$DR12 $$DR13 $$DR14 $$DR15

#define NUM_OF_NN_TO_TEST 128	// max 128
#define LM_TO_TEST 	640	// max 640

#define XFER_REG_TEST			// Stores status at scratch location 0 - 127
#define GPR_TESTS				// Stores status at scratch location 128 - 255
#define LOCAL_MEM_TEST			// Stores status at scratch location 256 - 287
#define NEXT_NEIGHBOR_TEST	// Stores status at scratch location 288 - 319

#define LMA_TEST_VAL 100000
#define X 0

#define ME 0

// Manual allocation of all GPR-A AND GPR-B
#WHILE(X < 16)
	.areg A/**/X X
	.breg B/**/X X
	#define_eval X (X + 1)
#ENDLOOP

/************************/
/*	TRANSFER REG TEST	*/
/************************/
// Requires 317 uword instructions
// ***** NOTE *****: Assumes GPR A0, A1 and B0 works
// A0 is used for storing the ctx number
TRANSFER_REG_TEST#:
#ifdef XFER_REG_TEST

// Obtain ctx number
local_csr_rd[active_ctx_sts]
immed[A0, 0]
alu[A0, 0x7, AND, A0]

// ***** Init SRAM and DRAM xfer regs *****
// Init values for SW[x]: SW[x] = x + 1 + ME<<4
// Init values for DW[x]: DW[x] = x + 1 + ME<<4 + 100
#define_eval X 0
#WHILE(X < 16)
	immed[B0, (X + 1)]
	alu[B0, B0, OR, A0, <<6]
	alu[$SW/**/X,  --, B, B0]
	immed[B0, (X + 1 + 512)]
	alu[B0, B0, OR, A0, <<6]
	alu[$$DW/**/X,  --, B, B0]
	#define_eval X (X + 1)
#ENDLOOP

// ***** Calculate addr for each thd to write and read back from memory *****
// to obtain ctx offset
// ctx number multiply 16, (<<4) to obtain offset
alu[A1, --, B, A0, <<4]

//********************************************************************
// calculate ME (make it between 0-7) and put it into B1
local_csr_rd[active_ctx_sts]
immed[B1, 0]
alu_shf[B1, 0x1f, AND, B1, >>3]
alu[--, B1, -, 0x3]
ble[me0_me3_0#]

alu[B1, 0x3, AND, B1]
alu[B1, 0x4, OR, B1]
br[me_obtain0#]

me0_me3_0#:
alu[B1, 0x3, AND, B1]

me_obtain0#:
//********************************************************************

// ME number offset
alu_shf[A1, A1, OR, B1, <<7]
alu_shf[A1, A1, OR, 1, <<10]

// ***** Write and Read back SRAM and DRAM memory *****
alu[A2, --, B, A1, <<2]	// shifted to access in Lword
alu [--, --, B, 0x1f, <<21]		//set ref count to be over-written with 16
scratch[write, $SW0, A2, 0, 8], indirect_ref, ctx_swap[sram_write]
alu [--, --, B, 0x1f, <<21]		//set ref count to be over-written with 16
scratch[read, $SR0, A2, 0, 8], indirect_ref, ctx_swap[sram_read]

immed[B1, 0x4, <<16]	// set DRAM_BASE = 2MB
alu[A1, A1, OR, B1]
alu[A1, --, B, A1, <<3]	// shifted to access in Qword (from Lword)
dram[write, $$DW0, A1, 0, 8], sig_done[dram_write]
ctx_arb[dram_write]
dram[read, $$DR0, A1, 0, 8], sig_done[dram_read]
ctx_arb[dram_read]

// ***** Check S_XFER_REG and D_XFER_REG *****
// Errors in SRAM xfer0-xfer15 will reside in lower 16 bits of A0
// Errors in DRAM xfer0-xfer15 will reside in higher 16 bits of A0

immed[A1, 0]	// Errors will be ORed into the respective bit of A0
#define_eval X 0
#WHILE(X < 16)
	// Check S xfer
	immed[B0, (X + 1)]
	alu[B0, B0, OR, A0, <<6]
	alu[--, $SR/**/X, -,  B0]
	bne[SRAM_XFER_REG_ERROR/**/X/**/#]
	SRAM_XFER_REG_CONT/**/X/**/#:

	// Check D xfer
	immed[B0, (X + 1 + 512)]
	alu[B0, B0, OR, A0, <<6]
	alu[--, $$DR/**/X, -, B0]
	bne[DRAM_XFER_REG_ERROR/**/X/**/#]
	DRAM_XFER_REG_CONT/**/X/**/#:

	#define_eval X (X + 1)
#ENDLOOP

br[XFER_REG_TEST_WRITE_STATUS#]


// ***** S XFER REG ERROR REPORTING *****
#define Y 16
#define_eval X 0
#WHILE(X < 16)
	SRAM_XFER_REG_ERROR/**/X/**/#:
	alu_shf[A1, A1, OR, 1, <<Y]
	br[SRAM_XFER_REG_CONT/**/X/**/#]
	#define_eval X (X + 1)
	#define_eval Y (Y + 1)
#ENDLOOP
#undef Y

// ***** D XFER REG ERROR REPORTING ******
#define Y 0
#define_eval X 0
#WHILE(X < 16)
	DRAM_XFER_REG_ERROR/**/X/**/#:
	alu_shf[A1, A1, OR, 1, <<Y]
	br[DRAM_XFER_REG_CONT/**/X/**/#]
	#define_eval X (X + 1)
	#define_eval Y (Y + 1)
#ENDLOOP
#undef Y

// ***** WRITE STATUS TO SCRATCH *****
XFER_REG_TEST_WRITE_STATUS#:
alu[$SW0, --, B, COMPLETE]	// to indicate it completed the test
alu[$SW1, --, B, A1]

//********************************************************************
// calculate ME (make it between 0-7) and put it into B1
local_csr_rd[active_ctx_sts]
immed[B1, 0]
alu_shf[B1, 0x1f, AND, B1, >>3]
alu[--, B1, -, 0x3]
ble[me0_me3_1#]

alu[B1, 0x3, AND, B1]
alu[B1, 0x4, OR, B1]
br[me_obtain1#]

me0_me3_1#:
alu[B1, 0x3, AND, B1]

me_obtain1#:
//********************************************************************

// XFER REG Test Status reqs 128 locations of Scratch (each thd requires 2)
alu[A1, --, B, A0, <<1]	// thd offset; each thd reqs two locations
alu_shf[A1, A1, OR, B1, <<4] // ME offset; each ME reqs 2*8 = 16 locations
alu[A1, --, B, A1, <<2]	// shifted to access in Lword
scratch[write, $SW0, A1, 0, 2], ctx_swap[scratch_write]

#endif	// XFER_REG_TEST


/************************/
/*		GPR_TEST		*/
/************************/
// Requires 177 uword instructions
// ***** NOTE *****: Assumes GPR A0 works
GPR_TEST#:
#ifdef GPR_TESTS

// ***** Init GPR *****
// Init values for A[x]: A[x] = x
// Init values for B[x]: B[x] = 100 + x
#define_eval X 0
#WHILE(X < 15)
	immed[A/**/X,  X]
	immed[B/**/X, (X + 100)]
	#define_eval X (X + 1)
#ENDLOOP

// ***** Tests All GPRs *****
// Each thread will tests R/W correctness of all 32 of its GPRs
immed[A15, 0]	// Clear A15 to store status of A0-A14 and B0-B14
#define_eval X 0
#WHILE(X < 15)
	alu[A/**/X, A/**/X, +, B/**/X]
	alu[--, A/**/X, -, (100 + X*2)]
	bne[GPR_/**/X/**/_ERROR#]
	alu[B/**/X, A/**/X, +, B/**/X]
	alu[--, B/**/X, -, (200 + X*3)]
	bne[GPR_/**/X/**/_ERROR#]
	GPR_/**/X/**/_CONT#:
	#define_eval X (X+1)
#ENDLOOP

// Transfer status of A0-A14 from A15 to A0 before testing A15
alu[A0, --, B, A15]
// Init values for A15 and B15
immed[A15,  15]
immed[B15, (15 + 100)]

// Test R/ correctness of A15 and B15
alu[A15, A15, +, B15]
alu[--, A15, -, (100 + 15*2)]
bne[GPR_15_ERROR#]
alu[B15, A15, +, B15]
alu[--, B15, -, (200 + 15*3)]
bne[GPR_15_ERROR#]
GPR_15_CONT#:

br[GPR_TEST_WRITE_STATUS#]


// ***** GPR ERROR REPORTING *****
#define_eval X 0
#WHILE(X < 15)
	GPR_/**/X/**/_ERROR#:
	alu_shf[A15, A15, OR, 1, <<X]
	br[GPR_/**/X/**/_CONT#]
	#define_eval X (X + 1)
#ENDLOOP

GPR_15_ERROR#:
alu_shf[A0, A0, OR, 1, <<15]
br[GPR_15_CONT#]

// ***** WRITE STATUS TO SCRATCH *****
GPR_TEST_WRITE_STATUS#:
alu[$SW0, --, B, COMPLETE]	// to indicate it completed the test
alu[$SW1, --, B, A0]

// Obtain ctx number
local_csr_rd[active_ctx_sts]
immed[A0, 0]
alu[A0, 0x7, AND, A0]

//********************************************************************
// calculate ME (make it between 0-7) and put it into B1
local_csr_rd[active_ctx_sts]
immed[B1, 0]
alu_shf[B1, 0x1f, AND, B1, >>3]
alu[--, B1, -, 0x3]
ble[me0_me3_2#]

alu[B1, 0x3, AND, B1]
alu[B1, 0x4, OR, B1]
br[me_obtain2#]

me0_me3_2#:
alu[B1, 0x3, AND, B1]

me_obtain2#:
//********************************************************************

// GPR REG Test Status reqs 128 locations of Scratch (each thd requires 2)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av小说网| 久久精品国产亚洲a| 国产精品色哟哟| 国产亚洲欧美日韩在线一区| 精品久久久久久综合日本欧美| 日韩亚洲欧美一区| 精品国产免费久久| 亚洲国产成人在线| 亚洲欧美日韩一区二区三区在线观看| 国产精品美女久久久久aⅴ国产馆| 国产精品久久久久精k8| 亚洲激情在线激情| 日韩不卡一区二区| 精久久久久久久久久久| 国产成人免费视频网站高清观看视频| 懂色av中文一区二区三区| 色国产精品一区在线观看| 欧美日韩精品一区二区在线播放| 欧美一级精品在线| 中文一区在线播放| 天使萌一区二区三区免费观看| 日本色综合中文字幕| 精品日韩成人av| 欧美不卡一区二区三区四区| 精品欧美一区二区在线观看| 久久嫩草精品久久久久| 国产精品美女久久久久高潮| 亚洲精品网站在线观看| 欧美aaa在线| 99视频精品全部免费在线| 欧美精品一卡两卡| 国产精品精品国产色婷婷| 婷婷久久综合九色国产成人 | 欧美无乱码久久久免费午夜一区 | 国产成人鲁色资源国产91色综| 成人夜色视频网站在线观看| 精品国产一区二区国模嫣然| 秋霞电影一区二区| 成人午夜视频网站| 欧美日韩一区二区电影| 久久免费电影网| 夜夜嗨av一区二区三区四季av| 久久精品av麻豆的观看方式| 色悠悠久久综合| 久久香蕉国产线看观看99| 香蕉乱码成人久久天堂爱免费| 国产激情偷乱视频一区二区三区| 在线不卡中文字幕播放| 亚洲天堂av老司机| 国产成人精品一区二| 8v天堂国产在线一区二区| 一区二区三区高清不卡| 国产成人免费av在线| 日韩欧美国产一区二区三区| 亚洲在线视频一区| av不卡在线观看| 午夜影院久久久| 精品国产百合女同互慰| 亚洲天堂中文字幕| 成人精品一区二区三区四区 | 国产精品污网站| 日韩av一级片| 欧美体内she精视频| 亚洲欧美偷拍另类a∨色屁股| 国产成人av福利| 久久久一区二区三区捆绑**| 精品一区中文字幕| 日韩欧美一区二区在线视频| 日本不卡一二三| 欧美肥胖老妇做爰| 蜜臀a∨国产成人精品| 欧美精品tushy高清| 亚洲大片免费看| 中文字幕一区二区三区在线观看| 亚洲精品国产一区二区精华液 | 日韩欧美国产精品一区| 日韩高清在线观看| 3d动漫精品啪啪一区二区竹菊| 亚洲自拍偷拍欧美| 欧美精选一区二区| 日韩综合一区二区| 欧美成人精精品一区二区频| 美女国产一区二区三区| ww亚洲ww在线观看国产| 国产成人一区在线| 亚洲视频免费观看| 欧美网站大全在线观看| 日产欧产美韩系列久久99| 日韩欧美国产一区在线观看| 国产成人免费视频一区| 亚洲精品视频自拍| 国产成人免费在线观看| 91麻豆高清视频| 亚洲一区影音先锋| 欧美日韩国产综合一区二区三区 | 亚洲黄色免费网站| 欧美三级蜜桃2在线观看| 日韩中文字幕麻豆| 国产婷婷精品av在线| 91网站视频在线观看| 午夜亚洲福利老司机| 日韩精品一区二| 97se亚洲国产综合在线| 一区二区三区不卡视频| 91精品国产aⅴ一区二区| 国产精品一区二区三区网站| 亚洲乱码中文字幕| 日韩精品一区二区三区视频在线观看| 不卡的电影网站| 青草av.久久免费一区| 91精品国产91综合久久蜜臀| 精品国产乱码久久久久久夜甘婷婷| 久久99精品国产麻豆婷婷洗澡| 国产午夜精品美女毛片视频| 欧美专区日韩专区| 国产精品一区二区久激情瑜伽| 亚洲一区二区三区精品在线| 久久欧美中文字幕| 666欧美在线视频| 成人av高清在线| 久久99精品国产.久久久久久| 一区二区三区欧美日韩| 免费久久精品视频| 成人国产免费视频| 狠狠色丁香久久婷婷综合丁香| 一区在线中文字幕| 日韩欧美国产系列| 欧美色图12p| 色偷偷88欧美精品久久久| 91黄色小视频| 国产乱码字幕精品高清av| 一区二区三区欧美视频| 国产精品护士白丝一区av| 精品噜噜噜噜久久久久久久久试看 | 紧缚奴在线一区二区三区| 亚洲电影视频在线| 亚洲日本在线天堂| 国产精品国模大尺度视频| 国产日本欧美一区二区| 欧美mv日韩mv亚洲| 欧美成人一级视频| 这里只有精品电影| 在线电影院国产精品| 欧美精品v国产精品v日韩精品| 91精品1区2区| 一道本成人在线| 在线欧美日韩精品| 91久久精品一区二区二区| 91视视频在线直接观看在线看网页在线看| 国产成人一级电影| 粉嫩高潮美女一区二区三区 | 日本电影欧美片| 欧美自拍偷拍一区| 欧美三日本三级三级在线播放| 色视频欧美一区二区三区| 欧洲国内综合视频| 欧美日韩国产精选| 日韩一区国产二区欧美三区| 日韩一级免费一区| 欧美精品一区二区三区蜜桃视频| 欧美电影免费提供在线观看| 2022国产精品视频| 国产精品女主播av| 亚洲欧美区自拍先锋| 亚洲一区二区av电影| 欧美aaaaaa午夜精品| 国产福利一区在线| 色偷偷久久人人79超碰人人澡| 欧洲精品在线观看| 精品久久一二三区| 国产精品久久久久aaaa| 亚洲国产精品影院| 欧美日韩一区二区在线视频| 亚洲成人在线免费| 亚洲成a人在线观看| 免费视频最近日韩| 丁香天五香天堂综合| 91福利在线观看| 精品国产麻豆免费人成网站| 中文字幕中文字幕在线一区 | 国产毛片精品一区| 94色蜜桃网一区二区三区| 欧美三级资源在线| xnxx国产精品| 亚洲高清在线精品| 成人综合婷婷国产精品久久免费| 91福利国产精品| 久久一区二区三区四区| 一区二区三区成人| 国产成人精品一区二区三区四区| 欧美日韩在线播放三区四区| 久久―日本道色综合久久| 一区二区三区高清在线| 国产精品资源站在线| 自拍偷拍亚洲综合| 在线播放欧美女士性生活| 久久精品欧美日韩| 日韩激情视频网站| 97久久超碰精品国产| 精品成a人在线观看|