WO1991009367A1 - Improvements in computer systems - Google Patents

Improvements in computer systems Download PDF

Info

Publication number
WO1991009367A1
WO1991009367A1 PCT/GB1990/001817 GB9001817W WO9109367A1 WO 1991009367 A1 WO1991009367 A1 WO 1991009367A1 GB 9001817 W GB9001817 W GB 9001817W WO 9109367 A1 WO9109367 A1 WO 9109367A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
computer system
chip
coding
changed
Prior art date
Application number
PCT/GB1990/001817
Other languages
French (fr)
Inventor
David Flynn
Original Assignee
Eo Computer Limited
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Eo Computer Limited filed Critical Eo Computer Limited
Publication of WO1991009367A1 publication Critical patent/WO1991009367A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • H03M7/16Conversion to or from unit-distance codes, e.g. Gray code, reflected binary code

Definitions

  • This invention relates generally to computer systems and in particular to methods by which the principal CPU chip accesses other chips, more especially but not exclusively a separate or an external memory chip, within the system.
  • CISCs Complicated Instruction Set Computers
  • RISCs Reduced Instruction Set Computers
  • CISCs Complicated Instruction Set Computers
  • RISCs Reduced Instruction Set Computers
  • CISCs are older and their main characteristic is that their native instruction set is such that one instruction can perform several operations to achieve a complicated operation. This approach was satisfactory when machines were programmed at a fairly low level, but began to break down as compiler technology advanced. Under these circumstances it was noted that compilers hardly ever made use of the more complicated instructions and RISCs were introduced.
  • RISC computers have a simple instruction set so that a compiler is able to make much better use of it.
  • a consequence of the simpler instruction set is that more instructions are required for a given program than that required by a CISC program. This increases the rate at which instructions are fetched from memory and also increases the length of sequential instruction fetches between branches in the program.
  • the power consumption of the whole system is dictated by the rate at which memory is accessed and how wide the memory buses are (the number of data and address bits). It is well known that power can be reduced by integrating the computer and the memory onto the same chip. This is because power does not have to be expended changing the state of address or data bus lines.
  • the integration of memory onto the same chip as the computer generally also means that the computer can operate faster.
  • the amount of memory that can be integrated onto a chip is limited and for all but the simplest applications it is necessary to store programs and data in memory that is not on the same chip as the computer (principal chip). Under these circumstances any reduction in the rate at which instructions or data are accessed in memory will reduce the power requirement. Similarly if the number of lines (wires) that have to change between different accesses is reduced then the power requirement will also be reduced.
  • a method of accessing a separate chip from the principal CPU chip in a computer system according to which the principal CPU chip is address line encoded so that, on the address bus and for at least one group of the address lines, the address codes are changed sequentially so that at each step only one address code is changed.
  • a computer system having a principal CPU chip (computer) and at least one separate or external chip such as a memory chip, wherein, the principal CPU chip is address line encoded so that in use, on the address bus and for at least one group of the address lines, the address codes are changed sequentially so that at each step only one address code is changed.
  • the principal CPU chip is address line encoded so that in use, on the address bus and for at least one group of the address lines, the address codes are changed sequentially so that at each step only one address code is changed.
  • the invention is also applicable to the accessing of data on the data bus, e.g., in a true Harvard architecture system.
  • the technique can be applied to both address (where the information is in memory) and data (what the information is) lines of memory.
  • the encoding used for addresses will be different to the encoding used for data because the manner in which the lines are used is different.
  • the technique can be applied to both standard processors and custom designed processors, in order to reduce power consumption.
  • Gray coding is efficient because for sequential accesses only one address line transitions between each address change.
  • the invention thus also extends to the combination with the computer system of an input device and a floppy disc or other magnetic storage device bearing a program which enables the principal CPU chip to perform sequential accessing on the address or data bus as aforesaid.
  • Gray coding is not directly possible for a standard, off the shelf, processor because unencoded address lines come from the chip.
  • the processor has some memory on chip (whether ROM, RAM or cache memory) a small program can be devised to perform the coding. In this case the processor would run the instructions more slowly than the customised case.
  • a more radical approach is to analyse a large number of programs and devise a coding scheme for the native instruction bit patterns of the processor itself, so as to reduce the number of transitions between instructions and thereby achieve the objective of the invention - ie power reduction.
  • data line coding could provide power reduction as well, although it requires more work than address line encoding since data is controlled by the user and therefore "random",
  • Figure 1 is a block diagram showing conventional computer architecture
  • Figure 2 is a block diagram showing a revised architecture employing address line encoding for power saving
  • Figure 3 is a block diagram showing a modification of the architecture of Figure 2.
  • Addresses are output binary coded conventionally and because the address-lines must be driven off-chip to all memory devices and some input/output peripherals (with fairly heavy capacitive loading normally), in systems where power or system noise is to be reduced, in accordance with the invention the addresses are coded to exploit the sequential characteristic in favour of reduced address line transitions over conventional binary coding.
  • Gray coding was devised in the late nineteenth century for use in telegraph systems. Gray coding in digital electronics design is synonymous with "reflected binary" counting. In a binary up-counter the count bit pattern is alternate O's and l's (010101010) whilst the Gray counter bit pattern has the 0 and 1 sequence then reflected the next two counts as 1 and 0 (01100110).
  • Gray coding of address lines is in a paged memory system.
  • Such a system with a page size of 256 bytes for example, benefits from the coding of the low 8 address lines before the addresses are broadcast to the memory system.
  • the fast Gray-coding hardware tends to generate spikes from a synchronous binary count, so in practice addresses are re-latched and driven off-chip only when a coded address is stable.
  • LDM/STM Load and Store Multiple instructions within pages, as well as executable code with sequential runs, can all benefit from a system such as that exemplified above, with the potential saving of up to one half of the address driver power.
  • LDM/STM Load and Store Multiple instructions
  • ARM Acorn RISC machine
  • executable code with sequential access runs can all benefit from a system such as that exemplified above, with the potential saving of up to one half of the address driver power.
  • Figure 1 shows the architecture of a conventional computer system
  • Figure 2 shows the modified architecture of a system in accordance with the invention. Both figures are self-explanatory and will be clear without further description. It should be mentioned, however, that the system of Figure 2 will generally include a data code decoder on the data bus leading to the CPU.

Abstract

A comptuer system having a principal CPU chip and a separte memory chip, wherein the principal CPU chip is address line encoded, for example by Gray coding, so that in use the address codes on the address bus are changed sequentially so that at each access step only one address code is changed. Information on the data bus may be analogously encoded.

Description

1 -
Title: Improvements in Computer Systems
Field of the Invention
This invention relates generally to computer systems and in particular to methods by which the principal CPU chip accesses other chips, more especially but not exclusively a separate or an external memory chip, within the system.
Background to the invention
The majority of computers currently in use have a Harvard or Von Neumann architecture. Both these architectures consist, essentially, of a central processing unit with memory for data and instructions. During the execution of a program both instructions and data are fetched from memory, although instructions tend to be the more common fetch operation. Most programs will typically consist of a non branching sequence of instructions followed by a branch (eg add two numbers together and branch on the result).
Recently the architecture of integrated computer systems has split into several divisions based upon how the instructions for the computer are organised. The most important divisions are Complicated Instruction Set Computers (CISCs) and Reduced Instruction Set Computers (RISCs). Historically CISCs are older and their main characteristic is that their native instruction set is such that one instruction can perform several operations to achieve a complicated operation. This approach was satisfactory when machines were programmed at a fairly low level, but began to break down as compiler technology advanced. Under these circumstances it was noted that compilers hardly ever made use of the more complicated instructions and RISCs were introduced. RISC computers have a simple instruction set so that a compiler is able to make much better use of it. A consequence of the simpler instruction set is that more instructions are required for a given program than that required by a CISC program. This increases the rate at which instructions are fetched from memory and also increases the length of sequential instruction fetches between branches in the program.
In a highly integrated computer consisting of a CISC or RISC chip constituting the principal CPU chip and external memory, the power consumption of the whole system is dictated by the rate at which memory is accessed and how wide the memory buses are (the number of data and address bits). It is well known that power can be reduced by integrating the computer and the memory onto the same chip. This is because power does not have to be expended changing the state of address or data bus lines. The integration of memory onto the same chip as the computer generally also means that the computer can operate faster. The amount of memory that can be integrated onto a chip is limited and for all but the simplest applications it is necessary to store programs and data in memory that is not on the same chip as the computer (principal chip). Under these circumstances any reduction in the rate at which instructions or data are accessed in memory will reduce the power requirement. Similarly if the number of lines (wires) that have to change between different accesses is reduced then the power requirement will also be reduced.
The Invention
According to one aspect of the invention, there is provided a method of accessing a separate chip from the principal CPU chip in a computer system, according to which the principal CPU chip is address line encoded so that, on the address bus and for at least one group of the address lines, the address codes are changed sequentially so that at each step only one address code is changed.
According to another aspect of the invention, there is provided a computer system having a principal CPU chip (computer) and at least one separate or external chip such as a memory chip, wherein, the principal CPU chip is address line encoded so that in use, on the address bus and for at least one group of the address lines, the address codes are changed sequentially so that at each step only one address code is changed.
In principle at least, the invention is also applicable to the accessing of data on the data bus, e.g., in a true Harvard architecture system.
Thus, in accordance with the invention, it is proposed to encode the information transmitted on the buses (collections of wires from the computer) so that the number of wires changing between accesses and the rate at which accesses are performed is reduced. The technique can be applied to both address (where the information is in memory) and data (what the information is) lines of memory. The encoding used for addresses will be different to the encoding used for data because the manner in which the lines are used is different. The technique can be applied to both standard processors and custom designed processors, in order to reduce power consumption.
Address line encoding for RISC/CISC processors is exemplified later using Gray coding, but the invention is not limited to Gray coding. Gray coding is efficient because for sequential accesses only one address line transitions between each address change.
Different encodings may be applied, and in the limit the entire range can be analysed and an optimum coding scheme for a particular program devised. In that case the coding would be highly specific and may not lead to power reduction for other programs. In general it is likely that Gray coding will give the best reduction in average power consumption.
It is important to note that the address lines of the processor are being encoded to access memory, which implies that the data must be stored in the memory at encoded addresses. If the information is put there by the processor then because Gray coding is invertible and unique it will be able to access it without modification. However, if the program is externally supplied, by a floppy disc or card, the program must be encoded before being presented to the processor.
The invention thus also extends to the combination with the computer system of an input device and a floppy disc or other magnetic storage device bearing a program which enables the principal CPU chip to perform sequential accessing on the address or data bus as aforesaid. It is to be noted that Gray coding is not directly possible for a standard, off the shelf, processor because unencoded address lines come from the chip. However, if the processor has some memory on chip (whether ROM, RAM or cache memory) a small program can be devised to perform the coding. In this case the processor would run the instructions more slowly than the customised case.
Since programs are controlled by the programmer and are fixed, once a program has been written it can be analysed to devise a coding scheme to reduce the number of transitions in a common sequence of instructions. This form of coding will normally necessitate a small amount of on chip memory for the decoding program.
A more radical approach is to analyse a large number of programs and devise a coding scheme for the native instruction bit patterns of the processor itself, so as to reduce the number of transitions between instructions and thereby achieve the objective of the invention - ie power reduction.
As previously mentioned, data line coding could provide power reduction as well, although it requires more work than address line encoding since data is controlled by the user and therefore "random",
A system in accordance with the invention is exemplified in the following further description, making reference to the accompanying drawings, in which:-
Figure 1 is a block diagram showing conventional computer architecture; and Figure 2 is a block diagram showing a revised architecture employing address line encoding for power saving; and Figure 3 is a block diagram showing a modification of the architecture of Figure 2.
Highly pipelined CPUs, RISC processors in particular, exhibit strong sequential (incrementing) address-line activity. Addresses are output binary coded conventionally and because the address-lines must be driven off-chip to all memory devices and some input/output peripherals (with fairly heavy capacitive loading normally), in systems where power or system noise is to be reduced, in accordance with the invention the addresses are coded to exploit the sequential characteristic in favour of reduced address line transitions over conventional binary coding.
Gray coding was devised in the late nineteenth century for use in telegraph systems. Gray coding in digital electronics design is synonymous with "reflected binary" counting. In a binary up-counter the count bit pattern is alternate O's and l's (010101010) whilst the Gray counter bit pattern has the 0 and 1 sequence then reflected the next two counts as 1 and 0 (01100110).
In this example of the invention, a fast coder is employed and a bit-reflecting Gray coding method is adopted whereby single XOR gate is used to gate every address line with the next higher address line (with the top address line left unmodified). Example: 5-bit Address Coder
A[4:0] - XA[4*-0]
A4 XA4
XOR XA3
A3
XOR XA2
A2
XOR XA1
Al
XOR XAO
AO
5-bit binary and bit-reversed Gray-coded address pattern
For straight sequential address access a number is included in () brackets to indicate the number of capacitive loads that must be driven either high or low. A net saving in loads driven is shown in C3 brackets.
Figure imgf000009_0001
Figure imgf000010_0001
It is to be noted that in the event that sequential cycling over 32 addresses is performed the number of capacitive loads driven, is virtually half the number of straight binary accesses, with a consequent near 50% saving in address driver power.
A good application of such Gray coding of address lines is in a paged memory system. Such a system, with a page size of 256 bytes for example, benefits from the coding of the low 8 address lines before the addresses are broadcast to the memory system.
The fast Gray-coding hardware tends to generate spikes from a synchronous binary count, so in practice addresses are re-latched and driven off-chip only when a coded address is stable.
Load and Store Multiple instructions (LDM/STM) within pages, as well as executable code with sequential runs, can all benefit from a system such as that exemplified above, with the potential saving of up to one half of the address driver power.
Instructions that perform multiple accesses to sequential locations, eg the Load and Store Multiple instructions (LDM/STM) on the Acorn RISC machine (ARM), as well as executable code with sequential access runs, can all benefit from a system such as that exemplified above, with the potential saving of up to one half of the address driver power.
It is also to be noted that, as far as volatile memory such as RAM is concerned, the same addresses are always used to write and read locations, so to a program the coding scheme is transparent, but pre-programmed devices such as ROM's will require code and data to be interleaved with the same Gray coding of addresses. Means may be provided for switching off the Gray coder on the low address bits for external I/O peripherals.
For completness, Figure 1 shows the architecture of a conventional computer system and Figure 2 shows the modified architecture of a system in accordance with the invention. Both figures are self-explanatory and will be clear without further description. It should be mentioned, however, that the system of Figure 2 will generally include a data code decoder on the data bus leading to the CPU.

Claims

Claims
1. A method of accessing a separate chip from the principal CPU chip in a computer system, according to which the principal CPU chip is address line encoded so that, on the address bus and for at least one group of the address lines, the address codes are changd sequentially so that at each access step only one address code is changed.
2. A method according to claim 1, according to which the information transmitted on the data bus is also encoded so that, for at least one group of the data lines, the information codes are changed sequentially so that at each access step only one information code is changed.
3. A computer system having a principal CPU chip and at least one separate or external chip, wherein the principal CPU chip is address line encoded so that in use, on the address bus and for at least one group of the address lines, the address codes are changed sequentially so that at each access step only one address code is changed.
4. A computer system according to claim 3, wherein information transmitted on the data bus is also encoded so that, for at least one group of the information lines, the ' information codes are changed sequentially so that at each access step only one information code is changed.
5. A computer system according to claim 3 or claim 4, wherein the separate or external chip is a memory chip.
6. A computer system according to claim 3 or claim 4 or claim 5, in which the coding employed is Gray coding.
7. A computer system according to any of claims 3 to 6, in which the coding is optimised for a given program.
8. A computer system according to any of claims 3 to 6, in which the coding is optimised to suit the native instruction bit patterns of the processor.
9. A computer system according to any of claims 3 to 8, including an input device and a program storage device bearing a program which enables the principal CPU chip to perform sequential accessing on the address or data bus as aforesaid.
10. A computer system according to any of claims 3 to 9, in which the coding is performed by means of a coder on the address and/or data bus of the CPU chip.
11. A computer system according to any of claims 3 to 9, in which a program is entered into memory on the CPU chip to perform the coding.
PCT/GB1990/001817 1989-12-15 1990-11-23 Improvements in computer systems WO1991009367A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB8928409A GB2239113B (en) 1989-12-15 1989-12-15 Power reduction in computer systems
GB8928409.5 1989-12-15

Publications (1)

Publication Number Publication Date
WO1991009367A1 true WO1991009367A1 (en) 1991-06-27

Family

ID=10668027

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB1990/001817 WO1991009367A1 (en) 1989-12-15 1990-11-23 Improvements in computer systems

Country Status (5)

Country Link
EP (1) EP0505383A1 (en)
JP (1) JPH05502312A (en)
AU (1) AU6747690A (en)
GB (1) GB2239113B (en)
WO (1) WO1991009367A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5887033A (en) * 1994-03-29 1999-03-23 Matsushita Electric Industrial Co., Ltd. Data transfer device and data transfer method
EP0713173A1 (en) * 1994-09-30 1996-05-22 Texas Instruments Incorporated Data processing system
US6061276A (en) 1997-02-07 2000-05-09 Fujitsu Limited Semiconductor memory device and a semiconductor integrated circuit
US6134168A (en) * 1997-04-25 2000-10-17 Texas Instruments Incorporated Circuit and method for internal refresh counter
GB2366634B (en) * 2000-09-11 2003-03-12 Lucent Technologies Inc Memory addressing
GB2375625B (en) * 2001-05-18 2005-08-31 At & T Lab Cambridge Ltd Microprocessors with improved power efficiency

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4532587A (en) * 1981-08-26 1985-07-30 Texas Instruments Incorporated Single chip processor connected to an external memory chip

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4556960A (en) * 1982-12-13 1985-12-03 Sperry Corporation Address sequencer for overwrite avoidance

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4532587A (en) * 1981-08-26 1985-07-30 Texas Instruments Incorporated Single chip processor connected to an external memory chip

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
EDN ELECTRICAL DESIGN NEWS vol. 30, no. 13, 13 June 1985, BOSTON,MASSACHUSSETS US pages 196 - 199; D.G.SPOREA: "Program provides gray/binary conversion" see the whole document *
IBM TECHNICAL DISCLOSURE BULLETIN. vol. 13, no. 5, October 1970, NEW YORK US pages 1397 - 1398; P.B.SHATTUCK: "GRAY CODE COUNTER AND DECODER" see the whole document *
IBM TECHNICAL DISCLOSURE BULLETIN. vol. 32, no. 4A, September 1989, NEW YORK US pages 161 - 165; "DUAL BUS PROCESSOR ARCHITECTURE" see page 161, line 1 - page 163, line 19; figures 1-3 *

Also Published As

Publication number Publication date
GB2239113B (en) 1994-02-23
AU6747690A (en) 1991-07-18
GB8928409D0 (en) 1990-02-21
EP0505383A1 (en) 1992-09-30
GB2239113A (en) 1991-06-19
JPH05502312A (en) 1993-04-22

Similar Documents

Publication Publication Date Title
US5197135A (en) Memory management for scalable compound instruction set machines with in-memory compounding
JP5837126B2 (en) System, method and software for preloading instructions from an instruction set other than the currently executing instruction set
EP0052194B1 (en) Paging data processing apparatus
EP0042000B1 (en) Cache memory in which the data block size is variable
JP2616182B2 (en) Data processing device
US20020116567A1 (en) Efficient I-cache structure to support instructions crossing line boundaries
JPH0916471A (en) Processor
AU2278495A (en) Efficient addressing of large memories
JP2773471B2 (en) Information processing device
CN1285934A (en) Microprocessor, in particular for smart cards
US6978358B2 (en) Executing stack-based instructions within a data processing apparatus arranged to apply operations to data items stored in registers
JP2003525476A (en) Apparatus and method for executing program instructions
GB2024475A (en) Memory access controller
WO1991009367A1 (en) Improvements in computer systems
KR100972160B1 (en) Data access program instruction encoding
CN1243305C (en) System and method including distributed instruction buffers holding a second instruction form
Xie et al. Profile-driven selective code compression [embedded systems]
US10956327B2 (en) Systems and methods for mitigating dram cache conflicts through hardware assisted redirection of pages (HARP)
JP2001522082A (en) Approximately larger number of branch predictions using smaller number of branch predictions and alternative targets
KR920002573B1 (en) Data processor
Benini et al. Code compression architecture for cache energy minimisation in embedded systems
GB2366634A (en) Gray code program counter and address compiler
EP0101718B1 (en) Computer with automatic mapping of memory contents into machine registers
US20040008552A1 (en) Cache memory and control method thereof
US5649229A (en) Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AT AU BB BG BR CA CH DE DK ES FI GB GR HU JP KP KR LK LU MC MG MW NL NO RO SD SE SU US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BF BJ CF CG CH CM DE DK ES FR GA GB GR IT LU ML MR NL SE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 1990917327

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 1990917327

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: CA

WWW Wipo information: withdrawn in national office

Ref document number: 1990917327

Country of ref document: EP