Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!know!zaphod.mps.ohio-state.edu!wuarchive!decwrl!sgi!rpw3@rigden.wpd.sgi.com From: rpw3@rigden.wpd.sgi.com (Rob Warnock) Newsgroups: comp.arch Subject: Re: 64 bits Message-ID: <67215@sgi.sgi.com> Date: 18 Aug 90 03:55:21 GMT References: <9660@ganymede.inmos.co.uk> <12502@encore.Encore.COM> <15674@thorin.cs.unc.edu> Sender: rpw3@rigden.wpd.sgi.com Reply-To: rpw3@sgi.com (Rob Warnock) Organization: Silicon Graphics, Inc., Mountain View, CA Lines: 25 In article <15674@thorin.cs.unc.edu> prins@prins.cs.unc.edu (Jan Prins) writes: +--------------- | jkenton@pinocchio.encore.com (Jeff Kenton) writes: | |>use that memory. Right now, zeroing memory on a 16Mbyte machine takes | |>a noticeable number of seconds. Will machines be 1000 times faster by | |>the time we have 1000 times more memory? | A machine with a lot of physical memory need not be restricted to have | a single processor.... To "zero" all of the memory, use all of the | processors; it should take less than a second. +--------------- Nor, for bulk clearing (which is a major overhead for many Unices), do you have to clear with plain CPU instructions. For example, suppose your memory is N-way interleaved. It's practically free to add some magic to the memory controller that lets the CPU store "N" words at a time with the same value (by cycling all N memories in parallel). Then you can clear in 1/Nth the time. Other tricks include using DMA or graphics devices to clear memory for you. Assuming a memory 64 bits wide, 8-way interleaved, clearing with some kind of hardware-assisted "page mode" access, and a 40ns page mode cycle time on the RAM, you can clear at a rate of 0.67 sec/Gbyte, or 10.7 seconds for 16 GB. [If I've done my arithmetic correctly... ;-} ] -Rob