I have tried searching for the difference between these two terms but everything i find gives ambiguous results. can anyone explain to me what is the difference between a harware registar and a processor registar, if there is any?

  • \$\begingroup\$ "register" you mean? \$\endgroup\$ – ratchet freak Sep 16 '17 at 1:47
  • \$\begingroup\$ Not all hardware is a processor. \$\endgroup\$ – Ignacio Vazquez-Abrams Sep 16 '17 at 1:49
  • 1
    \$\begingroup\$ Need some context here. Talking about MCU, FPGA, ASIC or good old wire wrap? Bruce's answer is correct for MCUs, but in FPGA, the term could encompass pipeline registers (which aren't addressible), shift registers etc, as well as peripheral registers. \$\endgroup\$ – Brian Drummond Sep 16 '17 at 8:44

A processor register is a storage element inside the processor which is used to hold numeric values, addresses, status or control bits which are involved in internal processor operations.

A hardware register is a storage element inside peripheral hardware (eg. an I/O port or DMA controller) which is separate from the processor. These are used to configure and control the peripheral hardware or hold data and status information relating to the peripheral.

As with most definitions, there are grey areas. Some architectures have processor registers in external memory or I/O space. Others have internal CPU registers which control peripherals or are connected I/O pins.

| improve this answer | |
  • \$\begingroup\$ Internal CPU registers don't control peripherals or I/O pins, peripheral block registers do that. Internal CPU registers are limited to things like the register file and the registers that control the CPU itself. In modern MCU's there's a lot that is on-chip, but not part of the CPU. \$\endgroup\$ – Chris Stratton Sep 16 '17 at 15:04
  • \$\begingroup\$ CDP1802 CPU register summary: Q, 1 bit, output flip/flop. "An internal flip-flop, Q, can be set or reset by instruction and can be sensed by conditional branch instructions. The output of Q is also available as a microprocessor output. \$\endgroup\$ – Bruce Abbott Sep 16 '17 at 16:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.