8085 Microprocessor: Memory Read Cycle & Memory Write Cycle

Bus Cycle

A bus cycle is the time taken by the microprocessor to complete one operation, like reading or writing data. Each operation happens over a few machine cycles (timing periods), controlled by the clock signals (T-states).

  • When the 8085 wants to read data from memory, it performs a Memory Read Cycle.
  • When it wants to store data into memory, it performs a Memory Write Cycle.

Important Buses Used

The 8085 communicates with memory using three main buses:

BusPurposeLines
Address BusCarries the memory address from which data is to be read or to which data is to be written.16 bits (A15–A0)
Data BusCarries the actual data to or from the memory.8 bits (D7–D0)
Control BusCarries control signals that tell whether it’s a read or write operation.Includes signals like RD’, WR’, IO/M’, etc.
Control Signals Used

Different control signals used by 8085 during the memory read and memory write cycles are listed below:

SignalTypeMeaning (Active Low)
IO/M’Control0 → Memory operation, 1 → I/O operation
RD’Control0 → Read operation
WR’Control0 → Write operation
ALE (Address Latch Enable)ControlUsed to separate lower byte of address (A7–A0) from data bus (since AD0–AD7 are multiplexed)
Memory Read Cycle of 8085 Microprocessor

The memory read cycle is the process by which the 8085 microprocessor reads or fetches data from a specific memory location. Whenever the microprocessor needs to read a byte of data or an instruction stored in memory, it performs this cycle.

  • To begin the operation, the microprocessor places the 16-bit address of the required memory location on the address bus.
  • The higher-order address (A15–A8) appears on the higher address lines, while the lower-order address (A7–A0) is multiplexed with the data bus lines (AD7–AD0).
  • To separate the lower address from data, the microprocessor activates the ALE (Address Latch Enable) signal, which allows an external latch to store the lower address permanently for that cycle.
  • Once the address is set, the control signal IO/M is made low to indicate that this is a memory-related operation. Then, during the next clock period, the RD (Read) control signal is made active low. This signal tells the memory device that the processor wants to read data from the specified address.
  • The selected memory location then places its data byte onto the data bus. The 8085 reads this data and transfers it internally to one of its registers or uses it as an operand for further execution.
  • After the data is successfully read, the RD signal returns to its inactive (high) state, and the data bus is released for the next operation.
  • The complete process of addressing, enabling read, transferring data, and deactivating signals takes place within a few clock periods (T-states) and is known as the Memory Read Cycle.
Timing Cycle Details

To complete memory read operation 8085 microprocessor required few T-states (clock periods) those are listed below in table:

T-StateOperation during each T-State
T1The microprocessor sends the address of the operand on the address bus and ALE goes high to latch the lower address.
T2RD’ goes low, instructing memory to place the operand on the data bus.
T3Memory places the operand on the data bus, the 8085 reads it, and RD’ goes high to release the bus.
Control Signal Status

Status of 8085 microprocessor control signals during the memory read cycle are listed below:

SignalMeaning / Function
IO/M’0 → Memory operation
RD’0 (active low during operand fetch / memory read)
WR’1 (no write)
ALEHigh in T1 to latch address
Address BusCarries memory address of operand
Data BusReceives operand (data byte)
Timing Diagram of Memory Read Cycle of 8085 Microprocessor

Memory Read Cycle & Memory Write Cycle

Figure 17.1: Timing Diagram of Memory Read Cycle of 8085 Microprocessor

Memory Write Cycle of 8085 Microprocessor

The memory write cycle is the process by which the 8085 microprocessor writes or stores a byte of data into a specific memory location. This cycle occurs when the microprocessor executes an instruction that requires sending data from one of its internal registers to the memory.

  • To start the write operation, the 8085 first places the 16-bit address of the target memory location on the address bus.
  • Just as in the read cycle, the lower-order address lines (AD7–AD0) are multiplexed with the data bus, so the ALE signal goes high during the first clock period to latch the lower address using an external latch. At the same time, the control signal IO/M is kept low, indicating a memory operation.
  • After the address is established, the processor places the data to be written onto the data bus. Next, it makes the WR (Write) control signal active low. This tells the memory device that valid data is available on the data bus and should be stored at the specified address.
  • The memory then accepts the data and writes it into that location. The data remains stable on the data bus for the entire duration that WR stays low.
  • Once the write operation is completed, the microprocessor deactivates the WR signal by bringing it high again, which ends the cycle and releases the data bus for subsequent operations.
  • This entire sequence: sending address, placing data, activating write, and completing the storage, forms the Memory Write Cycle of the 8085 microprocessor.
Timing Cycle Details

To complete memory write operation 8085 microprocessor required few T-states (clock periods) those are listed below in table:

Clock Period
(T-state)
Operation PerformedSignals ActiveBus Activity
T1Address of memory location is placed on the address busALE = 1Address bus carries valid address
T2Data placed on data bus; Write signal activatedIO/M’ = 0,
WR’ = 0
Data bus carries data to be written
T3Data written into memoryWR’ = 0
(remains low)
Data bus holds valid data
End of cycle; signals return to highWR’ → 1Bus released for next cycle
Control Signal Status

Status of 8085 microprocessor control signals during the memory write cycle are listed below:

SignalDescriptionState During Write Cycle
IO/M’Distinguishes memory (0) and I/O (1)0
RD’Read control (active low)1 (inactive)
WR’Write control (active low)Low during T2 & T3
ALEAddress latch enableHigh during T1 only
Address BusCarries memory addressValid in T1
Data BusCarries data to memoryValid in T2 & T3
Timing Diagram of Memory Write Cycle of 8085 Microprocessor

Memory Read Cycle & Memory Write Cycle

Figure 17.2: Timing Diagram of Memory write Cycle of 8085 Microprocessor

FAQs

What is a memory read cycle?

The memory read cycle is the process in which the 8085 microprocessor reads data from a specific memory location.

In this operation, data flows from memory to the microprocessor.

It occurs whenever an instruction requires the microprocessor to fetch data or operands from memory — for example, in instructions like LDA 16-bit address, MOV A, M, or ADD M.

The main control signals are:

  • IO/M = 0 → Indicates a memory operation.
  • RD = 0 → Active during data reading.
  • WR = 1 → Inactive since no writing occurs.

The address bus carries the memory address from which data needs to be read.

It remains valid only during the T1 state.

The data bus carries the actual data from the memory to the processor.

It becomes valid during T2 and T3.

No. The 8085 can perform only one operation at a time — either read or write, not both simultaneously.

     Therefore, the condition RD’ = 0 and WR’ =0, simultaneously is invalid.

The data must remain stable during T2 and T3 so that the processor can correctly capture it without any errors due to timing mismatches.

When RD is low, the processor waits until the memory places valid data on the bus.

Some systems also use an additional READY signal to indicate when the data is valid.

Examples include:

  • LDA 20A0H → Reads data from memory address 20A0H into the accumulator.
  • MOV A, M → Reads data from the memory location pointed by HL pair into accumulator.

ADD M → Reads data from memory (pointed by HL) to add with accumulator.

The READY signal ensures proper synchronization between slow memory and the processor.

If READY = 0, the microprocessor waits until memory becomes ready to send data.

The address bus always carries information from the microprocessor to the memory, so it is unidirectional.

The data bus carries information in both directions (read/write), so it is bidirectional.

The end of the memory read cycle is indicated when the RD signal returns high and the microprocessor releases the data bus for the next operation.

In the timing diagram, look for:

  • IO/M = 0 (Memory operation)
  • RD = 0 (Active low during T2 and T3)
  • Data bus showing valid data during T2 and T3.

The Program Counter (PC) is used to provide the address of the memory location to be read.

After the read cycle, the PC increments automatically to point to the next instruction or address.

The data read from memory is stored into an internal register of the microprocessor, such as the accumulator, depending on the instruction being executed.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top