A CGRAM é usada para geração de caracteres especiais, como disse.
Porem, há mais RAM no LCD e cada possição da RAM equivale a uma possição na tela do display.
http://www.roboticsguy.com/gallery/image/53-hd44780-memory-map/
A cada byte, uma caracter ASCII deve ser movido, despensado a geração de caracteres especiais da CGRAM.