Sign In to Follow Application
View All Documents & Correspondence

Pre Memory Initialization Multithread Parallel Computing Platform

Abstract: A computing device (100) that implements a multithread parallel processing computing platform prior to initialization of system memory is provided. To implement this platform, the computing device (100) executes enhanced firmware (116) that defines a plurality of application processors (APs) under the control of a boot-strap processor (BSP). The BSP preserves backward compatibility of the APs by configuring cross-reference circuitry (e.g., a programmable attribute map) to reroute memory access requests generated by the APs that are addressed to a wakeup buffer to a redirected memory address. Memory at the redirected memory address stores AP initialization instructions and instructions to retrieve and process early stage process instructions stored elsewhere (e.g., in fast access cache memory). The APs, in parallel, execute the initialization instructions and the early stage process instructions stored in cache to complete an early stage process, such as memory training.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
09 March 2020
Publication Number
11/2020
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
ipo@iphorizons.com
Parent Application

Applicants

INTEL CORPORATION
2200 Mission College Blvd. Santa Clara, California 95054

Inventors

1. QIN, Zhiqiang
No. 880 Zi Xing Road, Minhang District Shanghai 200241
2. XU, Tao
No. 880 Zi Xing Road, Minhang District Shanghai 200241
3. HUANG, Qing
No. 880 Zi Xing Road, Minhang District Shanghai 200241

Specification

WE CLAIM:
1. A computing device comprising:
a firmware storage device storing firmware instructions;
first cross-reference circuitry configured to redirect memory access requests addressed to at
least one target memory address to at least one redirected memory address; and at least one core coupled to the first cross-reference circuitry and the firmware storage device and configured to:
execute a first thread to implement a boot-strap processor (BSP); execute at least one second thread to implement at least one application processor (AP); transmit, via the BSP, a message to the at least one AP, the message identifying the
at least one target memory address; request, via the at least one AP, instructions stored at the at least one target memory
address; and receive, via execution of the first cross-reference circuitry, a subset of the firmware instructions stored at the at least one redirected memory address.
2. The computing device of claim 1, wherein the first cross-reference circuitry comprises a programmable attribute map and associated logic circuitry, the message comprises a startup inter-processor interrupt, and the at least one target memory address comprises a memory address of a wakeup buffer.
3. The computing device of claim 1, wherein the at least one core comprises a first core and a second core distinct from the first core and the first core is configured to execute the first thread and the second core is configured to execute the at least one second thread.
4. The computing device of any of claims 1 through 3, further comprising cache memory
coupled to the at least one core, wherein the at least one redirected memory address resides in
either the cache memory or the firmware storage device.

5. The computing device of claim 4, wherein the at least one core is further configured to:
configure at least a portion of the cache memory as no-evict mode memory; and store, in the no-evict mode memory via the BSP, task instructions executable via the at least one AP.
6. The computing device of claim 5, wherein the subset of the firmware instructions comprises firmware instructions to execute the task instructions stored in the no-evict mode memory and the at least one core is further configured to execute, via the at least one AP, the subset of the firmware instructions.
7. The computing device of claim 6, further comprising:
at least one memory controller coupled to the at least one core; and
system memory coupled to the at least one memory controller, wherein the task
instructions stored in the no-evict mode memory comprise task instructions to train the system
memory via the at least one memory controller.
8. The computing device of claim 1, further comprising a plurality of nodes including a first node
and a second node distinct from the first node, the first node comprising the first cross-reference
circuitry and the at least one core, the second node comprising second cross-reference circuitry
and one or more cores coupled to the second cross-reference circuitry and the firmware storage
device, wherein
the at least one core is coupled to the one or more cores via a processor interconnect,
the BSP is a system BSP (SBSP),
the one or more cores are configured to execute a third thread to implement a node BSP
(NBSP) and to execute at least one fourth thread to implement one or more
application processors (APs), and the SBSP is configured to initiate the NBSP at least in part by initializing the processor
interconnect.

9. The computing device of claim 8, wherein the at least one core is configured to synchronize
instructions with the one or more cores via one or more pipe requests transmitted via the SBSP.
10. A method of executing pre-memory initialization multithread, parallel processing using a
computing device, the method comprising:
executing a first thread to implement a boot-strap processor (BSP);
executing at least one second thread to implement at least one application processor (AP);
transmitting, via the BSP, a message to the at least one AP, the message identifying at
least one target memory address corresponding to at least on redirected memory
address; requesting, via the at least one AP, instructions stored at the at least one target memory
address; and receiving, via execution of cross-reference circuitry, a subset of firmware instructions
stored at the at least one redirected memory address.
11. The method of claim 10, wherein:
transmitting the message comprises transmitting a startup inter-processor interrupt identifying the at least one target memory address as a memory address of a wakeup buffer; and
receiving the subset of firmware instructions comprises receiving the subset via execution of logic circuitry associated with a programmable attribute map.
12. The method of claim 10, wherein:
executing the first thread comprises executing the first thread via a first core distinct from a second core; and
executing the at least one second thread comprises executing the at least one second thread via the second core.
13. The method of any of claims 10 through 12, wherein transmitting the message comprises
transmitting a message identifying a target memory address corresponding to a redirected
memory address residing in either cache memory or a firmware storage device.

14. The method of claim 13, wherein the redirected memory address resides in the cache
memory and the method further comprises:
configuring at least a portion of the cache memory as no-evict mode memory; and storing, in the no-evict mode memory via the BSP, task instructions executable via the at least one AP.
15. The method of claim 14, wherein the subset of the firmware instructions comprises firmware instructions to execute the task instructions stored in the no-evict mode memory and the method further comprises executing, via the at least one AP, the subset of the firmware instructions.
16. The method of claim 15, wherein the task instructions stored in the no-evict mode memory comprise task instructions to train system memory and the method further comprises training the system memory via at least one memory controller at least in party by executing the task instructions stored in the no-evict mode memory.
17. The method of claim 10, wherein executing the first thread to implement the BSP comprises executing the first thread to implement an SBSP one a first node of the computing device that is distinct from a second node of the computing device and the method further comprises executing a third thread on the second node to implement a node BSP (NBSP), executing at least one AP via a fourth thread on the second node, and initiating the NBSP at least in party by initializing a processor interconnect.
18. A non-transitory computer readable medium encoded with instructions executable by at least one core to execute a process to provide a pre-memory initialization multithread parallel computing platform, the process comprising:
executing a first thread to implement a boot-strap processor (BSP);
executing at least one second thread to implement at least one application processor (AP);
transmitting, via the BSP, a message to the at least one AP, the message identifying at
least one target memory address corresponding to at least on redirected memory
address;

requesting, via the at least one AP, instructions stored at the at least one target memory
address; and receiving, via execution of cross-reference circuitry, a subset of firmware instructions
stored at the at least one redirected memory address.
19. The computer readable medium of claim 18, wherein:
transmitting the message comprises transmitting a startup inter-processor interrupt identifying the at least one target memory address as a memory address of a wakeup buffer; and
receiving the subset of firmware instructions comprises receiving the subset via execution of logic circuitry associated with a programmable attribute map.
20. The computer readable medium of claim 18, wherein:
executing the first thread comprises executing the first thread via a first core distinct from a second core; and
executing the at least one second thread comprises executing the at least one second thread via the second core.
21. The computer readable medium of any of claims 18 through 20, wherein transmitting the message comprises transmitting a message identifying a target memory address corresponding to a redirected memory address residing in either cache memory or a firmware storage device.
22. The computer readable medium of claim 21, the process further comprising:
configuring at least a portion of the cache memory as no-evict mode memory; and storing, in the no-evict mode memory via the BSP, task instructions executable via the at least one AP.
23. The computer readable medium of claim 22, wherein the subset of the firmware instructions
comprises firmware instructions to execute the task instructions stored in the no-evict mode
memory and the process further comprises executing, via the at least one AP, the subset of the
firmware instructions.

24. The computer readable medium of claim 23, wherein the task instructions stored in the no-evict mode memory comprise task instructions to train system memory and the process further comprises training the system memory via at least one memory controller at least in party by executing the task instructions stored in the no-evict mode memory.
25. The computer readable medium of claim 18, wherein executing the first thread to implement the BSP comprises executing the first thread to implement an SBSP one a first node of the computing device that is distinct from a second node of the computing device and the process further comprises executing a third thread on the second node to implement a node BSP (NBSP), executing at least one AP via a fourth thread on the second node, and initiating the NBSP at least in party by initializing a processor interconnect.

Documents

Application Documents

# Name Date
1 202047010166-Annexure [16-08-2024(online)].pdf 2024-08-16
1 202047010166.pdf 2020-03-09
2 202047010166-FORM 1 [09-03-2020(online)].pdf 2020-03-09
2 202047010166-Written submissions and relevant documents [16-08-2024(online)].pdf 2024-08-16
3 202047010166-DRAWINGS [09-03-2020(online)].pdf 2020-03-09
3 202047010166-Correspondence to notify the Controller [19-06-2024(online)].pdf 2024-06-19
4 202047010166-US(14)-HearingNotice-(HearingDate-01-08-2024).pdf 2024-06-19
4 202047010166-DECLARATION OF INVENTORSHIP (FORM 5) [09-03-2020(online)].pdf 2020-03-09
5 202047010166-Proof of Right [08-04-2022(online)].pdf 2022-04-08
5 202047010166-COMPLETE SPECIFICATION [09-03-2020(online)].pdf 2020-03-09
6 202047010166-FORM 18 [06-05-2020(online)].pdf 2020-05-06
6 202047010166-CLAIMS [31-01-2022(online)].pdf 2022-01-31
7 202047010166-FORM-26 [05-06-2020(online)].pdf 2020-06-05
7 202047010166-FER_SER_REPLY [31-01-2022(online)].pdf 2022-01-31
8 202047010166-FORM 3 [31-01-2022(online)].pdf 2022-01-31
8 202047010166-FORM 3 [07-09-2020(online)].pdf 2020-09-07
9 202047010166-FORM 3 [08-03-2021(online)].pdf 2021-03-08
9 202047010166-Information under section 8(2) [31-01-2022(online)].pdf 2022-01-31
10 202047010166-FER.pdf 2021-10-18
10 202047010166-OTHERS [31-01-2022(online)].pdf 2022-01-31
11 202047010166-FER.pdf 2021-10-18
11 202047010166-OTHERS [31-01-2022(online)].pdf 2022-01-31
12 202047010166-FORM 3 [08-03-2021(online)].pdf 2021-03-08
12 202047010166-Information under section 8(2) [31-01-2022(online)].pdf 2022-01-31
13 202047010166-FORM 3 [07-09-2020(online)].pdf 2020-09-07
13 202047010166-FORM 3 [31-01-2022(online)].pdf 2022-01-31
14 202047010166-FER_SER_REPLY [31-01-2022(online)].pdf 2022-01-31
14 202047010166-FORM-26 [05-06-2020(online)].pdf 2020-06-05
15 202047010166-CLAIMS [31-01-2022(online)].pdf 2022-01-31
15 202047010166-FORM 18 [06-05-2020(online)].pdf 2020-05-06
16 202047010166-COMPLETE SPECIFICATION [09-03-2020(online)].pdf 2020-03-09
16 202047010166-Proof of Right [08-04-2022(online)].pdf 2022-04-08
17 202047010166-DECLARATION OF INVENTORSHIP (FORM 5) [09-03-2020(online)].pdf 2020-03-09
17 202047010166-US(14)-HearingNotice-(HearingDate-01-08-2024).pdf 2024-06-19
18 202047010166-DRAWINGS [09-03-2020(online)].pdf 2020-03-09
18 202047010166-Correspondence to notify the Controller [19-06-2024(online)].pdf 2024-06-19
19 202047010166-Written submissions and relevant documents [16-08-2024(online)].pdf 2024-08-16
19 202047010166-FORM 1 [09-03-2020(online)].pdf 2020-03-09
20 202047010166.pdf 2020-03-09
20 202047010166-Annexure [16-08-2024(online)].pdf 2024-08-16

Search Strategy

1 202047010166E_28-07-2021.pdf