EP0343988A2

Data processing apparatus with selective instruction prefetching.

Abstract

In a microcomputer system comprising a microprocessor and a cache subsystem and operable in a pipelined mode, there is potential incompatibility between pipelined operations and dynamic bus sizing as the cache subsystem operates with a fixed size data width and dynamic bus sizing allows the system to operate with devices of differing data width. This incompatibility is accommodated by the present system by defining certain addresses as cacheable addresses and other addresses as non-cacheable addresses and ensuring that addresses of devices of data width different from the cache data width are non-cacheable. An address decoder provides a control signal indicating whether or not a generated address is within the cacheable range. This control signal controls a next address signal applied to the microprocessor, which signal allows the processor to proceed to a following cycle prior to the end of the current cycle. Whenever a non-cacheable address is detected, the next address signal is suppressed.

EP0343988A2, drawing sheet 1
Sheet 1 of 7

Term

Term ended

Projected expiry passed 25 May 2009, 17.3 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

7 claims: 2 independent, 5 dependent

  1. 1
    Data processing apparatus comprising an instruction execution unit of a given bit width, an asynchronous next address generating means capable of generating, when enabled, the address of the next instruction required by the instruction execution unit during execution of the instruction currently executing, whereby instructions can be prefetched, means for interfacing the execution unit with addressable system components of the same and/or smaller bit widths, the system component addresses within a certain specified range of system component addresses relating exclusively to components of the same bit width as that of the execution unit, means for generating a next address signal as a function of the execution of the instruction currently executing to enable the next address generating means and means for preventing a next address signal becoming available during execution of an instruction relating to an address outside the specified address range.
  2. 7
    A method of operating a data processing system which comprises an instruction execution unit of a given bit width, an asynchronous next address generating means capable of generating, when enabled, the address of the next instruction required by the instruction execution unit during execution of the instruction currently executing, whereby instructions can be prefetched, and means for interfacing the execution unit with addressable system components of the same and/or smaller bit widths, the method comprising assigning system component addresses within a certain specified range thereof exclusively to components of the same bit width as that of the execution unit, generating a control signal if execution of an instruction relating to an address outside the specified address range is detected, and in response to such a control signal inhibiting generation of a next address signal as a function of the execution of the instruction currently executing to prevent early generation of the next address and hence instruction prefetching.