Register File

File Edit Registry
Free Download: File Edit Registry Repair Tool. 100% Safe & Guaranteed.
FreshPCFix.com/fileeditregistry

File Registers
Recover Lost & Deleted Files Fast. Restore Email, Photo, Audio & More.
FileRegisters.PCDataRecover.com

Register Extension
Find Register Extension and Compare prices at Smarter.com.
www.smarter.com

Registry Cleaning - Warning
Most Registry Cleaning Tools Don't Work. These Are The Ones That Do.
www.RegistryCleanersReviewed.net

Register Extension
Find Bargain Prices On register extension.
www.BizRate.com

Registry Cleaner - Fast, Free PC Scan
Highly rated registry cleaner for your PC. Download & scan now.
www.pctools.com

New Registry Smart 2008. - $39.95
Repairs Registry Errors, Fixes Files & Improves Overall System Speed.
registry-restore.com

Downloaded Program Files
Download Registry Fix & Try It Free Fix PC Registry & File Errors Now.
RegistryFix.PCTools4U.com

Top 5 Windows Registry Cleaners
Comparison Of Top 5 Registry Cleaners - Free Download.
RegistryCleanersRevealed.com

Registry File Cleaner
Complete Registry Scan, Clean Up and Fix. Free Download, Guaranteed.
www.PCPerformanceClinic.com




Warning: mkdir() [function.mkdir]: Permission denied in /home/webs/affiliatelib2/CacheManager.php on line 12

Warning: mkdir() [function.mkdir]: No such file or directory in /home/webs/affiliatelib2/CacheManager.php on line 12

Warning: fopen(/home/templatecore2cache//*cluesnet.com/8a/8ad925f425741188c13bdb52b899b4472e841a0a.tc2cache) [function.fopen]: failed to open stream: No such file or directory in /home/webs/affiliatelib2/CacheManager.php on line 130

Warning: fwrite(): supplied argument is not a valid stream resource in /home/webs/affiliatelib2/CacheManager.php on line 131

Warning: fclose(): supplied argument is not a valid stream resource in /home/webs/affiliatelib2/CacheManager.php on line 132



A register file is an array of processor registers in a central processing unit. Modern integrated circuit-based register files are usually implemented by way of fast static RAMs with multiple ports. Such RAMs are distinguished by having dedicated read and write ports, whereas ordinary multiported SRAMs will usually read and write through the same ports.

The instruction set architecture of a CPU will almost always define a set of registers which are used to stage data between memory and the functional units on the chip. In simpler CPUs, these architectural registers correspond one-for-one to the entries in a physical register file within the CPU. More complicated CPUs use register renaming, so that the mapping of which physical entry stores a particular architectural register changes dynamically during execution.

Implementation

The usual layout convention is that a simple array is read out vertically. That is, a single word line, which runs horizontally, causes a row of bit cells to put their data on bit lines, which run vertically. Sense amps, which convert low-swing read bitlines into full-swing logic levels, are usually at the bottom (by convention). Larger regfiles are then sometimes constructed by tiling mirrored and rotated simple arrays.

Register files have one word line per entry per port, one bit line per bit of width per read port, and two bit lines per bit of width per write port. Each bit cell also has a Vdd and Vss. Therefore, the wire pitch area increases as the square of the number of ports, and the transistor area increases linearly. At some point, it may be smaller and/or faster to have multiple redundant register files, with smaller numbers of read ports, than a single register file with all the read ports. The MIPS architecture's integer (computer science) unit, for example, had a 9 read 4 write port 32 entry 64-bit register file implemented in a 0.35-µm process, which could be seen looking at the chip from arms length.

Decoder

Array

The basic scheme for a bit cell: Many optimizations are possible:

Microarchitecture Most register files make no special provision to prevent multiple write ports from writing the same entry simultaneously. Instead, the instruction scheduling hardware ensures that only one instruction in any particular cycle writes a particular entry. If multiple instructions targeting the same register are issued, all but one have their write enables turned off.

The crossed inverters take some finite time to settle after a write operation, during which a read operation will either take longer or return garbage. It is common to have bypass multiplexors that bypass written data to the read ports when a simultaneous read and write to the same entry is commanded. These bypass multiplexors are often just part of a larger bypass network that forwards results that have not yet been committed between functional units.

The register file is usually pitch matched to the datapath that it serves. Pitch matching avoids having the many busses passing over the datapath turn corners, which would use a lot of area. But since every unit must have the same bit pitch, every unit in the datapath ends up with the bit pitch forced by the widest unit, which can waste area in the other units. Register files, because they have two wires per bit per write port, and because all the bit lines must contact the silicon at every bit cell, can often set the pitch of a datapath.

Area can sometimes be saved, on machines with multiple units in a datapath, by having two datapaths side-by-side, each of which has smaller bit pitch than a single datapath would have. This case usually forces multiple copies of a register file, one for each datapath.

The DEC Alpha EV-6, for instance, had two copies of the integer register file, and took an extra cycle to propagate data between the two. The issue logic tried to reduce the number of operations forwarding data between the two. The R8000 floating-point unit had two copies of the floating-point register file, each with four write and four read ports, and wrote both copies at the same time.

Processors that do register renaming can arrange for each functional unit to write to a subset of the physical register file. This arrangement can eliminate the need for multiple write ports per bit cell, for a large savings in area. The resulting register file, effectively a stack of register files with single write ports, then benefits from replication and subsetting the read ports. At the limit, this technique would place a stack of 1-write, 2-read regfiles at the inputs to each functional unit. Since regfiles with a small number of ports are often dominated by transistor area, it is best not to push this technique to this limit, but it is useful all the same.

The SPARC ISA defines register windows, in which the 5-bit architectural names of the registers actually point into a window on a much larger register file, with hundreds of entries. Implementing multiported register files with hundreds of entries requires a lot of area. The register window slides by 16 registers when moved, so that each architectural register name can refer to only a small number of registers in the larger array, e.g. architectural register r20 can only refer to physical registers #20, #36, #52, #68, #84, #100, #116, if there are just seven windows in the physical file.

To save area, some SPARC implementations implement a 32-entry register file, in which each cell has seven "bits". Only one is read and writeable through the external ports, but the contents of the bits can be rotated. A rotation accomplishes in a single cycle a movement of the register window. Because most of the wires accomplishing the state movement are local, tremendous bandwidth is possible with little power.

This same technique is used in the R10000 register renaming mapping file, which stores a 6-bit virtual register number for each of the physical registers. In the renaming file, the renaming state is checkpointed whenever a branch is taken, so that when a branch is detected to be mispredicted, the old renaming state can be recovered in a single cycle. (See Register renaming.)

External links

See also

es:Archivo de registros



Xbox 360 file system de-coded | The Register
Related Whitepapers. The Perfect (Virtual) Marriage Deduplication and VMware; Solution Brief: Reduce Energy Costs With Green IT Solutions; Enabling the Data Center Metamorphosis ...

Register file - Wikipedia, the free encyclopedia
A register file is an array of processor registers in a central processing unit (CPU). Modern integrated circuit-based register files are usually implemented by way of fast static ...

6 port Register File
6 port Register File ... 6-port Register File. Here we present a 6-port Register File model. The logical function of a register file is very simple, it is after all the identity ...

Windows Vista Registry How To Create .Reg Files. Edit .reg file
Registry Tips: Windows Vista registry: How to create and edit a .Reg File. Explanation of the syntax, worked examples of .reg files.

Reg File
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Control Panel] "HomePage"=dword:00000001

Reg File
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\CLSID\{540D8A8B-1C3F-4E32-8132-530F6A502090}] @="Language bar" "MenuTextPUI"="@%SystemRoot%\\System32\\msutb.dll,-325"

How to register an OCX file - Alien Software
Quick tutorial on how to register an ocx file ... If you are receiving errors about an ocx file, registering the file may solve the problem.

Regedit
REGEDIT . Import, export or delete registry settings from a text (.REG) file. Syntax Export the Registry (all HKLM plus current user) REGEDIT /E pathname Export part of the ...

Q108199: How Do I Manually Register a File?
Files that are created as self-registering have information that need to be stored in the Windows registry in order for the file to be available and useable to applications on the ...

File-Reg International
Online regsitration of Intellectual Property providing proof of ownership





 
Copyright © 2008 opini8.com - All rights reserved.
Home | Terms of Use | Privacy Policy
All Trademarks belong to their repective owners.
Many aspects of this page are used under
commercial commons license from Yahoo!