Device control register

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by BattyBot (talk | contribs) at 05:38, 10 December 2013 (Converted {{Multiple issues}} to new format to fix expert parameter & general fixes using AWB (9774)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A device control register (DCR) is a register that resides in an element of a System-on-a-chip (e.g. a memory unit, a DMA controller, other bus controller, a timer etc.) and allows to configure, control and probe this element.

Typically, a microprocessor or a processor core is the part that starts these tasks, thus a master-slave configuration is created. Communications between the master (the processor) and the slaves (other on-chip elements or peripheral devices) are carried out using a specialized bus with its own address space and means of access.

Because DCRs exist architecturally and physically outside the main processor core, their semantics is separate to that of the processor functions. Thus they are not specified by the processor programming manuals, which typically define the DCR space, but make no claims regarding which facility or device corresponds to which part of the space.

DCRs are typically accessed through the use of privileged instructions.

Examples:

  • The embedded PowerPC chips have a special DCR Bus which allows the processor to access other devices on the bus, bypassing standard memory and bus controllers. The data transfers to DCRs are initiated using the special mtdcr (move to DCR) and mfdcr (move from DCR) instructions.
  • The compute cores of Blue Gene supercomputer expose DCRs for access to JTAG functions.[1]

References

External links