22.09.2015 Views

of Microprocessors

Musical-Applications-of-Microprocessors-2ed-Chamberlin-H-1987

Musical-Applications-of-Microprocessors-2ed-Chamberlin-H-1987

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

MICROPROCESSORS 161<br />

8 MHz CLOCK<br />

FUNCTION CODE<br />

ADDRESS BUS<br />

AODRESS STROBE<br />

READ/WRITE<br />

UDS, LOS<br />

DTACK<br />

DATA BUS<br />

ACCESS TIM E =<br />

290 nsec II<br />

20<br />

Fig. 5-3. Motorola 68000 read cycle (8-MHz operation)<br />

Besides address and data strobe lines, the 68000 has three additional<br />

lines that specify a function code. The function code acts like an address<br />

modifier and identifies where the associated address came from as a 3-bit<br />

code. Five <strong>of</strong> the possible combinations are used as follows: 001, user data;<br />

010, user program; 101, supervisor data; HO, supervisor program; and 111,<br />

interrupt acknowledge. In complex 68000-based systems, distinction between<br />

operating system and user programs and also between program code<br />

and data can be implemented using the function codes. In simpler singleuser<br />

implementations, the function code is normally used only to identify<br />

interrupt acknowledge bus cycles.<br />

Virtually all normal 68000 program execution involves just two kinds<br />

<strong>of</strong> bus cycles: a read cycle and a write cycle. Each <strong>of</strong> these requires jOur clock<br />

cycles to execute (assuming no wait states); thus, the maximum bus cycle rate<br />

is 2 MHz with the standard 8-MHz clock frequency. In addition to read and<br />

write, there is a very rarely used read-modify-write cycle, a "68000­<br />

compatible" cycle, and an interrupt acknowledge cycle.<br />

Figure 5-3 shows a simplified 68000 read cycle. Each half-cycle <strong>of</strong> the<br />

clock is given a "state number" <strong>of</strong> 0 through 7. The bus cycle begins with<br />

State 0, during which the three/unction code lines are updated. Next, during<br />

State 1, the address lines are activated with the correct address. Note that the<br />

address lines are disabled and float between bus cycles, a feature that requires<br />

careful address decoder design and can be confusing when address signals are<br />

examined on an oscilloscope. After this addressing setup, the cycle proper<br />

starts in State 2 when Address Strobe is asserted. For read cycles, the Read/<br />

Write line remains high to specify a read. Also during State 2, the Lower<br />

Data Strobe and Upper Data Strobe lines are driven low according to the type<br />

<strong>of</strong> data transfer and remain along with Address Strobe until the end <strong>of</strong> the<br />

cycle in State 7.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!