High speed program store with bootstrap
First Claim
1. A digital signal processing system which automatically loads program instructions from a non-volatile memory means into a main memory means upon initialization, said system comprising:
- data bus means for communicating signals associated with program instructions;
address bus means for communicating address signals;
first non-volatile memory means connected to said data bus means and to said address bus means for retaining a first plurality of program instructions and for applying first signals associated with said first plurality of program instructions to said data bus means in response to the presence of first address signals on said address bus means;
second non-volatile memory means connected to said data bus means for retaining a second plurality of program instructions and for applying second signals associated with said second plurality of program instructions to said data bus means in response to a first control signal;
programmable main memory means, connected to said data bus means and to said address bus means and also connected to receive read and write control signals, for storing program instructions associated with signals appearing on said data bus means in response to the presence of second address signals on said address bus means and in response to generation of a write control signal, and for applying the signals associated with said program instructions stored therein to said data bus means in response to presence of second address signals on said address bus means and in response to generation of a read control signal; and
processing means, connected to said data bus means, said address bus means, said main memory and said first memory means, said processing means capable of directly addressing storage locations within said main memory means and said first memory means via said address bus means, for performing the followingn functions upon initialization;
(1) applying first address signals to said address bus means;
(2) generating said first control signal in response to the presence on said data bus means of said first signals applied thereto by said first memory means, thereby controlling said second memory means to apply said second signals to said data bus means;
(3) applying second address signals to said address bus means and generating said write control signal so as to control said main memory means to store program instructions associated with said second signals;
(4) applying second address signals to said address bus means and generating said read control signal so as to control said main memory means to apply to said data bus means the signals associated with said program instructions stored therein; and
(5) performing tasks specified by said stored program instructions in response to said sigtnals applied to said data bus means by said main memory means.
2 Assignments
0 Petitions
Accused Products
Abstract
A microprocessor-based system is provided with a non-volatile store (such as a PROM) which stores a bootstrap program, a non-volatile store (such as an EPROM) which stores one or more program overlays, and a programmable volatile store (such as a RAM) which can be written into and read from. When the system is powered up, the microprocessor executes the bootstrap program out of the PROM. The bootstrap program includes instructions which copy the program instructions stored in the EPROM into the RAM. The microprocessor then executes the program instructions out of the RAM. Program instructions may be stored in the EPROM in a plurality of overlays, and individual overlays selected by either the bootstrap program or instructions contained in another overlay may be selectively loaded into the RAM for execution. The EPROM is addressed by a programmable counter which appears to the microprocessor as an input/output device to be written into.
82 Citations
14 Claims
-
1. A digital signal processing system which automatically loads program instructions from a non-volatile memory means into a main memory means upon initialization, said system comprising:
-
data bus means for communicating signals associated with program instructions; address bus means for communicating address signals; first non-volatile memory means connected to said data bus means and to said address bus means for retaining a first plurality of program instructions and for applying first signals associated with said first plurality of program instructions to said data bus means in response to the presence of first address signals on said address bus means; second non-volatile memory means connected to said data bus means for retaining a second plurality of program instructions and for applying second signals associated with said second plurality of program instructions to said data bus means in response to a first control signal; programmable main memory means, connected to said data bus means and to said address bus means and also connected to receive read and write control signals, for storing program instructions associated with signals appearing on said data bus means in response to the presence of second address signals on said address bus means and in response to generation of a write control signal, and for applying the signals associated with said program instructions stored therein to said data bus means in response to presence of second address signals on said address bus means and in response to generation of a read control signal; and processing means, connected to said data bus means, said address bus means, said main memory and said first memory means, said processing means capable of directly addressing storage locations within said main memory means and said first memory means via said address bus means, for performing the followingn functions upon initialization; (1) applying first address signals to said address bus means; (2) generating said first control signal in response to the presence on said data bus means of said first signals applied thereto by said first memory means, thereby controlling said second memory means to apply said second signals to said data bus means; (3) applying second address signals to said address bus means and generating said write control signal so as to control said main memory means to store program instructions associated with said second signals; (4) applying second address signals to said address bus means and generating said read control signal so as to control said main memory means to apply to said data bus means the signals associated with said program instructions stored therein; and (5) performing tasks specified by said stored program instructions in response to said sigtnals applied to said data bus means by said main memory means. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. In a digital signal processing system of the type including a processor connected to a main memory via an address bus and a data bus, said address bus communicating address signals produced by said processor, said address signals selecting storage locations within said memory, said data bus communicating signals stored in selected storage locations to said processor, said communicated data signals representing program instructions which said processor executes to perform tasks, an improved method of initializing said digital signal processing system including the steps of:
-
(1) maintaining a first set of instructions in a first non-volatile program store; (2) maintaining a second set of instructions in a second non-volatile program store, said second instruction set including instructions controlling the copying of said first instruction set into a main memory; (3) directly addressing said second store with a processor and executing said second instruction set out of said second store with said processor in response to a reset signal received by said processor; (4) copying, with said processor, said first set of instructionns from said first store to said main memory under control of said second instruction set; and (5) executing with said processor the instructions stored in said main memory. - View Dependent Claims (10, 11, 12)
-
-
13. In a digital signal processing system of the type including a processor connected to a main memory via an address bus and a data bus, said address bus communicating address signals produced by said processor, said address signals selecting storage locations within said main memory, said data bus communicating signals stored in selected storage locations to said processor, said communicate data signals representing program instructions which said processor executes to perform tasks, an improved method of initializing said digital signal processing system including the steps of:
-
(1) reading signals associated with a first plurality of program instructions directly from a first non-volatile memory with said digital signal processor in response to the initial application of a power supply voltage to said processor; (2) executing said first plurality of instructions with said digital signal processor in response to said signals read by said reading step, said executing step including controlling a second non-volatile memory to apply signals associated with selected overlays of a second plurality of program instructions stored in said second non-volatile memory to said data bus, said overlays being selected by said first plurality of program instructions; (3) storing said applied signals associated with said second plurality of program instructions into said main memory; (4) addressing said main memory with said digital signal processor to cause signals associated with said stored second plurality of program instructions to appear on said data bus; (5) executing said second plurality of program instructions with said digital signal processor in response to the appearance on said data bus of the signals associated with said second plurality of program instructions. (6) repeating said executing step (2), storing step (3), addressing step (4) and executing step (5) for a plurality of overlays.
-
-
14. In a digital signal processing system of the type including a microprocessor connected to a volatile random access memory read/write store via an address bus and a data bus, said address bus communicating address signals produced by said microprocessor, said address signals selecting storage locations within said read/write store, said data bus communicating signals stored in selected storage locations to said microprocessor, said communicated data signals representing program instructions which said microprocessor executes to perform tasks, an improved method of initializing said system comprising the steps of:
-
(1) in response to an externally generated reset signal, generating first address signals with said microprocessor and applying said first address signals to said at address bus; (2) inhibiting said read/write store from responding to said first address signals; (3) selected storage locations within a non-volatile bootstrap store high-speed read only memory also connected to said address bus and to said data bus with said generated first address signals, said bootstrap store read only memory retaining signals representing initialization program instructions; (4) applying the initialization program instruction signals stored in said selected bootstrap read only memory storage locations to said data bus; (5) executing said initialization program instructions with said microprocessor in response to said signals applied to said data bus by said applying step (4), including the step of controlling a further non-volatile program store to apply further signals representing program instructions to said data bus; (6) applying second address signals to said address bus and controlling said read/write store to store said further signals therein in storage locations selected by said second address signals; (7) applying third address signals to said address bus and controlling said read/write store to apply said stored said further signals to said data bus; and (8) performing tasks represented by said further signals applied to said data bus by said applying step (7) with said microprocessor.
-
Specification