US4603399A - Data processing apparatus for address substitution - Google Patents
Data processing apparatus for address substitution Download PDFInfo
- Publication number
- US4603399A US4603399A US06/565,792 US56579283A US4603399A US 4603399 A US4603399 A US 4603399A US 56579283 A US56579283 A US 56579283A US 4603399 A US4603399 A US 4603399A
- Authority
- US
- United States
- Prior art keywords
- group
- signals
- memory
- logic
- data processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/66—Updates of program code stored in read-only memory [ROM]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/328—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching
Definitions
- This invention relates to data processing apparatus for achieving translation of addresses to different addresses. This is particularly significant for uses involving the substitution of information from one memory where normally information from another would be used. This is known as patching when the information in the first memory has been noted as Masy or as otherwise requiring change after the content of that memory has been fixed. Patching is typicaly employed with the type of memory which is unalterable, that is a read only memory (ROM), to achieve modification of overall data from memory.
- ROM read only memory
- This invention achieves by apparatus or hardware memory substitution or patching of variable lengths closely related to the size of the desired memory substitution.
- the lowest order of addresses of the former address are used directly to define a lowest orders of addresses in the memory which is substituted or "patched in” for the prior memory. That appears, for example, in the foregoing article entitled “Short and Long ROS Patch.”
- IBM Technical Disclosure Bulletin articles as follows are illustrative of fixed length patching using low order address bits unchanged: "Microcode Memory Changes," by M. Enser, Vol. 21, No. 1, June 1978, at pp. 341-342, and "Alterable-Patch Circuits for Read-Only Storage,” by J. L. Regehr, Vol. 23, No. 10, March 1981, at pp. 4627-4628.
- This invention employs a pass-through of information of certain low order address signals. This is achieved by a selection of proper information to be applied to logic having the effect of EXCLUSIVE OR logic.
- An address substitution or patching system is achieved in accordance with this invention by employing logic to receive the address intended for a first memory.
- a typical address may be 20 individual signals, each of sequential significance from the lowest order to the highest order, as is conventional.
- the number of individual address signals for the memory being substituted may be as low as in the order of magnitude of 10 while still achieving advantages in accordance with this invention, although nothing in the invention itself limits it to a minimum number.
- the address bits are applied into a logic array which preferably in commercial applications will be an alterable programmable logic array (PLA).
- PLA alterable programmable logic array
- a suitable PLA is a fuse programmable field PLA. PLAs programmed at a factory by a mask or the like are undesirable because of delays involved.
- the same address signals which are applied to the logic array are applied unchanged to pass-through logic, individual elements of which receive one of the address bit signals and one of the outputs from the logic array.
- the logic is personalized so that signals corresponding to low order addresses for the length of the patch are a predetermined significance, for example, zeros where the logic is EXCLUSIVE OR logic.
- the higher order bits correspond to the unchanging parts of the address in a substitution or patch memory. They are personalized to produce the unchanging part of the patch address from the output of the logic elements to which each is the input.
- the logic array also produces a signal to enable a patch memory and disable a ROM.
- the incremental changes in address are passed through the logic elements without change.
- a logic array having word lines only one word line is required for each such patch regardless of size.
- a commercially available logic array will have a limited number of word lines, less than seventy.
- FIG. 1 is an illustration of the significant elements of a patching system in accordance with this invention in which increased substitution length is obtained by separating out and not changing the four lowest order address signals;
- FIG. 2 is a generally very similar system in which a larger patch memory may be employed by separating out and not changing the six lowest order address signals, thereby accepting a lower minimum patch length in return for the benefit of the larger patch memory;
- FIG. 3 is illustrative of basic elements of a logic array having word lines.
- the preferred embodiment uses an equivalent standard, commercially available programmable logic array, although one which is field programmable;
- FIG. 4 illustrates a logic system in accordance with this invention in which the logic is variable by associating the logic with memory cells which may be changed by electronic techniques.
- the address bus 1 in FIG. 1 comprises twenty individual address lines, each line having significance of one ordinal of a natural binary number.
- the addresses carried are binary in the sense that each line carries a significance of either one or zero by a predetermined electrical signal carried on the line.
- Such addressing, using individual orders in the sequence of natural binary numbers, is entirely standard in data processing arts at this time.
- the five highest order signals, designated A15-A19, are communicated through bus 3 to chip select logic 5. Where the five signals conform to the preselected chip select logic, a signal is generated on line 7 to select a standard, read only memory (ROM) 9.
- ROM read only memory
- ROM 9 typically is a commercially available memory carrying binary data at each memory site represented by structure which is fixed. The data is therefore not alterable after the memory is manufactured.
- a representative ROM 9 would be a silicon chip in metal oxide semiconductor technology having 32K (nominally, 32 thousand) 8 bit bytes of memory.
- Output bus 11 comprises eight lines which receive the 8 bit bytes in parallel.
- Address signals AO-A14 are applied as addresses to ROM 9 on address bus 15, comprising one line for each of the address signals.
- address bus 1 is also connected to input bus 17 to field programmable logic array (PLA) 19.
- Bus 17 comprises separate lines carrying the sixteen address orders of highest significance, A19-A4, of the address on bus 1.
- the details of the preferred PLA 19 are dictated by commercial availability. The most suitable available, receives sixteen separate input signals, contains forty-eight word lines, and produces eight output signals in parallel. In this embodiment, one of the eight output signals is produced on line 21, where it functions to disable chip select logic 5 and enable or select patch memory 23.
- Patch memory 23 preferably may be a standard, commercially available erasable programmable read-only memory (EPROM). This is a device which is manufactured without specific data in the memory and which may be coded with selected data (personalized), by individuals using special equipment away from the manufacturing site. (Commonly, the device is erased by ultra violet radiation. It is then programmed electrically by addressing memory sites.)
- EPROM erasable programmable read-only memory
- the other seven outputs from PLA 19 appear on logic bus 25, having individual lines 25a through 25g, each connected as one of two inputs to different ones of EXCLUSIVE OR logic elements 27a through 27g.
- the second input to EXCLUSIVE OR elements 27a through 27g are from parallel address bus 29, comprising seven individual lines, carrying the fifth address order in significance, A4, through the eleventh address order in significance, A10. Address order A4 is applied on line 29a as the second input to EXCLUSIVE OR element 27a.
- the higher order addresses are applied in sequence as the second input to the other EXCLUSIVE OR element, with, for example, the highest order being applied on line 29g as the second input to EXCLUSIVE OR element 27g.
- a second parallel address bus 31, comprising four individual lines, carries the four least significant address orders, A0 through A3, bypassing PLA 19 and logic elements 27a through 27g, and being connected to the EPROM 23 as lowest order address signals, EA0 through EA3, with A0 applied as EA0, A1 applied as EA1, and the others applied in the same sequence.
- the output of logic 27a is applied on line 33a as the address of next highest significance, EA4, while the output of the related logic elements are similarly applied, with the output of element 27g being applied on line 33gg as EA10, the address order of highest significance to EPROM 23.
- the signal on line 21 is applied to select EPROM 23, the selection or activation of EPROM 23 by signal at an input (often denominated CS or chip select) being a standard capability.
- EPROM 23 The output of EPROM 23 is eight binary data bits in parallel on output bus 35. Both ROM 9, when selected, and EPROM 23, when selected, apply through their output buses 11 and 35 eight bits of data on a conventional data bus 37, of eight individual lines. Bus 37 transmits data for general use in a data processing system. Since the same signal on line 21 which selects EPROM 23 disables ROM 9, data on bus 37 will be either from ROM 9 or EPROM 23, but not from both simultaneously.
- ROM 9 and EPROM 23 depends upon the personalization of PLA 19. Where the signals A19 through A4 on bus 17 are not those for which PLA 19 is personalized to respond by activating line 21, data will be supplied by ROM 9, provided that signals A19 through A15 on bus 3 are those to which select logic 5 is designed to respond by applying a select signal on line 7. (Typically, of course, a system will have memories other than ROS 9 which are selected by other combinations of A19 through A15.) Address signals on bus 15 typically have large portions which increment one natural binary number at a time to supply data, although the address on bus 15 may differ greatly from the preceding address where a branch in a program or the like is to being executed. In this preferred embodiment, such addresses and changes in address are conventional as just described.
- PLA 19 may be personalized to respond to the signals on bus 17 to provide an active signal on line 21. Where this occurs, PLA 19 will also be personalized to provide logic zero signals on bus 25 for those signals connected as inputs to EXCLUSIVE OR elements 27a through 27g which will change during the continuous address sequence at which A4 through A19 will activate line 21 and provide a fixed set signals on bus 25.
- the memory substitution or patch address may be between addresses 11011101110100000000 and 11011101110111111111 (with A0 appearing on the right, as is conventional).
- the patch boundary begins when the designated high orders are those predefined.
- A8 through A19 are identical and this is used to achieve a single, continuous selection on line 21 and bus 25 by PLA 19.
- Addresses which change at orders higher than A10 are larger than EPROM 23 can respond to as one continuous selection. This is true because EPROM 23, the patch memory, would not be as large as the patch block.
- the address changes for A0 through A7, while A8 through A19 remain unchanged.
- PLA 19 is personalized to provide a signal of logic zero significance (as distinguished from logic one significance) on lines on bus 25 corresponding to A4 through A7. Accordingly, line 25a supplies a zero as an input to EXCLUSIVE OR 27a, line 25b (suggested, not shown) supplies a zero to EXCLUSIVE OR 27b (suggested, not shown), line 25c supplies a zero to EXCLUSIVE OR 25c, and line 27d supplies a zero to EXCLUSIVE OR 25d.
- EXCLUSIVE OR 27a As signal A4 is applied as the second input to EXCLUSIVE OR 27a, and as EXCLUSIVE OR is defined as logic which produces a one when the inputs differ, the A4 signal will appear on line 33a as the output of Exclusive Or 27a.
- the three next more significant signals immediately above A4 are applied to EXCLUSIVE OR circuits 27b through 27d as described. Since the inputs on lines 25b through 25d are zero in this example, the address signals A5 through A7 appear on output lines 33b through 33dunchanged. They are effectively "passed through" the EXCLUSIVE OR logic 27b, 25c and 27d unchanged.
- PLA 19 is personalized to provide unchanging parts of an address in EPROM 23, which may be different in any unchanging address order from that of the address on bus 1.
- the specific unchanging part of the address depends on where the corresponding data is stored. Generally data will be stored in the next available storage position. All memory positions in a typical standard memory system such as EPROM 23 are accessed by addresses in the form of sequentially larger natural binary numbers. Generally, data will be stored in any available storage position, but the position selected must have sufficient memory length.
- PLA 19 is personalized so that the signal on line 25e (suggested, not shown) to EXCLUSIVE OR 33e (suggested, not shown) is a zero.
- the other input signal to EXCLUSIVE OR 33e from bus 29 is A8, which is a one.
- EXCLUSIVE OR 33e therefore provides a one on line 33e, which functions as Address EA8 of EPROM 23.
- the signal on line 25f to EXCLUSIVE OR 27f is a one, PLA 19 being so personalized because A9 is zero and the substitution address requires a one.
- EXCLUSIVE OR 27f provides a one on line 33f.
- PLA 19 is personalized to provide a one on line 25g, since A10 to EXCLUSIVE OR 27g is also a one and a zero in that order of the substitution address is required.
- a patch with variable block size for each patch is achieved.
- Another significant advantage of this invention is in its suitability to being implemented by logic arrays having word lines. Such arrays are efficient, fast, readily implemented, and cost effective. Such an element is discussed in detail wth respect to FIG. 3.
- each substitution or patch with the selection of a separate word line. This is true because each word line, which is selected by unchanging high orders, patches to a block as long as the length defined by lower changing oders, even though only part of the content of the lower orders may be different from the corresponding original information.
- the lower seven orders define a patch length of 128.
- a patch of that length, 128, must be provided in the EPROM 23. Normally, up to one-half of that length may contain duplicated data which is also in the EPROM.
- Information to be altered may begin, for example, with the lower seven addresses at all zeros (0000000). If the altered data ends at 69 (1000101), then the length of altered data is 70, but the total length of the patch is 128.
- the lowest unchanging address order is the eighth which changes at 128 address increments after the starting, 0000000, status. That change deselects the selected word line and terminates the patch.
- the size of the patch may nevertheless be closely related to the length of the altered data.
- the data to be altered be 50 in length and the starting lower orders be all zeros, then the lowest orders would read 0110001 at the end of the patch length required.
- the seventh highest order is unchanged both before and after the necessary patch length.
- PLA 19 is personalized to respond to the address at that order, A6, and all of the higher address orders, being unchanging addresses. This illustrates the limiting of the use of patch memory, EPROM 23, to an amount directly related to the length of data to be altered, which is a fundamental advantage of this invention.
- the address of the start of data to be altered may be at any memory location.
- a necessary patch length may end at an address having several high orders changed from the starting address, even though the patch is not correspondingly long. (In an arithmetic sense, this results from a single increment being translated by the carry operation, i.e. 111+1 being 10000.) Avoidance of patch length longer than one-half of the data to be altered may be achieved by dividing what could be a single patch having this address translation into two patches (at the cost of use of a second word line).
- PLA 19 is personalized to select a word line when the ten highest address orders, A19-A10, are 0101100000, the unchanging ordinals for the first patch. That patch is 128 long, 52 of which correspond to data which need not be duplicated (i.e. from lower addresses 0000000 to 0110010). PLA 19 is also personalized to select another word line when the fourteen highest address orders, A19-A6 are 01011000010000, the unchanging ordinals of the second patch. That patch is 64 long, 16 of which correspond to the data which need not be duplicated (from lower addresses 110000 to 111111).
- FIG. 2 illustrates an embodiment closely similar to that of FIG. 1 except that a larger patch memory EPROM 40 is employed.
- EPROM 40 is an 8K by 8 bit memory adapted to receive thirteen address inputs, A12 through A0, and is otherwise basically the same as EPROM 23 of FIG. 1. Elements which are essentially identical to those of FIG. 1 are given the same reference numerals and will not be discussed here in any detail.
- the fourteen highest orders of the address on bus 1, A19 through A6, are applied by input bus 42 to PLA 19. Two inputs of PLA 19 are not used and are therefore shown connected to ground on bus 44.
- Parallel address bus 46 carries signals A12 through A6, where each is connected as one input to EXCLUSIVE OR logic elements 27a through 27g. The lowest order, A6, is connected as an input to EXCLUSIVE OR 27a and the others are connected in sequence to EXCLUSIVE OR circuits 27b through 27g. Seven outputs of PLA 19 appear on logic bus 25, having individual lines 25a through 25g, each connected to different ones of EXCLUSIVE OR logic elements 27a through 27g.
- a second parallel address bus 48 comprising six individual lines, carries the six least significant address orders, A0 through A5, to EPROM 40 as lowest order address signals, EA0 through EA5, with A0 applied as EA0, A1 applied as EA1, and the others applied in the same sequence.
- EPROM 40 provides eight bit bytes on output bus 35 which is communicated on data bus 37.
- bus 48 bypasses PLA 19, the smallest substitution unit possible will be 64 positions. This increases long substitutions not otherwise desirable, but it also increases the number of address orders, since the total is seven from PLA 19 plus those on bus 48.
- the high number or orders permits the larger 8K by 8 memory 40 to be addressed, while the smaller number in the FIG. 1 embodiment limited the number of address orders to 11, which permitted addressing of only a 2K by 8 memory 23.
- FIG. 3 is demonstrative only of a standard PLA.
- the PLA illustrated suggests factory programming or personalization by mask techniques. It is selected because it is clearly understood by the inventors of this application and may be definitively illustrated. Alterable PLAs including fied PLAs, are commercially available from various manufactures. Ready, field personalization is a characteristic preferred with the PLA used for this invention.
- a major element of such an array is that it has a limited number of word lines 50a50b through 50p, which may be activated to produce coded output signals.
- the inputs which are on input lines 52a, 52b through 52n, provide permutations vastly larger in number than the number of word lines 50a through 50p.
- Each input line 52a through 52n has the capability of being interconnected with any of the word lines 50a through 50p depending on the personalization.
- To positively respond to a low condition on an input 52a through 52n each is connected in parallel with an individual inverter 54a through 54n, the output of each being on line 56a through 56n.
- the initial signal on lines 52a through 52n is carried into the array on lines 58a through 58n.
- Each of the lines 58a through 58n and 56a through 56n may reverse the condition of the word lines 50a through 50p where a switch element 60 exists and is activated by a high potential on one of the lines 58a through 58n and 56a through 56n.
- Switch elements 60 illustratively are field effect transistors connecting word lines 50a through 50p to ground potential. The control is by applying a high signal to the gate of elements 60.
- Word lines 50a through 50p when not brought to ground by one of the elements 60, are selected by being held high by a high potential acting through resistors 62a through 62p, each in series with word lines 50a through 50p respectively.
- a high word line 50a through 50p operates on the gate of switch elements 60 connected to output lines 64a through 64m. Lines 64a through 64n, when not brought to ground potential by one of the elements 60, are held high by a high potential action through resistors 66a through 66m.
- Switch elements 60 are shown either with or without the conventional gate symbol for a field effect transistor, with those having the gate circled in FIG. 3. This suggests that the gate is not provided during manufacture of the personalized array. Alternatively, of course, all the gates might be provided, but connection to the lines 56a through 56n, 58a through 58n, and 66a through 66m, be made or not made depending on the personalization.
- the changing address inputs to PLA 19 are responded to by such "don't care" personalization, so that a word line is selected regardless of their status.
- the unchanging address orders to PLA 19 are responded to by personalization which selects by leaving high only one word line 50a through 50p, with that word line having the "don't care” personalization for the changing address orders.
- the desired output is that as described and is achieved by simply personalizing the switch elements 60 associated with the word line personalized to be activated so that output lines 64a through 64m carry those signals which conform to this invention as described in the foregoing.
- This description of a logic array is intended to be only illustrative, as such arrays are now known in this art and can take various forms which are equivalent with respect to this invention.
- This invention utilizes individual word lines for substitutions or patches of various sizes by personalizing the logic array so that the changing addresses plays no part in selecting the active word line. Accordingly, each continuous substitution or patch may employ only one word line, even though the changing parts of the received address may be large. This minimizes the number of word lines used, and the number of word lines is limiting structural resource. (As discussed in connection with FIG. 1, in a particular address involving translations or carries in the original address, the use of separate patches may be desirable to economize on the use of the patch memory, EPROM 23.)
- PLAs and the like are relatively fast compared with memory accessing times or the like. Typically, final usable output is produced from the PLA soon enough that no special wait is provided in the system. With respect to FIG. 1 and FIG. 2, typically control signals appear on line 21 and address signals appear on bus 25 in time to disable ROM 9 and enable EPROM 23 or EPROM 40 without imposing a delay in the timing of the overall system.
- FIG. 4 shows one subcircuit of array logic in which the personalization is not fixed in hardware.
- the full array comprises a two dimensional repetition of the subcircuit of FIG. 1 generally in the manner of FIG. 3 as further described below.
- Memory cells 80, 82, and 84 may be random access sites having two states, producing a high signal at the output marked 1 in one state and producing a high signal at the output marked 0 in the second state.
- each cell 80, 82, and 84 may be any standard memory cell, such a a cross-coupled bistable circuit of convenient design, which is driven on control lines 86, 88, and 90 respectively to switch the state from on to off, the on status being arbitrarily considered that in which the 1 output is high and the zero output is low, while the opposite status is that in which the 0 output is high and the 1 output is low.
- Line 92 is a word line, comparable to one of the word lines 50a through 50n in FIG. 3.
- Line 92 is normally biased to a high status of potential.
- Line 92 is connected to a number of subcircuits, each essentially as shown in FIG. 4.
- Line 92 is normally held low, the unselected state, and if allowed to go high by the subcircuits as will be described, line 92 is selected and participates in the development of a coded output signal.
- An entire circuit has a plurality of word lines, such as word line 92, each with the number of subcircuits as in FIG. 4 connected to it equal to the number of input address orders to the array.
- Line 94 is the direct input line, corresponding to one of the lines 58a through 58n in FIG. 3.
- line 96 carries the inverted signal to that on line 94, corresponding to line 56a when line 94 corresponds to line 58a.
- Line 98 is also normally biased to a high status of potential.
- Line 98 carries one output and corresponds to one of the output lines 64a through 64m of FIG. 3. Accordingly, each subcircuit as in FIG. 4 associated with each word line, such as line 92, connects to a different output line such as line 98.
- Memory cell 80 is set on when the address order on line 94 is to partially select line 92 when line 94 is high (word line 92 is fully selected when all of the cells partially select line 92 by none of them pulling it to ground).
- Memory cell 82 is set on when the signals on lines 94 and 96 are to be signals of unchanging address orders (that is, they are not "don't care" signals). Accordingly, when cell 80 is on, cell 82 is on and the line 96 is high, all three inputs of NAND logic element 100 are high, resulting in a low or ground output, which is connected to word line 92 and pulls it down. Word line 92 is positively prevented from selection.
- the 0 output is high. That is, the previously low input to NAND 102 is high, and, when line 94 is high and cell 82 is on, NAND 102 is satisfied. In that status, word line 92 is positively prevented from selection.
- the 1 output of cell 82 is one of the three inputs to both NAND 100 and NAND 102. When that ouput is low, word line 92 is partially selected regardless of the status of the address signal and its inverse carried on lines 94 and 96, respectively.
- Word line 92 or a word line corresponding to word line 92 is selected when all of the subcircuits as in FIG. 4 to which it is connected allow a high signal on the word line 92 or other word line.
- This high signal appears as one of the three inputs to NAND 104, along with the 1 output of cell 82 and the 0 output of memory cell 84.
- the 0 output of cell 82 appears as one input the NAND 106, along with word line 92 and inverse line 96.
- Either NAND 104 or NAND 106 can be satisfied, but not both, depending upon whether cell 82 is set on or off. Cell 82 is set on when an unchanging address signal will appear on lines 94 and 96.
- Cell 84 is set off when the corresponding order of the substitution address is to be low. Then all inputs to NAND 104 are high and output line 98 is brought low. To allow line 98 to go high, cell 84 is set on. Then a high signal does not appear on the 0 output of cell 84, one of the inputs to NAND 104, and line 98 is not brought low.
- cell 82 is set low and word line 92 is selected, the two associated inputs to NAND 106 are high. The other input is the inverted address signal on line 96. When that signal is high, NAND 106 is satisfied and line 98 is brought low. Thus, a signal of low state at the incoming address order results in a low signal on lihe 98. When the signal on line 96 is high, NAND 106 is not satisfied.
- a signal of high state at the incoming address order necessarily means line 96 is low and this results on line 98 not being brought low.
- An address signal of opposite state causes NAND 106 to bring line 98 low.
- This operation of NAND 106 as connected may be characterized as pass-through logic selected by the input from word line 92. When selected, the inverse of the signal on line 96 is passed through.
- each word line 92 typically only one word line of a group of word lines such as word line 92 is selected. Then NAND circuits corresponding to NAND elements 104 and 106 and related to the selected word line may be activated.
- Each word line 92 has multiple NAND elements 104 and 106, each connected to a different output line such as line 98.
- Each of the lines 98 are identically connected to be controlled by all of the word lines.
- variable circuit of FIG. 4 is relatively costly and complex, and is not preferred.
- the logic shown is merely illustrative and would be optimized for particular applications. If such a circuit is provided, additional logic and complexity can be added to substitute for various system structures based on the availability of these circuit elements when patch or the like is not being accomplished. This would reduce somewhat the overall cost of providing the memory type circuit.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/565,792 US4603399A (en) | 1983-12-27 | 1983-12-27 | Data processing apparatus for address substitution |
JP59171666A JPS60140596A (ja) | 1983-12-27 | 1984-08-20 | アドレス置き換えを行うためのデ−タ処理装置 |
DE8484115426T DE3485686D1 (de) | 1983-12-27 | 1984-12-18 | Datenverarbeitungsgeraet mit adressenersetzungsfaehigkeiten. |
EP84115426A EP0146891B1 (en) | 1983-12-27 | 1984-12-18 | Data processing apparatus having address substitution capabilities |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/565,792 US4603399A (en) | 1983-12-27 | 1983-12-27 | Data processing apparatus for address substitution |
Publications (1)
Publication Number | Publication Date |
---|---|
US4603399A true US4603399A (en) | 1986-07-29 |
Family
ID=24260113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US06/565,792 Expired - Fee Related US4603399A (en) | 1983-12-27 | 1983-12-27 | Data processing apparatus for address substitution |
Country Status (4)
Country | Link |
---|---|
US (1) | US4603399A (enrdf_load_stackoverflow) |
EP (1) | EP0146891B1 (enrdf_load_stackoverflow) |
JP (1) | JPS60140596A (enrdf_load_stackoverflow) |
DE (1) | DE3485686D1 (enrdf_load_stackoverflow) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4908859A (en) * | 1986-09-19 | 1990-03-13 | M/A-Com Government Systems, Inc. | Receiver access interface to service components in television channel |
US5046180A (en) * | 1988-05-23 | 1991-09-03 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor integrated circuit device comprising non-reprogrammable internal memory device |
US5412784A (en) * | 1991-07-15 | 1995-05-02 | International Business Machines Corporation | Apparatus for parallelizing serial instruction sequences and creating entry points into parallelized instruction sequences at places other than beginning of particular parallelized instruction sequence |
US6073252A (en) * | 1997-09-25 | 2000-06-06 | Motorola, Inc. | Data processing system with memory patching and method thereof |
US6189145B1 (en) | 1997-05-28 | 2001-02-13 | International Business Machines Corporation | Concurrent patch to logical partition manager of a logically partitioned system |
US6421679B1 (en) | 1995-10-27 | 2002-07-16 | International Business Machines Corporation | Concurrent patch to logical partition manager of a logically partitioned system |
US20030041231A1 (en) * | 2001-08-10 | 2003-02-27 | Mips Technologies, Inc. | System and method of controlling software decompression through exceptions |
US20030051119A1 (en) * | 2001-09-10 | 2003-03-13 | Li Hsiao Yi | Scheme for implementing breakpoints for on-chip ROM code patching |
US20040205318A1 (en) * | 2003-04-14 | 2004-10-14 | Arm Limited | Remapping of data access requests |
US7149878B1 (en) * | 2000-10-30 | 2006-12-12 | Mips Technologies, Inc. | Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values |
US7533240B1 (en) * | 2005-06-01 | 2009-05-12 | Marvell International Ltd. | Device with mapping between non-programmable and programmable memory |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0296699U (enrdf_load_stackoverflow) * | 1989-01-20 | 1990-08-01 | ||
JP2001125781A (ja) * | 1999-10-29 | 2001-05-11 | Matsushita Electric Ind Co Ltd | マイクロプロセッサ、およびマイクロプロセッサにおけるプログラム変更方法 |
US6678836B2 (en) | 2001-01-19 | 2004-01-13 | Honeywell International, Inc. | Simple fault tolerance for memory |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4028678A (en) * | 1975-10-16 | 1977-06-07 | Bell Telephone Laboratories, Incorporated | Memory patching circuit |
US4141068A (en) * | 1977-03-24 | 1979-02-20 | Xerox Corporation | Auxiliary ROM memory system |
US4319343A (en) * | 1980-07-16 | 1982-03-09 | Honeywell Inc. | Programmable digital memory circuit |
US4400798A (en) * | 1981-07-13 | 1983-08-23 | Tektronix, Inc. | Memory patching system |
-
1983
- 1983-12-27 US US06/565,792 patent/US4603399A/en not_active Expired - Fee Related
-
1984
- 1984-08-20 JP JP59171666A patent/JPS60140596A/ja active Granted
- 1984-12-18 DE DE8484115426T patent/DE3485686D1/de not_active Expired - Lifetime
- 1984-12-18 EP EP84115426A patent/EP0146891B1/en not_active Expired
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4028678A (en) * | 1975-10-16 | 1977-06-07 | Bell Telephone Laboratories, Incorporated | Memory patching circuit |
US4141068A (en) * | 1977-03-24 | 1979-02-20 | Xerox Corporation | Auxiliary ROM memory system |
US4319343A (en) * | 1980-07-16 | 1982-03-09 | Honeywell Inc. | Programmable digital memory circuit |
US4400798A (en) * | 1981-07-13 | 1983-08-23 | Tektronix, Inc. | Memory patching system |
Non-Patent Citations (10)
Title |
---|
"Alterable-Patch Circuits for Read-Only Storage", by J. L. Regehr, vol. 23, No. 10, Mar. 1981, pp. 4627-4628. |
"Microcode Memory Changes", by M. Enser, vol. 21, No. 1, Jun. 1978, pp. 341-342. |
"Replacing Portions of Read-Only Store Modules with Random-Access Memory Bits", by D. W. Westcott, vol. 17, No. 10, Mar. 1975, pp. 2915-2916. |
"Short and Long ROS Patch", by H. Trinh, vol. 24, No. 3, Aug. 1981; pp. 1379-1382. |
"Terminal Microcode Load/Patch Facility", by F. L. Huss et al, vol. 24, No. 10, Mar. 1982, pp. 5273-5274. |
Alterable Patch Circuits for Read Only Storage , by J. L. Regehr, vol. 23, No. 10, Mar. 1981, pp. 4627 4628. * |
Microcode Memory Changes , by M. Enser, vol. 21, No. 1, Jun. 1978, pp. 341 342. * |
Replacing Portions of Read Only Store Modules with Random Access Memory Bits , by D. W. Westcott, vol. 17, No. 10, Mar. 1975, pp. 2915 2916. * |
Short and Long ROS Patch , by H. Trinh, vol. 24, No. 3, Aug. 1981; pp. 1379 1382. * |
Terminal Microcode Load/Patch Facility , by F. L. Huss et al, vol. 24, No. 10, Mar. 1982, pp. 5273 5274. * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4908859A (en) * | 1986-09-19 | 1990-03-13 | M/A-Com Government Systems, Inc. | Receiver access interface to service components in television channel |
US5046180A (en) * | 1988-05-23 | 1991-09-03 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor integrated circuit device comprising non-reprogrammable internal memory device |
US5412784A (en) * | 1991-07-15 | 1995-05-02 | International Business Machines Corporation | Apparatus for parallelizing serial instruction sequences and creating entry points into parallelized instruction sequences at places other than beginning of particular parallelized instruction sequence |
US6421679B1 (en) | 1995-10-27 | 2002-07-16 | International Business Machines Corporation | Concurrent patch to logical partition manager of a logically partitioned system |
US6189145B1 (en) | 1997-05-28 | 2001-02-13 | International Business Machines Corporation | Concurrent patch to logical partition manager of a logically partitioned system |
US6073252A (en) * | 1997-09-25 | 2000-06-06 | Motorola, Inc. | Data processing system with memory patching and method thereof |
US20070094482A1 (en) * | 2000-10-30 | 2007-04-26 | Mips Technologies, Inc. | Boundary address registers for selection of ISA mode |
US7149878B1 (en) * | 2000-10-30 | 2006-12-12 | Mips Technologies, Inc. | Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values |
US7509480B2 (en) | 2000-10-30 | 2009-03-24 | Mips Technology, Inc. | Selection of ISA decoding mode for plural instruction sets based upon instruction address |
US7107439B2 (en) | 2001-08-10 | 2006-09-12 | Mips Technologies, Inc. | System and method of controlling software decompression through exceptions |
US20030041231A1 (en) * | 2001-08-10 | 2003-02-27 | Mips Technologies, Inc. | System and method of controlling software decompression through exceptions |
US20030051119A1 (en) * | 2001-09-10 | 2003-03-13 | Li Hsiao Yi | Scheme for implementing breakpoints for on-chip ROM code patching |
US6925521B2 (en) | 2001-09-10 | 2005-08-02 | Texas Instruments Incorporated | Scheme for implementing breakpoints for on-chip ROM code patching |
US20040205318A1 (en) * | 2003-04-14 | 2004-10-14 | Arm Limited | Remapping of data access requests |
US7243206B2 (en) * | 2003-04-14 | 2007-07-10 | Arm Limited | Method and apparatus for using a RAM memory block to remap ROM access requests |
US7533240B1 (en) * | 2005-06-01 | 2009-05-12 | Marvell International Ltd. | Device with mapping between non-programmable and programmable memory |
Also Published As
Publication number | Publication date |
---|---|
JPS6313278B2 (enrdf_load_stackoverflow) | 1988-03-24 |
DE3485686D1 (de) | 1992-06-04 |
EP0146891B1 (en) | 1992-04-29 |
JPS60140596A (ja) | 1985-07-25 |
EP0146891A2 (en) | 1985-07-03 |
EP0146891A3 (en) | 1988-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4603399A (en) | Data processing apparatus for address substitution | |
US5784637A (en) | Single-chip semiconductor integrated circuit device and microcomputer integrated on a semiconductor chip | |
US3949370A (en) | Programmable logic array control section for data processing system | |
US5555397A (en) | Priority encoder applicable to large capacity content addressable memory | |
US4654781A (en) | Byte addressable memory for variable length instructions and data | |
US4845668A (en) | Variable field content addressable memory | |
US3470542A (en) | Modular system design | |
US5386523A (en) | Addressing scheme for accessing a portion of a large memory space | |
US5125098A (en) | Finite state-machine employing a content-addressable memory | |
EP0306962B1 (en) | Single-chip microcomputer | |
US5422979A (en) | Fuzzy logic controller with optimized storage organization | |
US3996566A (en) | Shift and rotate circuit for a data processor | |
US3978456A (en) | Byte-by-byte type processor circuit | |
US4578771A (en) | Dynamically reprogrammable array logic system | |
US3325785A (en) | Efficient utilization of control storage and access controls therefor | |
EP0843893A1 (en) | A microcontroller having an n-bit data bus width with less than n i/o pins and a method therefor | |
US5410658A (en) | Microprocessor for carrying out a plurality of different microprograms at the same time and method for controlling the microprocessor | |
US3965459A (en) | Selectable eight or twelve digit integrated circuit calculator and conditional gate output signal modification circuit therefor | |
US4090237A (en) | Processor circuit | |
US5577221A (en) | Method and device for expanding ROM capacity | |
US5155826A (en) | Memory paging method and apparatus | |
US3858187A (en) | Read only memory system | |
US4975882A (en) | User programmable redundant memory | |
WO1984004983A1 (en) | Page mode memory system | |
CA1252576A (en) | Sequential array logic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION ARMONK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:CHEEK, ELBERT A.;THOMAS, DAVID R.;ZBROZEK, JOHN D.;REEL/FRAME:004213/0535 Effective date: 19831220 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees | ||
FP | Expired due to failure to pay maintenance fee |
Effective date: 19980729 |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |