Talk:Shared graphics memory
![]() | Computing Stub‑class ![]() | ||||||||||||
|
Is the title for this article incorrect? it seems the Shared Memory article should be renamed Shared Memory Architecture. This looks to be a good example of an implementation of the shared memory architecture. Any objections to renaming this? 67.64.77.89 (talk) 22:26, 2 April 2008 (UTC)
Amiga paragraph
Ive had a quick tidy of this paragraph, but it has got me thinking that it might not belong in this article:
- Another early design was the Commodore Amiga, which featured 256-2048 kB of "chip RAM" (depending on the model). This RAM was used by both the CPU (as main memory) and the Amiga's custom chipset (for sound/graphics/IO). By default, most Amiga computers only came with chip RAM, but could be expanded with RAM that only the CPU could access (called "Fast RAM"), through expansion boards.
I dont think this is quite the same thing as what the rest of the article is referring to (purely sharing graphics and main memory) as the system architecture is significantly different from IBM PC-based designs?StealthFox 00:37, 2 February 2009 (UTC)
- Your version offers more detail, yet it diverts from the topic imho. Actually UMA-like designs were used in most home computers in the 80s and 90s (Atari 400/800/XL series, VIC-20, C64, Atari ST, ...) BUT usually they just shared the RAM in total. Modern UMA design use a window of the entire RAM for graphics, in which the graphics subsystem shares part of the total memory area. The Amiga differed in being the other way around: the CPU co-used the graphics memory, just like older home computers but it wasn't limited to that as it offered a way to expand with CPU-dedicated RAM. In software it looks just like modern UMA, but on the hardware side it is different (two or more memory subsystems). Since this article is not about modern UMA but about shared memory in general, the Amiga architecture does belong here - as would a reference to previous home computer systems. -- Zac67 (talk) 21:57, 3 February 2009 (UTC)
Differences between Unified Memory and Shared Memory
Need to distinguish between physically shared memory and logically shared memory address space.
Most peripherals share a memory buffer to transfer data to the main program or operating system. The CPU has direct access to the memory and the CPU accesses the memory over an intervening bus. Unified Memory Architecture is where all devices get equivalent access to memory example newer dual core and quad core processors. Shared memory systems have a hierarchy of which device get access priority.
Missing is cross-reference to NUMA (non uniform memory architecture) initially used by Sequent servers bought out by Tandem bought out by Compaq bought out by Hewlett-Packard. This allowed each processor of a multiprocessor system to dynamically use differing amounts of memory depending on its task.
The original Macintosh all-in-one (black and white) (Classic) had a memory mapped framebuffer. Funny that Apple.com doesn't have manuals for early Macs but does have Apple IIgs manuals. That Video was also memory mapped. The Radio Shack Color Computer used a MC8883 memory controller chip that accessed video memory and refresh on phase 1 and allowed cpu access during phase 2 so there was equal access to memory, the Commodore VIC controller worked the same way in Commodore VIC-20 and Commodore 64. Rockwell 65C29 processor had 2 6502s one accessing memory on phase 1 the other accessing memory on phase 2.
The TI 99/4 computers used a TMS 9918 chip which moved data one byte at a time from the CPU to video memory exclusive to the 9918. Example of non-shared.
IBM PC computers were originally based on a text based screen, the MDA or Monochrome Display Adapter built around the MC6845 chip and a 2 K Byte static RAM. This chip was accessed at I/O address 0x3B0-3BB to send one character at a time through the 6845 or by writing to memory space at 0xB8000 to 0xBFFFF. As MDA gave way to EGA, writing one byte at a time through 6845 control registers gave way to directly writing to memory on the video card that was shared out on the ISA bus. As VGA memory was larger than the original Legacy Memory addresses: 0xA0000 - 0xAFFFF VGA, EGA and 0xB0000 - 0xBFFFF Mono, CGA, VGA, EGA; The 386 and 486 ISA based computers shared video memory between 15 and 16 Megabytes ("memory hole"(in computer BIOS Settings) at the top of ISA address range). In part because Video memory is much larger than 1 MB, newer systems use a 64MB or larger Aperture in upper PCI memory space.
Although the SIS6205 was also implemented on PCI bus on some computers like the HP Vectra it shared the Pentium (CPU) bus and memory bus before the Northbridge chipset. Cyrix MediaGX chip implemented the Graphics processor on the same chip as the (Pentium) CPU, sharing the same memory and cache bus. AMD Athlon or newer and newest Intel multicore CPUs have a memory controller on the CPU and Video access is physically buffered through the PCI Express bus controller attached to the intermediate (hypertransport) bus (some Intel CPUs include this controller on board).
http://www.manualshark.org/manualshark/files/28/pdf_29582.pdf HP Vectra manual http://www.onlinecomputerbooks.com/blog/free-book-upgrading-and-repairing-pcs-16th-edition/ http://legend.me.uiuc.edu/~vladimer/sbc/arcom/SBCMediaGX.pdf http://flammingfiles.tripod.com/files/biosdl.pdf Shjacks45 (talk) 23:45, 11 April 2010 (UTC)