CN105005463B - 具有世代重命名的计算机处理器 - Google Patents
具有世代重命名的计算机处理器 Download PDFInfo
- Publication number
- CN105005463B CN105005463B CN201510206131.XA CN201510206131A CN105005463B CN 105005463 B CN105005463 B CN 105005463B CN 201510206131 A CN201510206131 A CN 201510206131A CN 105005463 B CN105005463 B CN 105005463B
- Authority
- CN
- China
- Prior art keywords
- instruction
- register
- memory
- coupled
- branch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000015654 memory Effects 0.000 claims description 131
- 230000004087 circulation Effects 0.000 claims description 97
- 238000003860 storage Methods 0.000 claims description 78
- 238000011068 loading method Methods 0.000 claims description 73
- 230000007246 mechanism Effects 0.000 claims description 67
- 238000004891 communication Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 6
- 238000000034 method Methods 0.000 description 57
- 230000008569 process Effects 0.000 description 51
- 235000013399 edible fruits Nutrition 0.000 description 12
- 238000013461 design Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 7
- 230000015572 biosynthetic process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000003786 synthesis reaction Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 101100421779 Arabidopsis thaliana SNL3 gene Proteins 0.000 description 4
- 101100042631 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SIN3 gene Proteins 0.000 description 4
- 239000004744 fabric Substances 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- NCGICGYLBXGBGN-UHFFFAOYSA-N 3-morpholin-4-yl-1-oxa-3-azonia-2-azanidacyclopent-3-en-5-imine;hydrochloride Chemical compound Cl.[N-]1OC(=N)C=[N+]1N1CCOCC1 NCGICGYLBXGBGN-UHFFFAOYSA-N 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002194 synthesizing effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 241000931705 Cicada Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 238000011049 filling Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000010387 memory retrieval Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30058—Conditional branch instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30065—Loop control instructions; iterative instructions, e.g. LOOP, REPEAT
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
- G06F9/3832—Value prediction for operands; operand history buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
- G06F9/3848—Speculative instruction execution using hybrid branch prediction, e.g. selection between prediction techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
Claims (10)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461984709P | 2014-04-25 | 2014-04-25 | |
US61/984,709 | 2014-04-25 | ||
US14/530,370 US9710272B2 (en) | 2014-04-25 | 2014-10-31 | Computer processor with generation renaming |
US14/530,370 | 2014-10-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105005463A CN105005463A (zh) | 2015-10-28 |
CN105005463B true CN105005463B (zh) | 2018-03-06 |
Family
ID=53039258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510206131.XA Active CN105005463B (zh) | 2014-04-25 | 2015-04-27 | 具有世代重命名的计算机处理器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9710272B2 (zh) |
EP (1) | EP2937776A3 (zh) |
CN (1) | CN105005463B (zh) |
HK (1) | HK1214377A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9459871B2 (en) * | 2012-12-31 | 2016-10-04 | Intel Corporation | System of improved loop detection and execution |
US10095631B2 (en) * | 2015-12-10 | 2018-10-09 | Arm Limited | System address map for hashing within a chip and between chips |
US10528355B2 (en) * | 2015-12-24 | 2020-01-07 | Arm Limited | Handling move instructions via register renaming or writing to a different physical register using control flags |
JP2018041261A (ja) * | 2016-09-07 | 2018-03-15 | 東芝テック株式会社 | 情報処理装置及びプログラム |
WO2019005975A1 (en) * | 2017-06-28 | 2019-01-03 | Nvidia Corporation | TYPE OF MEMORY THAT CAN BE HANGED WHILE INACCESSIBLE BY SPECULATIVE INSTRUCTIONS |
US10719325B2 (en) | 2017-11-07 | 2020-07-21 | Qualcomm Incorporated | System and method of VLIW instruction processing using reduced-width VLIW processor |
US11099846B2 (en) * | 2018-06-20 | 2021-08-24 | Advanced Micro Devices, Inc. | Apparatus and method for resynchronization prediction with variable upgrade and downgrade capability |
US10956160B2 (en) * | 2019-03-27 | 2021-03-23 | Intel Corporation | Method and apparatus for a multi-level reservation station with instruction recirculation |
CN110502279A (zh) * | 2019-08-23 | 2019-11-26 | 中国人民解放军国防科技大学 | 一种基于可标记指令的发射队列智能调节方法 |
CN111414196B (zh) * | 2020-04-03 | 2022-07-19 | 中国人民解放军国防科技大学 | 一种零值寄存器的实现方法及装置 |
CN117130668B (zh) * | 2023-10-27 | 2023-12-29 | 南京沁恒微电子股份有限公司 | 一种处理器取指重定向时序优化电路 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0863460A2 (en) * | 1997-03-03 | 1998-09-09 | International Business Machines Corporation | Management of both renamed and architected registers in a superscalar computer system |
US5881262A (en) * | 1994-01-04 | 1999-03-09 | Intel Corporation | Method and apparatus for blocking execution of and storing load operations during their execution |
US6370637B1 (en) * | 1999-08-05 | 2002-04-09 | Advanced Micro Devices, Inc. | Optimized allocation of multi-pipeline executable and specific pipeline executable instructions to execution pipelines based on criteria |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5625788A (en) * | 1994-03-01 | 1997-04-29 | Intel Corporation | Microprocessor with novel instruction for signaling event occurrence and for providing event handling information in response thereto |
TW260765B (zh) | 1994-03-31 | 1995-10-21 | Ibm | |
US5634026A (en) * | 1995-05-12 | 1997-05-27 | International Business Machines Corporation | Source identifier for result forwarding |
US5996063A (en) | 1997-03-03 | 1999-11-30 | International Business Machines Corporation | Management of both renamed and architected registers in a superscalar computer system |
US6240509B1 (en) | 1997-12-16 | 2001-05-29 | Intel Corporation | Out-of-pipeline trace buffer for holding instructions that may be re-executed following misspeculation |
US7043626B1 (en) * | 2003-10-01 | 2006-05-09 | Advanced Micro Devices, Inc. | Retaining flag value associated with dead result data in freed rename physical register with an indicator to select set-aside register instead for renaming |
US8019981B1 (en) * | 2004-01-06 | 2011-09-13 | Altera Corporation | Loop instruction execution using a register identifier |
US7941627B2 (en) * | 2008-02-01 | 2011-05-10 | International Business Machines Corporation | Specialized memory move barrier operations |
US9286066B2 (en) * | 2009-11-24 | 2016-03-15 | Nec Corporation | Processor, and method of loop count control by processor |
US20120110594A1 (en) * | 2010-10-28 | 2012-05-03 | Advanced Micro Devices, Inc. | Load balancing when assigning operations in a processor |
US8943066B2 (en) * | 2012-08-14 | 2015-01-27 | International Business Machines Corporation | Management of data groups and data sets |
-
2014
- 2014-10-31 US US14/530,370 patent/US9710272B2/en active Active
-
2015
- 2015-04-24 EP EP15164988.6A patent/EP2937776A3/en not_active Withdrawn
- 2015-04-27 CN CN201510206131.XA patent/CN105005463B/zh active Active
-
2016
- 2016-02-24 HK HK16102113.0A patent/HK1214377A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5881262A (en) * | 1994-01-04 | 1999-03-09 | Intel Corporation | Method and apparatus for blocking execution of and storing load operations during their execution |
EP0863460A2 (en) * | 1997-03-03 | 1998-09-09 | International Business Machines Corporation | Management of both renamed and architected registers in a superscalar computer system |
US6370637B1 (en) * | 1999-08-05 | 2002-04-09 | Advanced Micro Devices, Inc. | Optimized allocation of multi-pipeline executable and specific pipeline executable instructions to execution pipelines based on criteria |
Also Published As
Publication number | Publication date |
---|---|
EP2937776A3 (en) | 2015-11-04 |
CN105005463A (zh) | 2015-10-28 |
US20150309797A1 (en) | 2015-10-29 |
US9710272B2 (en) | 2017-07-18 |
HK1214377A1 (zh) | 2016-07-22 |
EP2937776A2 (en) | 2015-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105005463B (zh) | 具有世代重命名的计算机处理器 | |
US11379234B2 (en) | Store-to-load forwarding | |
US6163839A (en) | Non-stalling circular counterflow pipeline processor with reorder buffer | |
CN108196884B (zh) | 利用生成重命名的计算机信息处理器 | |
US8032734B2 (en) | Coprocessor load data queue for interfacing an out-of-order execution unit with an in-order coprocessor | |
US7647475B2 (en) | System for synchronizing an in-order co-processor with an out-of-order processor using a co-processor interface store data queue | |
CN101395573B (zh) | 乱序处理器中的分布式记分板调度 | |
CN107851020A (zh) | 用于指令存储器效率的设备和处理架构 | |
US9910672B2 (en) | Speculative load issue | |
US8645588B2 (en) | Pipelined serial ring bus | |
US20150309795A1 (en) | Zero overhead loop | |
CN105242906B (zh) | 利用世代数的重命名的处理装置和方法 | |
US11175917B1 (en) | Buffer for replayed loads in parallel with reservation station for rapid rescheduling | |
US11507379B2 (en) | Managing load and store instructions for memory barrier handling | |
KR100431975B1 (ko) | 분기에의한중단이없는파이프라인방식의마이크로프로세서를위한다중명령디스패치시스템 | |
US10346165B2 (en) | Resource locking for load store scheduling in a VLIW processor | |
US10241788B2 (en) | Method and system for determining instruction conflict states for issuance of memory instructions in a VLIW processor | |
US10983801B2 (en) | Load/store ordering violation management | |
US20080282050A1 (en) | Methods and arrangements for controlling memory operations | |
US7783692B1 (en) | Fast flag generation | |
US6928534B2 (en) | Forwarding load data to younger instructions in annex | |
JP6225554B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
Ho | The design and development of a branch target buffer based on a 2-bit prediction scheme for a 32-bit RISC32 pipeline processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1214377 Country of ref document: HK |
|
TA01 | Transfer of patent application right |
Effective date of registration: 20170315 Address after: Singapore Singapore Applicant after: Avago Technologies Fiber IP Singapore Pte. Ltd. Address before: American California Applicant before: Zyray Wireless Inc. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20181024 Address after: Singapore Singapore Patentee after: Annwa high tech Limited by Share Ltd Address before: Singapore Singapore Patentee before: Avago Technologies Fiber IP Singapore Pte. Ltd. |
|
TR01 | Transfer of patent right | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1214377 Country of ref document: HK |