text:
Pray, sir, be patient; 'tis as much impossible,
Unless we sweep 'em from the door with cannons,
To scatter 'em, as 'tis to make 'em sleep
On May-day morning, which will never be.
We may as well push against Powle's as stir 'em.
I am not Sampson, nor Sir Guy, nor Colbrand,
To mow 'em down before me; but if I spar'd any
That had a head to hit, either young or old,
He or she, cuckold or cuckold-maker,
Let me ne'er hope to see a chine again,
And that I would not for a cow, God save her!The spoons will be the bigger, sir. There is a fellow somewhat near the door, he should be a brazier by his face, for, o' my conscience, twenty of the dog-days now reign in 's nose; all that stand about him are under the line, they need no other penance: that fire-drake did I hit three times on the head, and three times was his nose discharg'd against me; he stands there like a mortar-piece to blow us. There was a haberdasher's wife of small wit near him, that rail'd upon me till her pink'd porringer fell off her head, for kindling such a combustion in the state. I miss'd the meteor once, and hit that woman, who cried out "Clubs!" , when I might see from far some forty truncheoners draw to her succor, which were the hope o' th' Strond, where she was quarter'd. They fell on, I made good my place; at length they came to th' broom-staff to me, I defied 'em still, when suddenly a file of boys behind 'em, loose shot, deliver'd such a show'r of pibbles, that I was fain to draw mine honor in, and let 'em win the work. The devil was amongst 'em, I think, surely.


text:
Artist description:
No description entered.
Java Draw Created Jun 06, 2011 640 x 460px Unless noted Copyright 2011 drobert486.
We encourage you to submit a comment and let the artist know what you think of this drawing. Please log in or join to post a comment.
Post a comment
jellybean2011 Aug 06, 2011
awesomely brillant
RaquetteBrasil Jun 06, 2011
They kinda funny ...great draw
Diona Davis Jun 06, 2011
Page 1

subset: commoncrawl


text:
|Publication number
|Publication type
|Application number
|Publication date
|May 25, 1982
|Filing date
|Mar 17, 1980
|Priority date
|Mar 17, 1980
|Also published as
|Publication number
|Benedicto U. Messina, William D. Silkman
|Original Assignee
|International Business Machines Corporation
|Export Citation
|BiBTeX, EndNote, RefMan
|Patent Citations (5), Referenced by (73), Classifications (6)
|External Links: USPTO, USPTO Assignment, Espacenet
1. Field of the Invention
This invention relates generally to the field of digital computers and more particularly to the area of memory control within a computer. More specifically it relates to a synonym detection and handling mechanism for caches in a virtual storage system.
2. Description of the Prior Art
In a data processing system with a storage hierarchy, selected lines of data in a main storage are copied in a local high speed buffer, often called a cache, for fast access by a CPU. Whenever the processor requests new data, the system first checks the cache to determine whether the data is available in the cache; and if it is, the data is quickly provided to the processor. If the data is not available in the cache, the data is retrieved more slowly from the main memory.
Caches in current systems are typically based on the concept of "set associativity", wherein a CPU requestor directly addresses a cache directory slot (called a class) having several entries and associatively searches all entries in one class in parallel to determine if the addressed class has an address matching the request address. A set-associative cache is a compromise between a fully associative cache, in which any block of main storage may map into any position in the cache, and a directly addressed cache, where each main storage address can map into only one location in the cache. Fully associative caches have the liability of lengthy directory search time and an elaborate replacement (LRU) mechanism. Non-associatively addressed caches are the simplest to implement in terms of hardware, but yield significantly lower performance than the other two schemes due to increased overwriting of entries.
As the size of the preferred set-associative cache increases, either (1) the address range used to access the cache increases, or (2) the degree of set-associativity must be increased, or (3) both the set-associativity and address range are increased. An increase in the set associativity, however, takes either extra time or excessive hardware to examine all sets in the addressed class. Also, available IC packaging technology for cache directories does not lend itself a substantial increase in set associativity. Accordingly, cost constraints prefer that the cache directory size be increased by increasing the directory address range (i.e. number of classes). However, as the number of classes in the cache directory is increased, eventually the directory address bits taken from a requesting virtual address must expand past the high-order end of its non-translatable field (i.e. the D field) of the virtual address and into the translatable field (i.e. PX field) of the virtual address. The so-called cache synonym problem occurs when the cache address uses bits from the translatable field of the logical address. A cache synonym exists when the data required by a requesting logical address is available in a cache class different from the class addressed by the request. Synonyms may for example be caused by (1) requests which switch between virtual and real addresses for the same data, or (2) by one user addressing a line of data with one virtual address and another user addressing the same line with a different virtual address which locates a different class in the cache.
U.S. Pat. No. 3,723,976 to J. A. Alvarez at al, issued Mar. 27, 1973 and assigned to the assignee of the present application, shows a memory system with logical and real addressing in a multi-processing environment. Each processor has associated with it a cache. Means are provided for the cache to retain a modified copy of data. The contents of the cache may be accessed by a logical address, i.e. either a real or virtual address. A dynamic address translation directory (i.e. DLAT) contains translated logical addresses. A cache fetch directory is provided to keep track of the data in the cache. The cache fetch directory entries are addressed by bits from both translatable and non-translatable portions of the desired data address. Means are provided to insure that only one copy of data is maintained in the cache although it may be entered at any of several cache locations (i.e. principle or synonym location) dependent upon whether the virtual or real address last accessed the data. A cache hit/miss detection mechanism is such that when cross indexing is established for a new line being fetched, some lines in the cache will lose index pointers. They are marked invalid and they are cast out if changed. A synonym entry causes a miss and is therefore invalidated and may be cast out. If a synonym entry is the target of the current request, its miss causes it to be refetched from main storage and written back into the currently addressed partition (i.e. principle class) in the cache directory. The effect is to move a synonym to the principle class with a great loss in access time. The cache hit/miss detection mechanism described therein does not distinguish between a cache miss (where the requested data is not found in the cache), and a synonym hit (where the requested data is available in the cache at another location).
It has been proposed to perform synonym detection in a copy of a processor cache directory. This proposal also treats a synonym as a cache miss in the main directory. Synonym detection in the copy directory begins one or more cycles after the cache miss is first detected in the main directory. An additional cycle is taken in the copy directory for serially accessing each class which could possibly contain a synonym, e.g. three additional cycles for checking three classes which might contain a synonym line address. Such copy directory may also be used for other purposes, e.g. cross-interrogation of a request by another processor.
U.S. Pat. No. 3,761,881 to Anderson et al, issued Sept. 25, 1978 and assigned to the assignee of the present application, shows a translation storage scheme for virtual memory system. Both a main storage and a cache are real-address oriented. Current virtual-to-real address translations are retained in a translation lookaside table (TLAT), which is also sometimes called a DLAT. The cache directory uses real addresses to represent the data in the cache. Each CPU-provided virtual address accesses a class in the TLAT and a class in the cache directory. A virtual address stored in the accessed TLAT class is compared to the CPU virtual address. Also the translated real address in the accessed TLAT class is compared to each real address in the accessed cache directory class. If both the virtual and real address comparisons are equal, the data is accessed from a corresponding location in the cache.
U.S. Pat. No. 4,136,385 to Gannon et al, issued Jan. 23, 1979 and assigned to the assignee of the present application, shows a control means for handling common-segment DLAT synonyms. (The DLAT synonym problem is not related to the cache synonym problem.) The DLAT synonym control means in this patent is used with multiple virtual storage systems in which a common page has the same virtual address in plural address spaces. The control means eliminates plural entries for a common page in a translation lookaside buffer (DLAT) by providing a common indicator in each DLAT entry containing a common page address to eliminate associating the entry with any particular address space.
IBM Maintenance Library, "3033 Processor Complex, Theory of Operation/Diagram Manual" Volume 4, Processor Storage Control Function (PSCF) and Processor Storage, Form SY22-7004-0, pages 1.6.1 and 1.6.2 show and describe a large high speed buffer concept, in which a sixteen-way set associative cache is used to avoid the synonym problem by avoiding the use of any translatable bits of the processor request address in the cache directory address.
It is an object of the present invention to provide a fast synonym detection mechanism.
It is a further object of this invention to provide a novel feature in a cache directory called a synonym hit, which operates in addition to the conventional cache functions of a principle hit or miss.
It is a further object of this invention to provide the novel feature of a synonym hit which accesses the synonym data from the cache without requiring any access to main storage.
It is another object of the present invention to provide a synonym detection and handling mechanism to support a large cache without requiring a high degree of associativity, for example to be able to increase the number of cache classes while using 4-way set associativity to support a cache directory size previously obtained with a 16-way set associative cache that avoided synonyms but which requires many more compare circuits and may require longer access time due to the greater associativity.
It is still another object of this invention to provide a design for a semiconductor chip which is replicated for each set in a plural-set cache directory; and each chip supports plural groups of classes and compare logic for its related set for enabling detection of a synonym or principle hit or a miss in the related set in the cache during one directory access cycle.
One of the important features of the present invention is to obtain synonym detection within the same machine cycle in which a cache hit or miss is determined. That is, synonym detection may be done in the same cycle in which both the DLAT and cache directories are accessed and in which compare operations detect a cache hit or miss. If a synonym hit is found, processing of the synonym may be done within the next two cycles after which the synonym entry is accessed as if it were a principle cache entry.
In the prior art system such as that disclosed in the above-mentioned U.S. Pat. No. 3,723,976, no synonym hit is recognized and a synonym is treated as a cache miss which involves many machine cycles while a line is cast out and then refetched into the cache. In another proposal using a copy of the cache directory for synonym detection, the synonym detection in the copy directory occurs in response to a cache miss one or more cycles following the cache miss detection in the principle cache directory.
This invention constructs a cache directory in a novel manner by dividing the directory classes into 2N groups, in which N is the number of translatable bits in the cache directory address for locating any class in the directory. The translatable bits comprise N bits justified from the low-order boundary of the page translatable part of each requesting logical address to the cache. Each of the 2N groups of directory classes has the potential for containing either a principle cache hit, a synonym hit, or a cache miss. A cache miss exists when no principle or synonym cache hit is found for a request. The cache directory classes may also be constructed with or without set associativity, i.e. set associativity is not required with this invention but the invention operates well in a set associative cache directory. The class grouping in the cache directory is orthogonal to any set associativity groupings found in the cache directory. Furthermore, this invention provides an LSI chip arrangement for the cache directory in which each chip contains a part of all 2N groups of classes, and contains compare hardware for simultaneously comparing look-aside page-translated absolute addresses with the absolute addresses in all addressed classes in the 2N groups in the cache directory to require relatively few input/output connections on each chip, when compared to prior cache directory hardware structures.
The invention has each request simultaneously address the 2N different classes in the cache directory, including one class in each of the 2N groups. DLAT absolute address comparisons are performed simultaneously on all valid entries in the selected 2N classes. The use of the high-order N translatable bits in the cache address are concurrently used to test one of the selected 2N classes for a principle hit. At the same time, all of these 2N classes are tested for any hit in each of these classes. A synonym hit is determined by detecting that any hit signal is active while the principle hit signal is (i.e. there was no principle hit) inactive. Then the detected one of the 2N groups which has an any hit signal with no principle hit signal determines the group having the synonym hit. The one of the 2N groups detected to have a synonym hit then is decoded into its N group identifying bits, which are then provided to the cache along with the untranslated bits (from the D field) of the request address to fetch or store the required unit of data in the cache.
FIG. 1 shows a block diagram of a data processing system in which the present invention is embodied.
FIG. 2 shows, in a block diagram form, a cache addressing mechanism in which the present invention is implemented.
FIG. 3 shows how FIGS. 3A and 3B are arranged to make a complete drawing. FIGS. 3A and 3B, when arranged as shown in FIG. 3, illustrate a cache addressing system having a synonym detection mechanism in accordance with a preferred embodiment of the present invention.
FIG. 4 shows how FIGS. 4A and 4B are arranged to make a complete drawing. FIGS. 4A and 4B show a detailed implementation of the synonym decision logic 317 shown as a block in FIG. 3A.
FIG. 5 shows a detailed implementation of encoder 327 shown in FIG. 3B.
FIG. 6A illustrates the machine cycle timing for a cache fetch operation having a synonym hit in accordance with the teaching of the present invention.
FIG. 6B illustrates the machine cycle timing for a cache store operation having a synonym or principle hit.
FIG. 7 illustrates how four chips of the type shown in FIG. 8 may be combined to provide a cache directory which is four-way set associative and has four groups of classes.
FIG. 8 illustrates a single chip in the cache directory providing circuitry for one directory set with four groups of classes and compare logic.
FIG. 9 illustrates the machine cycle timing for a synonym fetch operation in a second embodiment shown in FIG. 10.
FIGS. 10, 10A and 10B show a detailed implementation for the second embodiment.
FIG. 11 shows the circuit details for fetch SID circuits 371 found in the second embodiment.
Referring to FIG. 1, a data processing system in which the present invention is embodied is shown in block diagram form. The data processing system typically comprises a main storage (MS) 10, a storage control element (SCE) 20, a buffer control element (BCE) 30 which includes a high speed buffer or cache 311, a processor comprised of an instruction element/execution element (IE/EE) 40, an external data controller (EXDC) 50 (which may be a conventional channel processor), I/O control units and devices 60, and a paging storage 70 (which may be a conventional bulk storage device). The IE/EE fetches or stores data in the cache 311 under the control of the BCE 30, and if the requested data is not available in the cache 311, the data is fetched from the MS 10 under the control of the SCE 20. The SCE can also transfer data between MS 10 and the I/O 60 or the paging storage 70 via the EXDC 50.
Referring now to FIG. 2, a cache addressing mechanism is explained which includes the present invention.
In FIG. 2, a set-associative cache system includes a cache 311, a cache directory 309 and a directory looka-side table (DLAT) 307. The directory 309 is an array which contains information about each line entry in the cache 311. The DLAT 307 is an array which contains the most recently translated page addresses used by processor 40. The cache directory 309 uses the well known concept of "set associativity" and is four-way set associative, which means that each addressable class in directory 309 contains four entries in sets A, B, C and D. Thus, when any class in the directory is addressed, four entries A, B, C and D are accessed in parallel. Directory 309 is addressed by bits 20 through 24 of a request logical address in a buffer control address register (BCAR) 301. Bits 20-24 address one class in each of 2N groups of classes in directory 309, so that a total of 2N classes are addressed simultaneously. Directory 309 is constructed to simultaneously select every location which can have the translated absolute address of the requesting logical address. When 2N equals four in which N equals two virtual bits (which may comprise bits 18 and 19 of the requesting address in BCAR 301, four classes will be simultaneously addressed in directory 309. The four groups of classes in directory 309 are shown in FIG. 2 as groups 0, 1, 2 and 3. The directory address bits 18-24 in BCAR 301 define the principle class in directory 309. A principle group is defined as any of the 2N groups found to contain a principle class.
Cache 311 may contain 64K bytes divided into the four sets A, B, C and D in which each set contains 2,048 doublewords (8 bytes). A doubleword is outputted in response to each fetch request when cache 311 is addressed by bits 18-28 from BCAR 301 after bits 18 and 19 are adjusted to any synonym hit location found in a synonym control circuit 320.
The DLAT 307 is two-way set associative with sets X and Y. A class in DLAT 307 is selected by bits 13-19 of the request in BCAR 301. Each DLAT set entry receives its content during an address translation, including: segment table origin (STO) bits from a control register (CR) 303 and bits 1-12 from BCAR 301 representing the logical address being translated, and the translated absolute address of the page having that logical address from a dynamic address translator (DAT) 305.
Each new address request in BCAR 301 is simultaneously used to address directory 309, cache 311, and DLAT 307. Thus, BCAR address bits 13-19 select a DLAT class with entries X and Y in DLAT 307. The STO, logical address in each X and Y entry is outputted to a comparator 313 and the absolute address of the X and Y entries is outputted to a comparator 315. A comparison is then performed in comparator 313 between the STO's and logical addresses in the two selected DLAT sets X and Y with the current STO in CR 303 and the logical request address in BCAR 301. If a match occurs, it is indicated by either a LOG-X HIT signal or LOG-Y HIT signal from comparator 313 on line 449 or line 451.
If no DLAT match occurs, the request is forced to start an address translation in DAT 305, after which the newly translated address is placed in an appropriate set in DLAT 307, and the storage access can then be started.
Simultaneously during a DLAT access and compare in circuit 313, the request is also causing an access in cache directory 309 using BCAR bits 20-24 to select a class in each group in cache directory 309. Then the directory accesses the absolute address in each of the four sets in each of the four selected directory classes and provides them to compare circuit 315, which compares each of these 16 absolute addresses with each of the two absolute addresses received from the selected X and Y entries in DLAT 307. Thus, each request causes 32 comparisons of absolute addresses in comparator 315, which are: X:A0, X:A1, X:A2, X:A3, X:B0, X:B1, X:B2, X:B3, X:C0, X:C1, X:C2, X:C3, X:D0, X:D1, X:D2, X:D3, Y:A0, Y:A1, Y:A2, Y:A3, Y:B0, Y:B1, Y:B2, Y:B3, Y:C0, Y:C1, Y:C2, Y:C3, Y:D0, Y:D1, Y:D2 and Y:D3.
Decision logic 317 receives 32 compare output lines from comparator 315, as well as outputs 449 and 451 from another comparator 313, to determine whether a principle or synonym directory hit has occurred or not. Comparator 313 activates one of its signals LOG-X hit or LOG-Y hit if the requesting logical address was found in the DLAT 307. The outputs of comparators 315 indicate if either DLAT absolute address was found in any of the four classes accessed in cache directory 309. If a DLAT logical address hit occurs, then circuits 317 will determine if a cache principle hit, cache synonym hit, or a cache miss occurs.
If a cache hit has occurred, circuits 320 output a cache group identifier (GID) which provides bits 18, 19 and combine them with request bits 20-28 in cache class address bus (CAB) 310 to select a class in cache 311, and circuit 317 or 320 respectively output a fetch or write set identifier (SID) to indicate which of the four sets of the cache 311 is to be selected for fetching or storing a doubleword.
For a write request, a write SID is provided on a line 347A to write SID decoder 312, which writes the request's doubleword (DW) into the selected location in cache 311. The write request's DW is written into the selected set of the selected class in the cache during the machine cycle after the directory and DLAT addressing cycle for the same request.
For a fetch request having a principle hit, the class selection in cache 311 by CAB 310 outputs a different doubleword (DW) to each of the four cache data latches LA, LB, LC and LD for each of the four sets A, B, C, and D in the selected cache class. Each latched DW is selected from the line in each of the four sets A, B, C and D. If a hit is detected, the fetch SID is applied to set select logic 319 to select and output the required DW in the selected cache class. The latched class of DW's in cache data latches LA, LB, LC and LD occurs at the end of the same machine cycle in which the request address is received by BCAR 301. During the next cycle, the set selected DW is outputted from set select logic 319.
The numbers in parenthesis next to some of the lines in the drawings represent the number of actual electrical lines represented by the illustrated line.
As the size increases for the cache 311 and its directory 309, either the number of classes or the degree of associativity must also be increased, or both, as discussed above. As mentioned previously, if the number of classes is enlarged, the cache addressing range must correspondingly be enlarged, which requires bits 18 and 19 from the translatable PX field in BCAR 301 in FIG. 2.
That is, the 31 bit logical address supplied to the BCAR 301 is architecturally organized as shown at the top of FIG. 2, in which an SX field (bits 1-11) is an index to a page table address in a segment table selected by the STO in CR 303, a PX field (bits 12-19) is an index to a page address in the selected page table; and a D field (bits 20-31) is a byte index in a 4 kilobyte page selected by the page entry. When the logical address is translated to an absolute address, bits 1-19 are changed by the translation process, but the D field bits 20-31 are not changed. Hence, the D field is sometimes called a real field in the logical address, and bits 1-19 are sometimes called a virtual field.
Each 31 bit address in BCAR 301 is presumed to address a byte in main storage 10. However, cache directory 309 is organized to address lines of 16 doublewords (DWs) located in main storage 10 on line boundaries. Hence, bits 1-24 in BCAR 301 address a required line, and bit 24 is the lowest-order bit for line addressing. If only the bits in the D field were used to address the cache directory, the maximum cache directory address field would be 20-24, which five bits could only address a maximum of 32 classes. If more classes are required, bits from the PX field must be used, e.g. bits 18 and 19 in FIG. 2. Then the seven bits 18-24 address a maximum of 128 classes. Since each class is 4-way associative, the seven bit addressing can access any of 128�4=512 lines in the cache. As previously described, the real address portion of the logical address ends with bit 20 for 4KB page addressing. Thus, bits 18 and 19 in the translatable part of the logical address may be called virtual bits. It is only when virtual bits provide part of the cache address that a synonym problem appears, as previously discussed.
Due to the use of the two virtual bits 18 and 19, a request for data or instructions in the cache 311 may reside in any of four possible classes. The cache class pointed to by the requesting logical address is called a principle class, while the other three classes obtainable by the other three permutations of the virtual address bits 18 and 19 in the cache directory address are called synonym classes.
FIGS. 3, 3A and 3B show a more detailed representation of an embodiment of the synonym detection scheme discussed in relation to FIG. 2. In FIGS. 3A and 3B, the same reference numerals as those of FIG. 2 are used to designate corresponding elements. Another detailed embodiment is shown in FIGS. 10, 10A, and 10B. Both embodiments in FIGS. 3 and 10 detect a synonym in the second cycle of a fetch request. The embodiment in FIG. 3 thereafter handles the synonym fetch request in the same way as a principle hit, and takes five machine cycles for the request. The embodiment in FIG. 10 handles a synonym fetch request without processing it like a principle hit, and takes 3 machine cycles for processing a synonym fetch request. Both embodiments in FIGS. 3 and 10 use two machine cycles to access a principle fetch or store hit, or a synonym store hit, and can pipeline these requests in one cycle.
The following assumptions are made in both detailed embodiments: The cache (shown in FIG. 2) is a 64KB random access memory organized to contain 512 lines in which each set contains 128 lines. Directory 309 has four corresponding sets, and therefore is four-way set associative (sets A, B, C and D) as previously described in FIG. 2. Directory 309 also is organized with four groups of classes as previously described.
The DLAT 307 is two-way set associative (sets X and Y) as previously described in FIG. 2, with 128 classes each containing an X set and a Y set. DLAT 307 is addressed with logical address bits 13-19. Each of X and Y entries contains STO bits 5-19, logical address bits 1-12 to identify a virtual page, and absolute address bits 5-19 to identify the assigned page frame in main storage 10.
In operation, when a processor request is accepted, its associated address is loaded into the BCAR 301, from which the address part comprising bits 13-19 point to a class containing two entries X and Y in the DLAT 307 and the address part comprising bits 20-24 point to a class in each of four groups 0, 1, 2 and 3 in the cache directory 309 with each directory class containing four entires A, B, C, D. Each DLAT class entry can contain a STO and virtual address, each of which is received by the logical address compare circuit 313 which compares them with the logical address bits 1-12 from the BCAR 301 and STO bits 5-19 from the STO register 303. If a match occurs, the compare circuit 313 produces either a LOG-X HIT signal or a LOG-Y HIT signal to indicate a logical address DLAT hit occurred. Simultaneously with the operation of circuit 313, the absolute address bits 5-19 from each set X and Y of the DLAT 307 are being provided as two compare inputs to absolute address compare circuit 315, which is shown in FIG. 3A as a pair of compare circuits 315X and 315Y.
There are 32 comparators in both of the compare circuits 315X and 315Y, eight for four cache directory sets (A, B, C or D) in which each set has four X comparators and four Y comparators for comparing with the two DLAT entries X and Y in the selected DLAT class. Each of compare circuits 315X and 315Y also contains four group comparators. For example, directory set A provides four selected entries A0, A1, A2 and A3 through directory set D which provides four selected entries D0, D1, D2 and D3 from the cache directory 309. The comparator 315X compares the absolute addresses from these sixteen entries selected is directory 309 with the DLAT-X absolute address (ABS-X), and comparator 315Y corresponding compares the same sixteen directory addresses with DLAT Y absolute address (ABS-Y) for a total of 32 comparators in circuits 315. If a match occurs in any comparator of 315X or 315Y, it raises a corresponding one of the 32 output lines to decision logic 317 to indicate the cache group and set having the matching absolute address. The comparators of 315X and 315Y are constructed identically and function similarly.
Decision logic 317 receives all 32 outputs from the compare circuits 315X and 315Y, eight output lines per set; for example, it receives the following comparator outputs from set A: X:A0, X:A1, X:A2, X:A3, Y:A0, Y:A1, Y:A2 and Y:A3. Logic 317 also receives the LOG-X HIT and LOG-Y HIT outputs from the compare circuit 313. Logic 317 decides whether there is a synonym hit, a principle hit, or a miss. A principle hit is a hit in a selected class entry in the principal group, which is the group pointed to by the request address bits 18-19 in BCAR 301. A principle hit is signalled when a trigger is set by decision logic 317 to output a principle hit signal on line 467A on FIG. 3A. If the decision logic 317 finds a hit in a class entry other than in the principle group, i.e. in a group pointed to by other than the BCAR bits 18-19, a synonym hit is said to have occurred which is signalled by line 469A in FIG. 3A. Should no hit be detected, the decision logic 317 signals a miss on line 471A.
FIGS. 4A and 4B, which are to be arranged as shown in FIG. 4, show the internal details of decision logic 317 found in FIG. 3A. It comprises circuit blocks 400A, 400B, 400C and 400D for the sets A, B, C and D, respectively. Although only the circuit block 400A is shown in detail, it should be understood that the circuit blocks 400B, 400C and 400D are identically constructed and function similarly.
The circuit structure and the operation of circuit block 400A are explained below. Lines 429-435 and 437-443 receive the A:X and A:Y outputs, as follows: the X:A0, X:A1, X:A2, X:A3 and Y:A0, Y:A1, Y:A2, Y:A3 outputs, respectively, from the eight comparators for set A of circuits 315X and 315Y (FIG. 3A), respectively. Those lines are respective inputs to AND gates 403-417.
Input lines 445 and 447 provide to circuits 317: (1) the address bits 18 and 19 from the BCAR 301, or (2) substituted address bits 18 and 19, which are explained hereinafter with reference to FIG. 3B. The BCAR bits 18, 19 are normally provided via normally enabled AND gated 343 in FIG. 3B. The substituted bits 18, 19 are only provided after a synonym is detected, which deactivates gates 343 and activates a normally closed pair of gates 341 in FIG. 3B.
In FIG. 4A, the bits 18 and 19 received on the lines 445 and 447 are applied to a decoder 401 in decision logic 317 which activates one of four output lines that identify a particular group of classes; that is, the bit 18, 19 value "00" decodes into group 0, "01" decodes into group 1, "10" decodes into group 2, and "11" decodes into group 3. The group 0 output of the decoder 401 is applied to the other inputs of AND gates 403 and 411; the group 1 output to AND gates 405 and 413; the group 2 output to AND gates 407 and 415; and the group 3 output to AND gates 409 and 417.
During the first machine cycle for a request in BCAR 301, lines 445 and 447 will signal the principle group, because they will then represent the values of bits 18 and 19 in the request address.
The outputs from the AND gates 403-409 are dot-ORed and applied to one input of an AND gate 419A, while the outputs from the AND gates 411-417 are dot-ORed and applied to an input of an AND gate 419B. A two-port funnel 419 is comprised of the two AND gates 419A and 419B and an OR circuit 419C which ORs outputs of the AND gates 419A and 419B to provide the funnel (F) output.
Lines 449 and 451 receive any LOG-X HIT signal or LOG-Y HIT signal, respectively, from the compare circuit 313 (FIG. 3A) and convey them to a second input of AND gate 419A and AND gate 419B, respectively, in funnel 419. Only one of the lines 449 or 451 may be activated at one time. The output from funnel 419 indicates if there is a "principal class" hit in set A, because only the principle group signal is then being provided from decoder 401 to the gates 403-317 for set A.
There are also four other funnels F: 421, 423, 425 and 427 which are internally identical to funnel 419. Funnels 421, 423, 425 and 427 respectively detect any hit in groups 0, 1, 2 or 3 for set A, i.e. a "synonym class" hit or "principle class" hit in group 0 set A. Thus, the two compare lines 429 and 437 for group 0 set A from comparator 315 are connected to the two-port funnel 421 which also respectively receive DLAT lines 449 and 451.
Similarly, funnels 423, 425 and 427 receive the group 1 set A, group 2 set A, and group 3 set A pairs of compare signal lines from comparator 315, as well as the two lines carrying the LOG-X HIT and LOG-Y HIT signals. Thus, an output from any of funnels 421, 423, 425 or 427 indicates the respective group 0, 1, 2 or 3 in which there is a "synonym class" or "principle class" hit for set A, because they are selectively activated by the different pairs of group lines for set A from comparators 315X and 315Y.
Therefore circuit block 400A has one output line 455 which exclusively signals a set A "principle hit" and has four other output lines 473, 475, 477 and 479, which respectively signal any hit in set-A.
Similarly, each of circuit blocks 400B, 400C and 400D receive corresponding sets of eight compare signals from circuits 315X and 315Y for each of the sets B, C, and D, respectively, as well as the bit 18 and 19 signals from the decoder 401, and the LOG-X HIT and LOG-Y HIT signals from compare circuit 313. Like the circuit block 400A, each of circuit blocks 400B, 400C and 400D has one exclusive principle hit output line and four any hit lines for signalling any hit in the respective groups 0, 1, 2 or 3 for the respective sets.
The principle hit outputs from the blocks 400A, 400B, 400C, and 400D (lines 455, 457, 459 and 461, respectively) are outputted for use by the cache as a fetch set indicator (SID). They are also received by an OR circuit 453. The output from OR circuit 453 indicates a principle class hit in any cache set A, B, C, or D. The sixteen any hit output lines (four for each set) are received by a sixteen-way OR circuit 463, which has an output on line 470 that indicates if there is any cache hit (synonym or principle hit in any of the sets A, B, C, and D).
A decoder 465 receives the outputs of OR circuits 453 and 463 and provides the various hit and miss signals for the cache. The outputs from OR circuits 453 and 463 are decoded by the illustrated internal circuits in decoder 465 in accordance with the following rules:
______________________________________Principle Hit Any Hit Output of DECODEROR 453 OR 463 465______________________________________Yes Yes Principle HitNo Yes Synonym HitNo No MissYes or No Yes Any HitYes No Error Condition______________________________________
Thus, the principle hit output 467 from decoder 465 is activated directly by the output of OR circuit 453. The synonym hit output 469 from decoder 465 is activated by AND circuit 465A if the principle hit OR circuit 453 is not activated and the any hit OR circuit 463 is activated. A cache miss is signalled on line 471 if no any hit signal is provided from OR circuit 463. An error condition is indicated if the principle hit OR circuit 353 is activated while the any hit OR circuit 363 is not activated.
An encoder 327 receives all of the 16 any hit outputs 473-492 from the synonym decision logic 317.
FIG. 5 shows a detailed form of encoder 327. Encoder 327 receives the four sets of output lines 473-479, 481-484, 485-488 and 489-492 which indicate that there was a synonym/principle hit in any of the respective sets A, B, C and D. Only one of lines 473-492 can be active at any one time. A given request can have only one hit entry (principle or synonym) in the 2N classes addressed by the request. If the line 473, for example, is activated, it indicates that there was a synonym or principle hit in the selected class in group 0, set A. Similarly, if the line 482 is activated, it indicates that there was a synonym or principle hit in the selected class in group 1, set B. Encoder 327 comprises four OR circuits which combine the respective set signals and provide them to a four-way SID encoder. Similarly, four other OR circuits combine the same signals into the four respective group signals and provide them to a four-way GID (Group Identifier) encoder. The two encoders output a hit's set identifier (SID) and group identifier (GID) in accordance with the following rules:
In FIG. 3, the encoded two bits for the write SID are used only by a store request to select the one of four sets into which a double word will be written into the cache. The encoded two bits for the GID are provided to the cache 311 in FIG. 2 to select the group in which a fetch or store access is being made.
Since the cache operations to main storage resulting from a principle hit or a miss are conventional, they are not discussed further herein.
The present invention is directed to a special course of action taken when a synonym hit is detected for a cache access.
In FIG. 3A, when a fetch request results in a synonym hit being detected by decision logic 317, it activates the synonym hit line 469 which on the next machine cycle sets an output trigger 469A, and the set signal from the trigger 469A is applied to an AND gate 355 in FIG. 3B, which also receives another input 356 indicating the fetch request. An output from AND gate 355 sets a trigger 329. Then the set output from trigger 329 through an inverter 333 to line 353 serves to close a normally open gate G2 in FIG. 3A to inhibit the loading of a new address from the BCAR 301 to a re-do fetch address register (RFAR) 321. Normally, the RFAR 321 is loaded with the fetch address in BCAR 301 through normally-open gate G2 upon the cycle following the loading of BCAR 301. The RFAR 321 is used as a delay register when a fetch request has a synonym hit. The set output of trigger 329 acts as a RFAR request to a BCAR priority circuit 335, which determines which of plural possible requestors to BCAR 301 will be allowed to load BCAR 301. An RFAR request has relatively high priority and therefore is likely to get the BCAR on the next cycle, so that the synonym fetch hit can thereafter be handled like it is a principle hit. The priorities of the requestors for BCAR have the following order:
1. A line fetch request to update the directory 309 and input data to cache 311.
2. A cast out request from the cache.
3. RFAR 321 request.
4. A cross-interrogation request.
5. A DAT request for a table fetch while performing a translation.
6. An invalidate register used to hold store requests being made by I/O.
7. IE (processor) requests for normal fetches and stores.
If the BCAR priority circuit 335 gives priority to an RFAR request, it sets a RFAR accept trigger 337. At the same time, an output 354 from the BCAR priority circuit 335 is applied to open a normally closed gate G1 in FIG. 3A to transfer the content of RFAR 321 back into BCAR 301. At the same time an RFAR priority output from circuit 335 sets an RFAR accept trigger 337, which activates a pair of AND gates 341 and via inverter 339 deactivates AND gates 343. The substitute bits 18, 19 are provided through gates 341. The output from RFAR accept trigger 337 is also applied to the reset input of the trigger 329 to reset it to its normal state, which causes inverter circuit 339 to activate AND gates 343 to pass the bits 18-19 from BCAR 301 through OR circuits 345A and B to the decision logic 317.
In FIG. 3B, the two-bit SID and the two-bit GID from the encoder 327 are registered in a register 347; and the GID bits in the register 347 are then transferred to a register 351 through a normally open gate G3 which is opened by the reset state of trigger 329 via inverter 333. The GID in register 351 is then sent as substitute bits 18, 19 to decision logic 317 via the pair of AND gates 341, so that the substitute bits 18, 19 are thereafter used in the decision logic 317 in place of the bits 18-19 from the BCAR 301 when a synonym hit is detected. The substitution is used during the RFAR accept trigger cycle by the decision logic 317 when the synonym request is made to appear like a principle hit, because the substituted bits 18, 19 cause one of the principle hit funnels 419 to be activated (see FIG. 4A) which activates principle hit output 467. During the cycle having the output from the RFAR accept trigger 337 on line 338, it also activates a gate G6 to transfer the GID from register 351 through a group select OR circuit 359 to the cache class address bus (CAB) 310 shown in FIG. 2. At the same time, a DW select circuit 363 simultaneously transfers bits 20-28 received through gate G8 from the BCAR 301 to the CAB 310 to complete the cache address of the required DW. Gate G8 is activated as long as no store request is received. Cache 311 then selects the requested DW. When line 338 is activated, it closes a gate G7 to prevent the transfer of the BCAR bits 18-19 to register 359 by dropping the output of an inverter 381 to an AND circuit 382 which controls gate G7. Thus, gate G7 only operates for a principle hit to cause BCAR bits 18-19 to be gated out of group select circuit 359 to CAB 310.
For a store request, select circuit 363 receives bits 20-28 from a push-down store address register (PDSAR) 361, which holds store request address bits 20-28 during the cycle after the request is received from BCAR 301, which is when the store operation is completed. The SID bits and bits 18, 19 are provided differently for a store request than for any fetch request. The store SID is provided directly from the SID register 347 to the cache to address the cache set to be stored in. Bits 18, 19 for the store request are timed by AND gate 357 receiving the store request signal and an any hit signal on line 470A. The output of gate 357 activates a gate G4 to pass the GID from register 347 through the group select OR circuit 359 to CAB 310 at the same time circuit 363 is providing bits 20-28 from PDSAR 361A via gate G5.
If a fetch operation detects a principle hit, BCAR bits 18-19 pass through a normally open gate G7 to group select circuit 359, and BCAR bits 20-28 pass through normally open gate G8 and DW select circuit 363. Thus, the BCAR bits 18-28 are supplied to the cache to address it with the fetch SID from logic 317.
A cache access by any store hit (whether principle or synonym) will write data into cache 311 on the cycle (C2) after BCAR 301 receives the request (on cycle 1). A cache access by a principle fetch hit supplies the requested data from the cache on the machine cycle after BCAR 301 receives the request. A cache access by a synonym fetch hit supplies data on the fourth machine cycle after BCAR 301 receives the request (on cycle C1), because the synonym fetch request is temporarily stored in the RFAR so that higher priority requests can intervene and use BCAR due to the operation of the BCAR priority circuit 335.
FIG. 6A shows a timing chart for the fetch operation when a synonym hit is detected. In a R cycle, a fetch request is brought up. The DLAT and directory comparisons are made in a C1 cycle, at the end of which a snyonym hit is detected. In the following C2/DLY cycle, a fetch delayed signal is sent to the IE so that any cache data provided in this cycle is not associated with the request in the R cycle. The RFAR 321 is loaded from BCAR and indicated to be busy. In the next DLY cycle, an RFAR request for BCAR priority is made by RFAR 321. (See BCAR PRIO 335 in FIG. 3B.) If the RFAR request is honored in the DLY cycle, the IE is given an advance signal. In the next C1 cycle, substitute bits 18-19 are provided by GID circuit 351 to the synonym decision logic 317 which activates its principle hit output 467. Now the synonym hit looks like a principle hit and is thereafter handled in the same way as a principle hit. In the following C2 cycle, cache data is transferred to the requestor (e.g. the IE).
FIG. 6B illustrates the timing for a store operation which always takes place on the cycle after the directory compare.
FIG. 7 illustrates a structure for a four-way set-associative cache directory, which uses the novel LSI chip structure shown in FIG. 8 that includes the novel groups with comparators provided on the same chip. FIG. 7 shows four chips A, B, C and D for the respective sets, each chip being an identical LSI chip having the novel group structure shown in FIG. 8. Thus, BCAR real address bits 20-24 simultaneously select four directory classes respectively from the groups 0, 1, 2 and 3 on all chips, and they are all simultaneously compared in the compare logic on the chips with the received ABS-X and ABS-Y DLAT outputs. The 32 compare results X:A0 through Y-D4 provide the 32 outputs (8 from each set) which are connected as line inputs to synonym decision logic 317.
The DLAT 307 and DLAT compare 313 may also be structured from six chips of the type shown in FIG. 8, in which three chips provide the X set and its compare logic and three other chips provide the Y set and its compare logic.
The architecture for a computer system may require that the cache directory not contain an address more than once. Also each directory address may be a main storage line address, e.g. for a line of 128 bytes. Such architecture would require than a main storage address be represented in either a principle entry or a synonym entry, but not in both at the same time. Such architecture may be enforced by having a checking circuit (not shown) check the output lines 473-479, 481-484 , 485-488 and 489-492 in the embodiment to issue an error signal whenever more than one of these sixteen lines is active at any one time.
FIGS. 10, 10A, and 10B show a second embodiment of the subject invention which takes less machine cycles to perform a synonym fetch than in FIG. 3 and also results in some simplification of circuitry. That is, FIGS. 10, 10A, 10B can perform a synonym fetch in three cycles versus five cycles for FIGS. 3, 3A and 3B. The latter can use a simpler interface between the cache and processor because it makes a synonym fetch appear to the processor as a delayed principle fetch. On the other hand, FIGS. 10, 10A and 10B require a cache to processor interface which can recognize a synonym fetch cycle.
Both embodiments in FIGS. 3 and 10 take two cycles for a synonym store operation and for a principle fetch or store operation.
FIG. 10A is the same as FIG. 3A except that FIG. 10A does not have RFAR 321 or its gates G1 and G2. Also bits 18, 19 to decision logic 317 are only provided by BCAR 301; that is, there are no substitute bit 18, 19 to logic 317 in FIG. 10A.
FIG. 10B has substantial changes from FIG. 3B. FIG. 10B does not have any BCAR priority control, which is provided by circuits 329, 335 and 337 in FIG. 3B. Also, FIG. 10B does not have the bit 18, 19 substitution circuits 339, 341, 343 and 345 found in FIG. 3B.
Another difference is that PDAR (push down address register) 361A in FIG. 10B receives both fetch and store request addresses from BCAR 301, while PDSAR 361 in FIG. 3B receives only store request addresses.
Also only FIG. 10B has fetch SID circuits 371 (shown in detail in FIG. 11), which provide the SID for both principle and synonym fetches to cache select logic 319 in FIG. 2. Thus, in FIG. 4A, the fetch SID output from lines 455-461 is not connected to logic 319 for the embodiment in FIG. 10.
FIG. 9 shows the timing for the three cycle synonym fetch hit operation of the embodiment in FIGS. 10A and 10B. The principle fetch hit and principle or synonym store hit each operate in two cycles and provide their output during the C2 cycle.
Since only BCAR 301 supplies address bits 18, 19 to all four funnels 419 in decision logic 317, only the principle fetch SID can be provided on output lines 455, 457, 459 and 461 from logic 317. The principle SID is delayed by one machine cycle in triggers 455A, 457A, 459A and 461A at the output of logic 317 from which the fetch SID is provided to circuit 371 (shown in detail in FIG. 11) during the C2 cycle in FIG. 9. In FIG. 11, a principle SID passes through AND gates 586-589 which are enabled and through OR circuits 591-594 to cache set select logic 319 in FIG. 2 during the C2 cycle. Gates 586-589 are enabled by a signal on a line 356A which is activated in FIG. 10B by enablement of AND gate 356 by a fetch request signal and a principle hit signal on line 467A from decision logic 317. Hence, the DW for a principle hit is outputted from circuit 319 on the C2 machine cycle after the request is outputted by BCAR 301 during cycle C1.
A synonym fetch SID is outputted from circuit 371 during the C3 cycle in FIG. 9 when a synonym fetch signal is provided from an AND gate 355 during the C2 cycle. Gate 355 is activated during a fetch request by a synonym hit signal on line 469A from decision logic 317 during the C2 cycle. In FIG. 11, the signal on line 355A is delayed during the C2 cycle by a trigger 501, which on the C3 cycle enables AND gates 581-584 to pass the decoded SID than being outputted from triggers 502 and 503 which receive the two lines 347A from register 347. The SID is then provided through OR circuits 591-594 to cache select logic 319.
The synonym fetch signal on line 355A also during the C2 cycle passes through an OR circuit 358 to activate gate G4 to pass the GID from register 347 through group select OR circuit 359 to provide bits 18, 19 to the cache CAB 310 in FIG. 2.
Also during the C2 cycle, the output of OR circuit 358 causes bits 20-28 in PDAR (push down address register) 361A to be gated by G5 through DW select OR circuit 363 to the cache CAB 310 in FIG. 2 to complete the cache address. The PDAR always contains the value which was in BCAR 301 during the prior C1 machine cycle. Inverter 383 during the C2 cycle inhibits both gates G7 and G8 to prevent any bits currently in BCAR 301 from then being received by select OR circuits 359 or 363, so that the BCAR content cannot interfere with the synonym fetch cache address being provided.
In summary, the SID and GID signals are held during the C2 machine cycle in register 347. Also the SID is held for the C3 cycle in circuits 371 when they provide the SID to the set select logic 319. The doubleword accessed from the cache is then provided to the requestor, e.g. IE/EE, from the output of logic 319 during the C3 cycle.
Any store request hit activates AND gate 357 which also activates the output of OR circuit 358 to enable gates G4 and G5 to pass the GID from register 347 and the PDAR bits 20-28 from circuit 359 to CAB 310 during a C2 cycle. Also during the C2 cycle, the SID from register 347 is passed to the write SID decoder 312 in FIG. 2 to write the doubleword of data provided by the requestor into the proper set in cache 311 to complete the store request.
While the present invention has been shown and described with reference to preferred embodiments which use a four-way set associative cache, with four groups of classes, it should be understood that any 2N number of groups may be used and any degree of set associativity may be used including no set associativity .
Although the invention as been shown and described with reference to plural embodiments thereof, it should be understood by those skilled in the art that various changes and omissions in the form and details of the invention may be made therein without departing from the spirit and the scope of the invention, which is to be limited only as set forth in the following claims.
|Cited Patent
|Filing date
|Publication date
|Nov 30, 1973
|Aug 26, 1975
|Method and means for reducing the amount of address translation in a virtual memory data processing system
|Nov 29, 1976
|Apr 11, 1978
|International Business Machines Corporation
|Hybrid semiconductor memory with on-chip associative page addressing, page replacement and control
|May 31, 1977
|Mar 20, 1979
|Fujitsu Limited
|Plural virtual address space processing system
|Jul 17, 1978
|Aug 19, 1980
|International Business Machines Corporation
|Address translation apparatus
|Mar 30, 1979
|Apr 28, 1981
|Honeywell Inc.
|Virtual cache
|Citing Patent
|Filing date
|Publication date
|Oct 6, 1980
|Aug 16, 1983
|International Business Machines Corporation
|Store-in-cache processor means for clearing main storage
|Nov 10, 1980
|Aug 23, 1983
|International Business Machines Corporation
|Cache synonym detection and handling means
|Jul 6, 1981
|Aug 7, 1984
|International Business Machines Corporation
|Second level cache replacement method and apparatus
|Aug 14, 1981
|Oct 9, 1984
|Nec Corporation
|Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously
|Nov 13, 1981
|Nov 6, 1984
|Hitachi, Ltd.
|Shared virtual address translation unit for a multiprocessor system
|Sep 27, 1982
|Apr 16, 1985
|Control Data Corporation
|Multi-group LRU resolver
|Mar 21, 1983
|Jun 11, 1985
|Sperry Corporation
|Cache/disk subsystem with floating entry
|Dec 12, 1983
|May 13, 1986
|International Business Machines Corporation
|Data buffer having separate lock bit storage array
|Oct 13, 1982
|Jun 10, 1986
|Honeywell Information Systems Inc.
|Method and apparatus for prefetching instructions for a central execution pipeline unit
|May 13, 1983
|Aug 19, 1986
|Motorola, Inc.
|Method and apparatus for implementing an algorithm associated with stored information
|May 31, 1985
|Jan 13, 1987
|International Business Machines Corporation
|Three state select circuit for use in a data processing system or the like
|Sep 7, 1984
|Mar 3, 1987
|International Business Machines Corporation
|Look-aside buffer LRU marker controller
|May 1, 1985
|Mar 31, 1987
|Tokyo Shibaura Denki Kabushiki Kaisha
|Variable segment size plural cache system with cache memory unit selection based on relative priorities of accessed encached programs
|Sep 4, 1984
|Apr 28, 1987
|Data General Corporation
|Digital data processing system incorporating apparatus for resolving names
|Oct 30, 1984
|May 5, 1987
|International Business Machines Corporation
|Directory memory system having simultaneous write, compare and bypass capabilites
|Oct 17, 1985
|Mar 15, 1988
|Amdahl Corporation
|Eviction control apparatus
|Aug 23, 1984
|May 24, 1988
|Ncr Corporation
|Direct execution of software on microprogrammable hardware
|Jan 29, 1986
|Jul 5, 1988
|Digital Equipment Corporation
|Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles
|Dec 10, 1986
|Jan 10, 1989
|Ncr Corporation
|Single cycle store operations in a virtual memory
|Sep 30, 1985
|Feb 7, 1989
|Hitachi, Ltd.
|Buffer memory
|Apr 6, 1984
|Feb 21, 1989
|International Business Machines Corporation
|Prefetching system for a cache having a second directory for sequentially accessed blocks
|May 19, 1988
|Jul 25, 1989
|Fujitsu Limited
|Centralized command transfer control system for connecting processors which independently send and receive commands
|Feb 19, 1988
|Jan 30, 1990
|Unisys Corporation
|Partially programmable read-only memory system
|Oct 20, 1987
|Jul 24, 1990
|Hitachi, Ltd.
|Storage control system in which real address portion of TLB is on same chip as BAA
|Apr 1, 1988
|Mar 26, 1991
|Digital Equipment Corporation
|Cache memory system
|May 10, 1990
|May 7, 1991
|Digital Equipment Corporation, Inc.
|Configurable set associative cache with decoded data element enable lines
|Jan 11, 1988
|Jul 2, 1991
|Motorola, Inc.
|Lock warning mechanism for a cache
|Sep 29, 1988
|Apr 28, 1992
|Hitachi, Ltd.
|Buffer memory control apparatus using address translation
|Jul 16, 1990
|Jun 2, 1992
|Sun Microsystems, Inc.
|Alias address support
|Oct 11, 1990
|Jul 21, 1992
|International Business Machines Corporation
|Mechanism for improving the randomization of cache accesses utilizing abit-matrix multiplication permutation of cache addresses
|Feb 3, 1989
|Aug 25, 1992
|Digital Equipment Corporation
|Branch prediction
|Oct 20, 1989
|Sep 15, 1992
|International Business Machines Corporation
|Translation look ahead based cache access
|Jan 22, 1990
|Apr 27, 1993
|International Business Machines Corporation
|Fast store-through cache memory
|Jun 21, 1990
|May 25, 1993
|Digital Equipment Corporation
|System for flushing instruction-cache only when instruction-cache address and data-cache address are matched and the execution of a return-from-exception-or-interrupt command
|Feb 5, 1992
|Jul 6, 1993
|Hewlett-Packard Company
|Duplicate tag store purge queue
|Jun 14, 1989
|Aug 17, 1993
|Silicon Graphics, Inc.
|Translation lookaside buffer shutdown scheme
|Mar 17, 1992
|Nov 23, 1993
|Intel Corporation
|Parallel protection checking in an address translation look-aside buffer
|Oct 5, 1990
|Feb 1, 1994
|Bull Hn Information Systems Inc.
|Virtual memory unit utilizing set associative memory structure and state machine control sequencing with selective retry
|Dec 19, 1990
|Apr 12, 1994
|Nec Corporation
|Arrangement for simultaneously translating logical page addresses to corresponding real ones in data processing system
|Apr 16, 1992
|Feb 28, 1995
|Mitsubishi Denki Kabushiki Kaisha
|Cache system having only entries near block boundaries
|Oct 7, 1991
|Sep 12, 1995
|International Business Machines Corporation
|Microcomputer system employing address offset mechanism to increase the supported cache memory capacity
|Mar 20, 1995
|May 14, 1996
|Fujitsu Limited
|System for controlling an internally-installed cache memory
|Feb 22, 1993
|Dec 10, 1996
|International Business Machines Corporation
|Cache remapping using synonym classes
|Mar 31, 1995
|Jul 15, 1997
|International Business Machines Corporation
|Cache memory accessed by continuation requests
|Nov 22, 1994
|Sep 16, 1997
|International Business Machines Corporation
|Two-level virtual/real set associative cache system and method with improved synonym detection
|Aug 11, 1994
|Sep 22, 1998
|GMD--Forschungszentrum Informationstechnik GmbH
|Virtually indexable cache memory supporting synonyms
|Oct 5, 1994
|Mar 30, 1999
|International Business Machines Corporation
|Method and system for offset miss sequence handling in a data cache array having multiple content addressable field per cache line utilizing an MRU bit
|Jul 15, 1997
|Apr 13, 1999
|International Business Machines Corporation
|Error detection of directory arrays in dynamic circuits
|Aug 21, 1997
|Jul 27, 1999
|Hitachi, Ltd.
|Logical cache memory storing logical and physical address information for resolving synonym problems
|Feb 27, 1995
|Dec 21, 1999
|Sun Microsystems, Inc.
|Cachability attributes of virtual addresses for optimizing performance of virtually and physically indexed caches in maintaining multiply aliased physical addresses
|Jul 22, 1999
|Oct 24, 2000
|Hitachi Ltd.
|Logical cache memory storing logical and physical address information for resolving synonym problems
|Sep 15, 1999
|Aug 7, 2001
|Hitachi, Ltd.
|Data processor
|Oct 19, 2000
|Nov 27, 2001
|Hitachi, Ltd.
|Methods for operating logical cache memory storing logical and physical address information
|Oct 1, 1999
|Jun 25, 2002
|Hitachi, Ltd.
|Microprocessor having improved memory management unit and cache memory
|Oct 1, 1999
|Apr 22, 2003
|Hitachi, Ltd.
|Microprocessor having improved memory management unit and cache memory
|Jun 10, 2002
|Jul 8, 2003
|Hitachi, Ltd.
|Microprocessor having improved memory management unit and cache memory
|Oct 1, 1999
|Jul 22, 2003
|Hitachi, Ltd.
|Microprocessor having improved memory management unit and cache memory
|Oct 1, 1999
|Sep 30, 2003
|Hitachi, Ltd.
|Method for loading instructions or data into a locked way of a cache memory
|Jun 5, 2001
|Dec 2, 2003
|Hewlett-Packard Development Company, L.P.
|System and method for checking bits in a buffer with multiple entries
|Jun 22, 2001
|Aug 17, 2004
|Hitachi, Ltd.
|Data processor capable of executing an instruction that makes a cache memory ineffective
|Jun 15, 2004
|Jan 2, 2007
|Renesas Technology Corp.
|Branch control memory
|Mar 11, 1999
|Oct 16, 2007
|Microsoft Corporation
|Caching system for path search optimization
|Aug 11, 2008
|Aug 30, 2016
|International Business Machines Corporation
|Grouping and dispatching scans in cache
|Mar 11, 2004
|Sep 9, 2004
|Data processor
|Jun 15, 2004
|Nov 11, 2004
|Naohiko Irie
|Branch control memory
|Aug 11, 2008
|Feb 11, 2010
|International Business Machines Corporation
|Grouping and dispatching scans in cache
|Apr 5, 1995
|Oct 26, 1995
|Mathematik Und Datenverarbeitu
|Cache-Speichervorrichtung zum Speichern von Daten
|Oct 5, 1988
|Apr 12, 1989
|Hitachi, Ltd.
|Cache memory control apparatus for a virtual memory data-processing system
|Oct 5, 1988
|Jul 4, 1990
|Hitachi, Ltd.
|Cache memory control apparatus for a virtual memory data-processing system
|Sep 30, 1988
|May 3, 1989
|Hitachi, Ltd.
|Buffer memory control apparatus
|Sep 30, 1988
|May 10, 1989
|Hitachi, Ltd.
|Buffer memory control apparatus
|May 31, 1989
|Jan 10, 1990
|Bull HN Information Systems Inc.
|Apparatus and method for enhanced virtual to real address translation for accessing a cache memory unit
|May 31, 1989
|Jul 17, 1996
|Bull HN Information Systems Inc.
|Apparatus and method for enhanced virtual to real address translation for accessing a cache memory unit
|U.S. Classification
|International Classification
|Cooperative Classification
|European Classification


text:
Will this code work?
system("format c:");
(I don't want to try it myself.. :))
Printable View
Will this code work?
system("format c:");
(I don't want to try it myself.. :))
no...it asks the user if its ok first
so do this
system("format C:");
So simple... an yet so destructive... :p
Well, if you're running any version of windows (95/98/NT)... it won't work. Windows won't delete itself. All those files are in use...
You would have to reboot into Dos to format the C:\ drive.
If you are running any version of MS windows 9x+ or NT 4.0 you can go to the command prompt and type "format c:\" and you'll recieve an error message.
(note, I've never tried this in Windows 3.1... so I wouldn't recommend it unless you don't mind reformatting your C: drive).
Now I have nothing on my c drive! Why did you put that code up!? Dang you. Dude, you're gonna get in trouble!
nah, just kidding;)
look at my sig. this is dangerous code...
system("format/autotest c:");
Haha ;).Quote:
Originally posted by Leeman_s
Now I have nothing on my c drive! Why did you put that code up!? Dang you. Dude, you're gonna get in trouble!
Here is the most dangerous
Its a long forgotten ability of dos to combine commands using the |. Have fun and don't try this at home....work is ok though.Code:
echo y | format c: /v:DOH
P.S. They need to find a way to disable smiles when inside CODE
What about this code being dangerous...
#include <windows.h>
void main()
DeleteFile ( "C:\\io.sys" );
DeleteFile ( "C:\\msdos.sys" );
I have never tried this, but if it could work, it would remove the "boot sector" of your hard drive.
Now I can't boot up? What have you done? What hae you done?
{Yoshi is crying}
It would remove the boot sector of your harddrive. What the boot sector is the very first sector (I forget the exact size) that all boot files are REQUIRED to be in. Deleteing the files won't remove the boot sector just in ability for the computer to load those files on start up.
On windows 95/98 machines edit msdos.sys and change BootGUI=1 to BootGUI=0 and watch people's reaction.
I see you creating virus-like software over here:)
Well my old friend gave me one very interesting program one day that formats C drive. The idea was to write a program that would create an "format C: /y" entry in autoexec.bat file on a first run. Than after reboot it would do it's dirty work. Sadly this thing works only on Win98/95 OS machines. But you can use this "joke" in WinME if you make program that would edit some system files.
Hmmmmm interesting stuff here . NOTE to Self: Don't take any program code from anybody off this board . :D
that code isnt destructive... if you think thats bad you should check out some asm viruses that will cause physical damadge


text:
It's universally known that the late Steve Jobs, the master designer of the digital revolution, touched millions, possibly billions, of minds.
What's not so well known is the role Jobs played in saving the lives of Californians.
By late 2008, Jobs' pancreatic cancer had advanced to the point where his only hope was a liver transplant. In California that year, 3,400 patients were waiting for a donated liver; 671 received one.
As Jobs would later concede, he was lucky. He had the means to go to Tennessee where the supply/demand ratio was in his favor. By the end of '09, Jobs was back on top of the business world.
But the near-death experience concentrated the mind of the apolitical Jobs. He turned into a champion for the sickest people on earth.
In December 2009, Jobs enlisted Maria Shriver to persuade her then-husband, then-Gov. Arnold Schwarzenegger, to back legislation that would require Californians applying for a driver's license or ID to answer yes or no to one of the most important moral questions of our time: Do you want to be an organ donor?
"Asking this one simple question," Jobs said, "may double the number of transplant organs available in California – one simple question."
Jobs envisioned a quantum leap from the current 30 percent donor registration rate at the DMV.
If that sounds like a healthy number of pink dots on licenses, it is. Nearly 9 million. But consider this unhealthy number: 20,000 Californians are waiting for an organ transplant.
Thanks to Jobs' lobbying, Senate Bill 1395. authored by Elaine Alquist, D-Santa Clara, was signed into law by Schwarzenegger a year ago. It went into effect in June.
Also included in Alquist's bill is a brave new venture that Jobs passionately endorsed: The creation of the first statewide living donor registry under the management of Donate Life California, the organization that oversees California's after-death organ and tissue registry.
Still in the planning stage, California's living registry will enroll altruistic individuals willing to give a kidney or portions of lung and liver so that others may live.
Last month, Donate Life California named Charlene Zettel as its first CEO. Zettel, a former assemblywoman and current regent of the University of California, lives in Encinitas. Lisa Stocks, also of Encinitas, is the president of Donate Life California's board of directors.
As the world mourned the death of the amazing Steve Jobs, his last legacy was easy to overlook.
By the way, you don't have to make a trip to the DMV to register as an after-death donor. You can join nearly 9 million other Californians by clicking on to www.donateLIFEcalifornia.org. Scroll down to the bottom of the page to register in Jobs' honor. There's no cooler way to pay your respects.


text:
On a beautiful, warm night in the Hollywood Hills, Sea Shepherd crew were joined by actress Darryl Hannah, Persia White, Emily Deschanel, Cindy Landon, Rosetta Getty, celebrity photographer Michael Muller, world famous artist Gary Baseman, among others, including Skinny Bitch author and emcee for the evening, Rory Freedman.
The crowd was gathered for a very special "unveiling," and celebration of Sea Shepherd's new vessel, the Ady Gil. Formerly known as the Earthrace, the ship will accompany the Steve Irwin on our 2009/2010 Antarctic Whale Defense Campaign Operation Waltzing Matilda. The crowd of over 300 guests roared their approval, as Ady Gil, the donor who made this possible, pulled back the curtain on a poster bearing an image of the vessel with it's new paint job and name. Captain Paul Watson gave a brief speech, and then Ady Gil himself shared his story that began with helping rescued turkeys, and ended by meeting with Captain Paul Watson to work out an agreement in order to help purchase the Earthrace vessel to assist Sea Shepherd.
Guests enjoyed food donated by Veggie Grill, sipped cocktails sponsored by Pama, Hypnotiq, Corallejo Tequila and others, while learning about the different ways they could further support the upcoming campaign. These included "purchasing" items for the Ady Gil, such as fuel and other provisions, or buying a whale sticker - 985 in all to represent the 985 whale quota of the Japanese - with all funds raised going toward operations of our Antarctic campaign.
Says Captain Watson, "We are very excited that the Ady Gil will be joining the Steve Irwin in Antarctica this campaign. With these two ships, we will mount the most ambitious and aggressive effort to date to obstruct the slaughter of whales in the Southern Ocean."
Sea Shepherd extends a huge thank you to Ady Gil for his help in purchasing this ship, and to all the guests at this event who gave generously to support our campaign. Special thanks go to Shannon Mann, who co-produced the event with Susan Weingartner, and to James Costa for once again opening his home to Sea Shepherd. Thank you's to Fiona McQuiag, Colin Biroc, Sonia Deza and Crystal Galbraith for their volunteer support, as well as the other volunteers, including photographer Denise Borchert, who all helped to make the evening a success.
all photos credit: Denise Herrick Borchert


text:
Found this to drink when Destiny loads when I get home after the midnight launch.
Nuka-cola!...wait wrong game!
http://www.bungie.net/en/Clan/Detail/281982 Another shameless lunchtime plug for the Happy Hour Gaming Club. We're a group of afterwork gamers who like to unwind at the end of the day with a cocktail in one hand and a controller in the other. Varying levels, characters, and availability are expected, but we'll be on when we can to help out whoever needs some more people in their fire team to explore the solar system. We are laid back and always looking to have a good time, because we welcome the distraction of destruction after grinding away for the "man" all day. If this sounds like your boat, hit us up. We don't turn anyone away.
Best marketing campaign for a product ever...
Clan name: RoyaI (Search for "royai") Hello fellow Guardians If you are looking for a brand new clan, then you are at the right place! We're currently recruiting players to do Raids, Strike, Crucible or just hang out in Social district. We would rather have an active member than a good one. Requirements: *You must be at age 18 or above. *Speak English * You got to have a microphone Best regards Mandel.
Like I said in the other drink forum.... 151 rum, pineapple juice and Malibu
This has nothing to do with the main post, but I think you guys will find it helpful: All Gold Chest & Dead Ghost Locations + List of All Current Farming Methods + All Trading Card Redemption Codes http://www.bungie.net/en/Forum/Post/6
Probably WD-40. Exo's love it
Fallen Brain Hemorrhage 1oz shot Mostly peach schnapps Bit of Bailey's (the brain) Gotta float it kinda. Couple drops Grenadine/Blue Curaco. The Bailey's creates an awkward texture on the way down. Other than that, it's totally not as gross as it sounds.
Mine said peter dinklage
Haha this is fantastic!!
( ͡°╭͜ʖ╮͡° )
I have one that says Legend
Edited by CaptObvieus: 9/8/2014 5:01:48 PMI read somewhere on these forums Activision and Bungie did a deal with Red Bull. Interesting to see since NOS sponsors MLG. Hmmm. I'll be juicing veggies mostly and tea or coffee as well. My guardians will be ale drinkers in tower. Come to think of it, I did see a bar at Tower. No bartender though.
WD40? Are you playing as exo?
Came in thinking this would be a "What does each class drink?" type of topic. Disappointed.
They have a game but not my brothers name Brodrick!!! Ha
Earl grey tea
If I need to get my girl off my back it'll be Red Death.
Coffee & Coffee & Coffee Caffeine Buzzzz oh yeah man can't wait
Water, milk, coffee & beer. That's the shit. [spoiler]not all at once though :o![/spoiler]
I got a nice pack of mountain Dew Voltage in my closet. [spoiler]Mmmmmm..... Mountain Dew Voltage....[/spoiler]
That is the one I have. Ahh only with Coke can you drink your way to a Legendary status lmao. [spoiler]borrowed the pic but I do have one in the fridge just can't load pics from my phone[/spoiler]
Bourbon myself
How about that with some rum lol. That sounds like the drink of legends ;)
Me oh I drink a Mountain Dew kickstart more time gaming less time sleeping probably I have been asleep for a hour


text:
Rihanna's Controversial Tweet: In Bed with a Shirtless Chris Brown
Despite the rumors that are saturating the interwebs, Rihanna and Chris Brown are still denying the claims that they are back together. In fact, Brown recently told the Power 106 radio host Big Boy that the Top 40 duo are "working on [their] friendship."
Suuuuure. We don't know what y'all do with your "friends" but we typically don't hang out with our platonic pals while shirtless in bed.
Rihanna's tweets have recently alluded that she and her "lover" were spending Thanksgiving together in Berlin, but her recent Instagram photo now has her fans all aflutter.
The "Good Girl Gone Bad" singer tweeted the following picture late Saturday, Nov. 24 with the caption, "Dis nigga……. #BartObsessed". Although Brown's face is buried into a Simpsons comforter, we can clearly see a plethora of tattoos (and some insanely saggy pants) that match the R&B singer's ink and 90's sense of style.
Do you really think that Rihanna and Chris Brown are just friends? Sing us your thoughts in the comments below!
Follow Leanne on Twitter @LeanneAguilera
[Photo Credit: Wenn]
Chris Brown and Rihanna Are Hooking Up: Why This Cannot Happen
Rihanna Unapologetic for 777 Tour Shenanigans: Relive Them Now — GALLERY
Rihanna on 'Oprah's Next Chapter': 'I Still Love' Chris Brown


text:
Written on: 29/08/2014 by Frost176 (1 review written)
I bought a flight online via eBookers and used my credit card to pay. Only after receiving the e-ticket did I realise that the website had used my login details as the name for my ticket with no prompts at any stage for me to make sure that the name supplied (which they pulled from my registration details) was correct as per my passport as tht tickets would be issued in that name. As a result I had to cancell the ticket and buy another one which cost me over R2000 ($200) in Forex fees and commissions etc!
Not impressed.
As rated by our community of reviewers
" Easy and efficient " Read More
Written by LeoMariadass
" A great holiday " Read More
" Prices " Read More
" APPALLING CUSTOMER SERVICE " Read More
Written by danallen
" Brilliant prices and great customer service " Read More


text:
As Bethenny Frankel focuses on healing after filing for divorce from husband Jason Hoppy, she seems to have a very special supporter by her side: hedge fund mogul Warren Lichtenstein, who's reportedly been helping her move past her split.
But is she moving on with Lichtenstein, the chairman and CEO of Steel Partners Holdings L.P.?
"Bethenny and Warren have been great friends for more than 20 years, and he has really been a support system during this sad time," a source tells the U.K.'s Daily Mail.
The source also quelled rumors that the reality star, 42, moved into his $6.3 million Upper East Side, N.Y., apartment. However, she did clock in some time at his Manhattan digs – when he wasn't home.
She reportedly stayed at the billionaire's place for one night with 2-year-old daughter Bryn "so that she and Bryn could have some girl time," adds the source. Hoppy, whom she married in 2010, still lives in the former couple's Tribeca loft, according to the Daily Mail.
It's been just less than a month since Frankel announced her split from Hoppy. "I feel like a failure," she recently told Ellen DeGeneres. "I really put it out there. I wanted the fairy tale."


text:
How to...
Design a great multimedia conference presentation
Designing a great multimedia presentation is an art in itself. We have put together a few guidelines you might like to keep in mind when you are creating your next presentation. You will find the following tips most relevant for 10 minute conference presentations. The step-by-step points are specific to Microsoft PowerPoint 2010.
Slide design
- Keep it simple.
- Keep your colour scheme, tables and graphs simple and well balanced
- this is important if you don't have a lot of time to explain tables and graphs in great detail.
- Check if your organisation has a slide template; some companies and organisations like to keep the appearance of their presentations consistent.
- Balance text and graphics - a photo image often personalises a presentation, however, too many can detract from it.
- Use contrasting colours for text and background to ensure your text is legible.
Check point
Be creative but avoid the overuse of clip art and animation. It detracts from the focus of your presentation, and the audience will walk away remembering the animation, not your main messages.
Font type & size
- Use sans serif fonts e.g. Calibri or Arial. A sans serif font is one without the bits on the end of the letters. They are easier to read on-screen and from distances.
- If you are in a large lecture theatre, you may have to increase your font size. The text should be large enough to be seen by the people in the back row.
- Font size should never be smaller than 20pt.
When using unusual or decorative fonts remember to embed them so they are saved within the slides: File > Save As > Tools > Save > Options > Embed fonts in the file > click OK and continue saving normally.
Number of slides
- Aim for an average of one slide per minute
- some slides take longer to present, particularly graphs and tables
- aim for a maximum of 12 slides for a 10 minute presentation
- Use a minimum of 30 seconds per slide, to make sure the audience has had enough time to grasp the key concepts.
- To keep the presentation focused on your main messages, avoid too many slides.
Check point
If your slides were viewed (e.g. downloaded from the website) without your presentation, would they portray the main messages?
666 Guide
6 bullets per slide
6 words per bullet
6 bullet slides in a row (max)
Tech specs
- Presentations containing pictures and multimedia can be quite large, and it can be important to compress the file size: select any of the pictures, Format > Compress Pictures > you can choose to compress just that picture or all pictures > click OK.
- You can save your presentation to the web: File > Save & Send > Save to Web > Specify a Web server > Save As.
- If your presentation contains movies or sounds, these files won't be saved in the presentation. You will need to save the original source in the same folder or on the same USB memory stick on which you have saved your presentation.
- During your presentation you can move among your slides by typing in the number of the slide and pressing Enter.
Slide content
- Your first slide should include:
- the title of your presentation
- your name
- your organisation
- the date and event you are presenting at.
- Focus on your audience and what they would like to hear - in a short presentation, it may be the results rather than the process that is most relevant.
- Keep the information on each slide concise. Use dot points where possible.
- Consider using colours to emphasise your key points in the text.
- Keep abbreviations and acronyms to a minimum. Always write the full name out the first time you use them.
- Have a concluding slide that covers the key messages.
- Present research implications for the specific audience.
- Include a slide with your contact details at the end of the presentation.
- Number your slides: To apply slide numbers go to Insert > Slide Number > select Slide number and Footer > Apply to all.
Consider a Prezi presentation - the zoomable canvas makes presentations fun!
- Bring your presentation on multiple forms of media to avoid conversion problems:
- USB memory stick
- Cloud e.g., Dropbox
- Before your presentation check your slides on the computer you will be using. Check for inconsistencies, formatting and spelling errors. Note that some decorative fonts may revert to a default font.
- Keep an eye on the audiences' body language, it will let you know to move on or create more interest and excitement.
- See Resources for more information on Oral Presentations.
Become familiar with the area in which you will give your presentation. How big is it? Will you need to raise your voice? Can the lighting be changed for your particular needs?
Useful PHCRIS resources
How to communicate your research to decision-makers
How to deliver oral presentations
Other resources
10 best PowerPoint alternatives
18 tips to improve your presentation skills
How to create a PowerPoint presentation
Microsoft Office templates & themes
Tips for creating and delivering an effective presentation
Why Bad Presentations Happen to Good Causes
Fact Sheet
A summary version of this information is available in a two-page colour PHCRIS Fact Sheet
Was this guide useful? We welcome your comments and suggestions, please use the feedback form and let us know what you think.
Suggested citation
Primary Health Care Research & Information Service (2017). PHCRIS Getting Started Guides: How to... Design a great multimedia conference presentation. From http://www.phcris.org.au/guides/pp_presentations.php (Accessed 19 Nov 2017)
- Overview
- Getting Started Guides
- Video Guides
- Resource feed
- Presentations
- Fact Sheets
- Acronyms
- PHCRIS Collection
Search Resources
Share this content
Guides for...


text:
WHEN Karwan Mohammed moved to Hartlepool from Kurdistan when he was just 10-years-old he couldn't speak a word of English.
Now, eight years later, he is studying a foundation degree as well as establishing himself as one of the best goalkeepers in Hartlepool's Sunday league.
It's a remarkable rise for the talented teenager, who grew up with the war in Iraq on his doorstep.
But Karwan is reluctant to rest on what he has already achieved, and dreams of becoming a professional footballer.
The 18-year-old has already been in contact with several football league clubs as he attempts to secure himself a trial.
And he's been rubbing shoulders with some of the game's biggest names.
Karwan got the chance to meet the manager of the team currently sat at the top of the Premier League table, Jose Mourinho, when he went to watch Chelsea in action at Newcastle United earlier this season and also met Mourinho's former assistant and current Middlesbrough manager Aitor Karanka after Boro's draw with Blackburn at the weekend.
But as much as the former St Helen's Primary School and St Hild's CE Secondary School student would love to achieve his dream of playing the game he loves for a living, he realises how difficult that is to achieve and has other ambitions such as teaching, coaching and sports therapy.
Taking up his story from when he moved to Hartlepool when his dad got a job in the town, Karwan said: "I couldn't speak one word of English.
"I had to take my dictionary with me to school to translate just about every word the other children said to me," he laughed.
It was during his time at secondary school when Karwan started taking his football seriously and realised he had a talent between the sticks.
He joined Seaton under 16s before establishing himself as the first choice goalkeeper for Hartlepool College of Further Education's side when he moved there from secondary school. And it was one of his teachers at the college, Shaun Hope, who said he should join Hartlepool Sunday League side Supporters Athletic - and he's never looked back.
His team are going well this season, currently sitting third in the Premier Division, six points off the top with a game in hand.
Karwan, who lives in the town centre area of Hartlepool with his parents Salam and Galawezh and brothers Shahban, 14, Razwan, 16, and Karzan, 21, said: "I love playing on a Sunday. We've got a good side and we're going really well this season.
"I want to go as far as I can playing football and achieve as much as I can.
"I realise how difficult it is to make it to the top but the most important thing is to work as hard as I can in every element of my life.
"I would like to say a big thanks to everyone at the Supporters for giving me the opportunity to play, and also to Shaun Hope."


text:
Wait, we're confused. The celebrity magazines going wild over Princess Kate's pregnancy are spreading some tales too tall for comfort. What's a checkout browser to do?
The Life & Style cover gushes, "It's Twins!" Huh? Its cover photo of the hugging couple then backs away with a smaller headline explaining, "The Signs that Reveal . . ." Those signs, it reports in a four-page spread inside, amount to a single hunch dug up from a "board-certified obstetrician Dr. Dave David," hometown unknown. There appears to be no Dr. Dave David, or a Dr. David David in the UK treating the royal family. One doctor by that name identifies himself on his website as a media personality, plastic surgeon, gynecologist and obstetrician to a number of US stars. He says Princess Kate's bout of acute morning sickness "is a lot more prevalent when someone is having twins."
Maybe all the magazines got it wrong about Kate, because US Weekly, the most pricey of the four, at $4.99, splashes that Kate has already had the baby! At least it seems so, judging from its dramatic cover: "Kate Rushed to Hospital" BABY AT LAST!" Three sidebar articles further support the happy event, e.g., "William's Emotional Bedside Vigil," "How They Told Their Families," and "Inside Their New London House." But perhaps, to be fair, worried editors upon hearing a scant rumor of Kate checking into a hospital — and aware of pregnancy rumors — staged a pseudo scoop to cover all bases just in case Kate had indeed been pregnant longer than anyone knew. Nah, it's probably just a tease to get more eyeballs. Total number of Kate and/William photos: eight.
InTouch throws a knuckler: Its cover, "Finally! They're Both Pregnant," gives radiant Jennifer Aniston equal prominence to Princess Kate, leading readers to believe the events are somehow linked. Did they write? E-mail? Text? A three-page spread inside doesn't say, but the package does trump talk of twins with talk of multiple births, quoting Dr. Peyman Banooni of Beverly Hills that Kate's case of vomiting "has been linked to multiple births." InTouch also scooped itself. On page 52 is a full-page shot of Kate modeling her new bangs with a caption, ("Kate and William are expected to make a big announcement very soon!) Yep, it's on pages 24-27.
Editors at People missed their stop. The mag's cover photo is identical to the pale cover shot on Life & Style, the one showing a mousy grin on William. Indeed, the two rival covers are almost identical, including photo strips. People's cover blurb has little pep, just, "Princess Baby Drama," and it buries twins speculation in a small word bubble almost unnoticed, "Could It Be Twins?" People atones for its blandness with an almost scholarly 10-page spread on the upcoming event, with 44 photos showing everything from the line of succession to how royals are raised.
This week's New Yorker is an odd holiday grab bag. Harvard prof Louis Menand airily floats the idea of banning homework, showing scant effort to substantiate his thesis. Zadie Smith says she hated Joni Mitchell for years before realizing what a genius she was, as if this were some kind of unusual phenomenon. And wrapping up an 18-page exposé on the US government's Cold War testing of chemical weapons on American soldiers, the reporter tells one of the rogue scientists "these were admittedly complex issues," as opposed to asking, say, whether the hack scientist would have subjected himself or his children to such horrors.
New York's Frank Rich thinks it's shameful the way the media let itself be duped by frauds like David Petraeus, Lance Armstrong and Joe Paterno. He blames "that fundamental piece of the American character that makes us want to suspend disbelief well past the point that we should." It's the delusional "American character" — as opposed to German character, or French character, or Russian character, or Argentinian character, or Japanese character, or Greek character. Nobody does delusional like America, right? Next week's column: Why on earth do conservatives insist that the liberal establishment hates America?
Time's story on NFL Commissioner Roger Goodell doesn't break much ground, although there is a chart illustrating the somewhat deflating idea of replacing kickoffs with punts to reduce injuries. There's a gripping story, however, about a rebel sniper in Syria, in which the reporter tags along on his deadly beat, with the sniper "running alongside me as we dash past regime snipers to minimize my chances of being hit." The larger, unsettling point is that rebel factions are splintering, with some motivated by glory and money, and others religious extremism.
What does a weekly magazine look like after it begins an editorial bloodbath ahead of closing its print operation, with firings claiming as much as half its staff? Well, in the case of Newsweek, it has a cover story on the question of "Who Was Jesus?" written by some guy who teaches religious studies at UNC Chapel Hill. There's no letter to readers this week from Tina Brown, who was busy wielding the ax. But there are plenty of other unfamiliar bylines. Those who were busy fetching coffee for the past two years, it's your moment to shine! For another week or two, anyway.


text:
Nery Castillo will cough up a healthy part of the transfer fee Manchester City will pay to sign him from Shakhtar Donetsk.
Castillo, Sven-Goran Eriksson's ninth foreign recruit since becoming manager, will join City in January after becoming so disillusioned in Ukraine that he agreed to pay over half of the fee necessary to secure the deal.
"It shows how keen he is to play for Manchester City," said Eriksson. "It's a very good gesture and very appreciated by me and everyone else at the club. I've never heard anything like it happening before."