The 6502 microprocessor needs to use its memory bus for half of each cycle; many computers of the late 1970s and early 1980s took advantage of this by constructing their memory system so it would connect the 6502 to the memory during one half of the cycle, and connect video circuitry during the other half. It's interesting to note that the Apple II, Vic-20, and Commodore 64, took different approaches to the video timing.
The Apple II fetched one byte of video memory per CPU cycle, which determined which character should be displayed. Characters were eight scan lines high, so each byte of character data would get fetched eight times per frame--once on each of eight consecutive lines. The six bits of the fetched character byte would then be used, along with the bottom 3 bits of a scan line character, as an address in a 512x5-bit ROM. The top two bits of the fetched character byte would then select normal, inverse, or blinking mode.
The VIC-20 used wider characters, and fetched a character every other CPU cycle; on the cycle after each character fetch, it would take the 8 bits of character data along with 3 bits of scan-line count, add that value to a value programmed in a register, fetch a byte from that address, and display that as eight consecutive pixels. This approach meant that character shapes could be stored in RAM rather than ROM, and reprogrammed as convenient (the character-memory address could also be set to ROM if desired, to save 2K of RAM).
The Commodore 64 needed to fetch two bytes per character like the VIC-20,
but needed to output characters to the screen twice as fast (like the Apple).
To balance these needs, while it's showing the first scan line of each row
of text, it alternates between fetching characters and fetching their shapes
while the CPU isn't allowed to do anything. As it is fetching the character data, however, the video chip also copies it to a 40-byte buffer. While the next seven scan lines of text are shown, the video chip fetches character data from that buffer rather than from RAM, thus allowing the CPU its share of cycles. This makes it possible for the system to show more text like the Apple while also allowing reprogrammable character fonts like the VIC-20. Unfortunately, it stalls the CPU 25 times each frame, for 41-43 cycles each time (starting/stopping the CPU adds 3 cycles of uncertainty)--a design decision which was reasonable at the time but had some unfortunate consequences (the worst of which was that the floppy drive to wait long enough after sending each bit that communications wouldn't get corrupted by having the video chip disrupt the CPU for 43 cycles).