registro x endereço

Tenho estudado o ds1307 e tb i2c. Percebo que fala muito sobre endereços e registros.
Alguem poderia explicar o que vem a ser registros e endereços? Para que servem e porque?
Tenho percebido alguns programas com i2c da seguinte maneira
i2c_start();
i2c_write(0xd0); ????? porque e para que???
i2c_wirte(address); ?????
i2c_write(data); ????? porque tem que escrever data e nao ler data????
i2c_stop() ????
i2c_start(); ???? porque start denovo
valeu galera
Alguem poderia explicar o que vem a ser registros e endereços? Para que servem e porque?
Tenho percebido alguns programas com i2c da seguinte maneira
i2c_start();
i2c_write(0xd0); ????? porque e para que???
i2c_wirte(address); ?????
i2c_write(data); ????? porque tem que escrever data e nao ler data????
i2c_stop() ????
i2c_start(); ???? porque start denovo
valeu galera