Configurable system memory map
First Claim
1. A computer system comprising:
- a processor;
a plurality of devices accessible by said processor via one or more addresses; and
a bus controller coupled to said processor and said plurality of devices, said bus controller adapted to configure a memory map of said addresses for said computer system wherein a first device is accessible by said processor via a first subset of addresses in said memory map and a second device is accessible by said processor via a second subset of addresses in said memory map wherein during a first time period, said bus controller configures a third subset of addresses in said memory map such that said processor accesses said first device when said processor seeks to access said third subset of said addresses; and
during a second time period, said bus controller configures the third subset of addresses in said memory map such that said processor accesses said second device when said processor seeks to access said third subset of said addresses.
1 Assignment
0 Petitions
Accused Products
Abstract
A memory map for a computer system is configurable. For example a first section of the memory map (e.g., the lower address space) is configurable so that when the process accesses this section, different devices will respond depending on the memory map in effect. In one embodiment, external non-volatile memory is accessed during a first time period based on a reset memory map. After initialization, the memory may is changed to a normal one so that subsequent accesses to the same section of the memory map result in accesses to faster memory (e.g., internal SRAM). In the case where the reset vector and interrupt vectors have relatively close addresses, the configurability of the memory map allows the reset vector to be handled through accesses to non-volatile memory while interrupt vectors are handled through accesses to faster internal SRAM.
92 Citations
14 Claims
-
1. A computer system comprising:
-
a processor;
a plurality of devices accessible by said processor via one or more addresses; and
a bus controller coupled to said processor and said plurality of devices, said bus controller adapted to configure a memory map of said addresses for said computer system wherein a first device is accessible by said processor via a first subset of addresses in said memory map and a second device is accessible by said processor via a second subset of addresses in said memory map wherein during a first time period, said bus controller configures a third subset of addresses in said memory map such that said processor accesses said first device when said processor seeks to access said third subset of said addresses; and
during a second time period, said bus controller configures the third subset of addresses in said memory map such that said processor accesses said second device when said processor seeks to access said third subset of said addresses. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
a plurality of device select lines coupled between said bus controller and said plurality of devices such that said bus controller controls which of said devices responds to accesses by said processor via said device select lines based on said memory map.
-
-
5. The computer system of claim 4 wherein said first device is a non-volatile memory device.
-
6. The computer system of claim 5 wherein said second device is a Random-Access-Memory (RAM) device.
-
7. The computer system of claim 3 further comprising:
a select signal line coupled to said bus controller, such that said bus controller selects the first device from said plurality of devices based on a signal on said select signal line.
-
8. The computer system of claim 7 wherein said first device is selected from non-volatile memory internal to said computer system and non-volatile memory external to said computer system based on the signal on said select signal line.
-
9. A method of controlling a computer system including a processor, a plurality of devices accessible by said processor via one or more addresses and a bus controller coupled to said processor and said plurality of devices wherein a first device is accessible by said processor via a first subset of addresses in said memory map and a second device is accessible by said processor via a second subset of addresses in said memory map, the method comprising:
-
configuring a third subset of addresses in said memory map during a first time period by said bus controller such that said processor accesses said first device when said processor seeks to access said third subset of said addresses; and
configuring the third subset of addresses in said memory map during a second time period by said bus controller such that said processor accesses said second device when said processor seeks to access said third subset of said addresses. - View Dependent Claims (10, 11, 12)
controlling which of said devices responds to accesses by said processor based on said memory map via a plurality of device select lines coupled between said bus controller and said plurality of devices. -
11. The method of claim 9 further comprising:
selecting the first device from said plurality of devices based on a signal on a select signal line coupled to said bus controller.
-
12. The method of claim 10 further comprising:
selecting the first device from said plurality of devices based on a signal on a select signal line coupled to said bus controller.
-
-
13. A computer system comprising:
-
a processor;
a plurality of memory devices accessible by said processor via one or more addresses, a second memory device having a faster access speed than a first memory device; and
a bus controller coupled to said processor and said plurality of memory devices, said bus controller adapted to configure a memory map of said addresses for said computer system wherein said first memory device is accessible by said processor via a first subset of addresses in said memory map and said second memory device is accessible by said processor via a second subset of addresses in said memory map, wherein;
when said processor receives a reset command, said bus controller configures a third subset of addresses in said memory map such that said processor accesses said first memory device when said processor seeks to access said third subset of said addresses; and
when said processor receives an interrupt command, said bus controller configures the third subset of addresses in said memory map such that said processor accesses said second memory device when said processor seeks to access said third subset of said addresses. - View Dependent Claims (14)
said first memory device is a non-volatile memory device; and
said second memory device is a Random-Access-Memory (RAM) device.
-
Specification