← Back to Patent Explorer
US5404476A Expired / Lapsed US ⏱️ 0.0 years remaining

Multiprocessing system having a single translation lookaside buffer with reduced processor overhead

Assignee: NEC Corp
•
Filing: 1993-03-09
•
Granted: 1995-04-04
•
Expires: 2013-03-09
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A requesting processor issues an instruction containing a segmented virtual space identifier (VSID) and a shared-access or nonshared-access identifier. A single translation lookaside buffer is divided into TLB partitions which have corresponding directory registers. Each directory register has a first field for storing a VSID and a second field have bit positions respectively assigned to the processors of the system. If the instruction contains a nonshared-access identifier, a directory controller selects one of the registers whose second field contains all vacant bit positions and writes the VSID of the instruction into the register and sets a bit in a position assigned to the requesting processor. The controller detects a register having the same VSID and first and second bits in positions respectively assigned to the master and requesting processors, and resets the second bit. If the instruction contains a shared-access identifier, then the directory controller detects a first register having the same VSID and a bit in a position assigned to the master processor and a second register having the same VSID and a bit in a position assigned to the requesting processor, sets a bit in a position of the first register assigned to the requesting processor, and resets the bit of the second register.

Inventors

  • 👤 Gizo Kadaira

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 16:26
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/10; G06F12/1027; G06F12/1036

Claims Analysis

Total Claims: 4
Claim 1
Independent Claim 405 words
A multiprocessing system having a plurality of processors, one of which is a master processor and the other processors are slave processors, and a main memory connected to said plurality of processors, said main memory having a plurality of paged address translation tables stored respectively in logical memory spaces, each of said tables describing a relationship between a logical address and a physical address, said multiprocessing system comprising: means for receiving an instruction from a requesting processor, said instruction containing a segmented virtual space identifier (VSID) and a shared-access identifier or a nonshared-access identifier; a translation lookaside buffer (TLB) divided into TLB partitions; a plurality of registers respectively corresponding to said TLB partitions, each of said registers having first and second fields, said second field having bit positions respectively assigned to said plurality of processors; means, responsive to an instruction received by said receiving means containing a nonshared-access identifier, for selecting one of said registers, said second field of said selected register having all vacant bit positions, and writing said VSID into said first field of said selected register and setting a bit in a bit position of said selected register assigned to said requesting processor, making a search through said registers to detect a register having said VSID and first and second bits in positions respectively assigned to said master processor and said requesting processor, and resetting said second bit; means responsive to an instruction received by said receiving means containing a shared-access identifier, for making a search through said registers for detecting a first register having said VSID and a bit in a position assigned to said master processor, setting a bit in a position of said first register assigned to said requesting processor, and detecting a second register having said VSID and a bit in a position assigned to said requesting processor, and resetting said bit of said second register; table loading means, responsive to said nonshared-access identifier, for loading a copy of said paged address translation tables from said main memory into a TLB partition corresponding to a register having said VSID and a single bit in said second field thereof, said single bit being set in a position assigned to said requesting processor; and memory access means for accessing said main memory according to a physical address contained in a TLB partition corresponding to a register having said VSID and a bit in a position assigned to said requesting processor.
Claim 2
Dependent Claim 405 words
A multiprocessing system having a plurality of processors, one of which is a master processor and the other processors are slave processors, and a main memory connected to said plurality of processors, said main memory having a plurality of paged address translation tables stored respectively in logical memory spaces, each of said tables describing a relationship between a logical address and a physical address, said multiprocessing system comprising: means for receiving an instruction from a requesting processor, said instruction containing a segmented virtual space identifier (VSID) and a shared-access identifier or a nonshared-access identifier; a translation lookaside buffer (TLB) divided into TLB partitions; a plurality of registers respectively corresponding to said TLB partitions, each of said registers having first and second fields, said second field having bit positions respectively assigned to said plurality of processors; means, responsive to an instruction received by said receiving means containing a nonshared-access identifier, for selecting one of said registers, said second field of said selected register having all vacant bit positions, and writing said VSID into said first field of said selected register and setting a bit in a bit position of said selected register assigned to said requesting processor, making a search through said registers to detect a register having said VSID and first and second bits in positions respectively assigned to said master processor and said requesting processor, and resetting said second bit; means responsive to an instruction received by said receiving means containing a shared-access identifier, for making a search through said registers for detecting a first register having said VSID and a bit in a position assigned to said master processor, setting a bit in a position of said first register assigned to said requesting processor, and detecting a second register having said VSID and a bit in a position assigned to said requesting processor, and resetting said bit of said second register; table loading means, responsive to said nonshared-access identifier, for loading a copy of said paged address translation tables from said main memory into a TLB partition corresponding to a register having said VSID and a single bit in said second field thereof, said single bit being set in a position assigned to said requesting processor; and memory access means for accessing said main memory according to a physical address contained in a TLB partition corresponding to a register having said VSID and a bit in a position assigned to said requesting processor.
Claim 3
Dependent Claim 370 words
In a multiprocessing system including a plurality of processors, one of which is a master processor and the other processors are slave processors, a main memory connected to said plurality of processors, said main memory having a plurality of paged address translation tables stored respectively in logical memory spaces, each of said tables describing a relationship between a logical address and a physical address, a single translation lookaside buffer (TLB) divided into a plurality of TLB partitions, a plurality of registers respectively corresponding to said TLB partitions, each of said registers including first and second fields, said second field having bit positions respectively assigned to said plurality of processors, a method comprising the steps of: a. receiving from a requesting processor an instruction containing a segmented virtual space identifier (VSID) and a shared-access identifier or a nonshared-access identifier; b. if said instruction contains a nonshared-access identifier, (1) selecting a register whose said second field contains all vacant bit positions and writing said VSID into said first field of said selected register and a bit in one of said vacant bit positions which is assigned to said requesting processor, (2) loading a copy of said paged address translation tables from said main memory into a TLB partition corresponding to a register containing said VSID and a single bit in said second field thereof, said single bit being set in a position assigned to said requesting processor, and (3) detecting a register having said VSID and first and second bits in positions assigned respectively to said master processor and said requesting processor and resetting said second bit; c. if said instruction contains a shared-access identifier, detecting first and second registers, said first register having said VSID and a bit in a position assigned to said master processor and said second register having said VSID and a bit in a position assigned to said requesting processor, setting a bit in a position of said first register assigned to said requesting processor, and resetting said bit of said second register; and d. accessing said main memory according to a physical address contained in a TLB partition corresponding to a register containing said VSID and a bit in a position assigned to said requesting processor.
Claim 4
Dependent Claim 370 words
In a multiprocessing system including a plurality of processors, one of which is a master processor and the other processors are slave processors, a main memory connected to said plurality of processors, said main memory having a plurality of paged address translation tables stored respectively in logical memory spaces, each of said tables describing a relationship between a logical address and a physical address, a single translation lookaside buffer (TLB) divided into a plurality of TLB partitions, a plurality of registers respectively corresponding to said TLB partitions, each of said registers including first and second fields, said second field having bit positions respectively assigned to said plurality of processors, a method comprising the steps of: a. receiving from a requesting processor an instruction containing a segmented virtual space identifier (VSID) and a shared-access identifier or a nonshared-access identifier; b. if said instruction contains a nonshared-access identifier, (1) selecting a register whose said second field contains all vacant bit positions and writing said VSID into said first field of said selected register and a bit in one of said vacant bit positions which is assigned to said requesting processor, (2) loading a copy of said paged address translation tables from said main memory into a TLB partition corresponding to a register containing said VSID and a single bit in said second field thereof, said single bit being set in a position assigned to said requesting processor, and (3) detecting a register having said VSID and first and second bits in positions assigned respectively to said master processor and said requesting processor and resetting said second bit; c. if said instruction contains a shared-access identifier, detecting first and second registers, said first register having said VSID and a bit in a position assigned to said master processor and said second register having said VSID and a bit in a position assigned to said requesting processor, setting a bit in a position of said first register assigned to said requesting processor, and resetting said bit of said second register; and d. accessing said main memory according to a physical address contained in a TLB partition corresponding to a register containing said VSID and a bit in a position assigned to said requesting processor.

References Cited (Backward Citations)

US4136385A Cited
US4376297A Cited
US4481573A Cited
US4484267A Cited
US4442487A Cited
US4525778A Cited
US4682281A Cited
US4775955A Cited
US4827406A Cited
US5008811A Cited
US4905141A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-04-03 1998-10-03 1999-04-04 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-04-03 2002-10-03 2003-04-04 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-04-03 2006-10-03 2007-04-04 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag