The HOLD pin indicates that an external device wants the 8085 to stop and allow the external device to drive the bus. The acknowledge of control transfer is HLDA, however, it is important to note that HLDA does not mean the current cycle is complete - it means that the current cycle is the last cycle, at which point the 8085 will release the bus. (One half clock cycle later.)
DMA stands for Direct Memory Access, in regards to 8085 MP. It consists of 2 pins, namely, HOLD and HLDA. The former of which indicates the processor that either a peripherial or any IO device, is requesting the processor to hold its current activites and give the control of buses to IO devices. HLDA, on the contrary, is the acknowledgement from the microprocessor to the concerned IO device sending the request.
In the 8085, DMA (Direct Memory Access) is controlled with HOLD and HLDA. The HOLD signal is a request to release the bus. The HLDA signal is the 8085's acknowledgement of that request. HLDA means that the 8085 will release the bus in one half clock cycle, i.e. at the end of T3. The 8085 will remain in that hold state until HOLD is released, at which point it will take control of the buses again. The HOLD'ing device has complete control and can access any memory or I/O. Often, the 8237 DMA controller is used to provide sequencing of the operation. The 8237 DMA controller interfaces between up to four peripheral devices and the 8085. It provides an address register for each device so that the device does not need to do so. The device only needs to indicate that a byte of data is available, or is required, and the 8237 will take care of storing or fetching the byte.
The HOLD pin on the 8085 is an external request for control of the bus. Upon receipt of HOLD, the 8085 will complete its current cycle and assert HLDA (HOLD Acknowledge), and then it will float the address, data, and control bus one half clock cycle later. The external hardware is then free to use the bus. When it is done, it releases HOLD, the 8085 releases HLDA, and the 8085 takes control of the bus and continues with the next cycle. HOLD is used by external DMA controllers, such as the 8257, to transfer data to and from memory on behalf of high speed peripherals, without requiring 8085 attention to that data transfer.
The control signals in an 8085 are already generated. They are CLK, S0, S1, ALE, RD-, WR-, IO/M-, INTA-, HLDA, SOD, and RESET OUT. The only control signal that needs to be generated in a medium to large bus organization is DATAENEABLE-. This is optional, if the external logic is compatible but, if not, it needs to be generated from ALE, S1, and CLK, in order to properly drive the data bus buffers without encountering a race condition during WR-. Basically, DATAENABLE- is equal to (RD- when ALE is low) if S1 is high, and it is equal to ALE if S1 is low.
In the general case, a bus is tristated to allow more than one source to drive it. This can be the simple case of a bi-directional bus, or the more complex case of a multi-master bus configuration. In the 8085, the address bus is tristated when a HOLD/HLDA sequence is in process, allowing another bus master to control the bus. The data bus is tristated for the same reason, and also to allow bi-directional data flow (read vs write) to occur.
Reset In:A low on this pin 1)Sets the program counter to zero. 2)Resets the interrupt enable and HLDA flip-flops. 3)Tristates the data bus,address bus nd control bus. 4)Affetcs the contents of processor's internal registers randomly. Reset Out:This active high signal indicates that processor is being reset.This signal is synchronized to processor clock nd ir can be used to reset other devices connected in the system ---BalaG Mulate---
DMA (Direct Memory Access) does not actually interrupt the CPU - it requests control of the bus, so that it can perform the transfer itself. It becomes a bus-master. This is done using the HOLD and HLDA (Hold Acknowledge) control pins. This is not the same thing as an interrupt, which is where an external device requests the CPU's attention, and the CPU goes off and performs some code to service that request. In the case of DMA, the CPU actually freezes for the few cycles that the DMA controller requires, which is much, much more efficient than using an interrupt service routine.
The 8085 is an eight bit computer running on a 16 bit address bus. It has eight registers, A, B, C, D, E, H, L, and FLAGS, along with a 16 bit PC (Program Counter) and SP (Stack Pointer). Most intructions deal with eight bit values, but some deal with 16 bit values, and some registers can be paired to hold 16 bit values, such as BC, DE, and HL. The 8085 has multiple interrupt lines, INTR, RST5.5, RST6.5, RST7.5 and TRAP, and it can address 256 bytes of IO space. It has serial input (SID) and serial output (SOD) pins, but there is no implicit UART functionality built in. The 8085 has a READY pin which can be used to interface to slow memory, and a HOLD/HLDA set of pins that can be used to allow other bus masters to take over, such as in DMA operations.
GND 1 40 VCC A14 2 39 A15 A13 3 38 A16/S3 A12 4 37 A17/S4 A11 5 36 A18/S5 A10 6 35 A19/S6 A9 7 34 SS0 (HIGH) A8 8 33 MN/MX AD7 9 32 RD AD6 10 31 HOLD (RQ/GT0) AD5 11 30 HLDA (RQ/GT1) AD4 12 29 WR(LOCK) AD3 13 28 IO/M(S2) AD2 14 27 DT/R(S1) AD1 15 26 DEN(S0) AD0 16 25 ALE (QS0) NMI 17 24 INTA (QS1) INTR 18 23 Test CLK 19 22 Ready GND 20 21 Reset
Minimum mode in the 8086/8088 provides the functionality of the 8288 bus controller, which means that functions like HOLD, HLDA, WR-, M/IO-, DT/R-, DEN-, ALE, and INTA- come off of the 8086/8088. Maximum mode means that these functions come off of the 8288, in somewhat enhanced form, and the pins are replaced with new meanings like RQ-/GT0-, RG-/GT1-, LOCK-, S2-, S1-, S0-, QS2, and S21, giving the processor extra capabilities.
The 8085 Microprocessor has five interrupts signals that can be used to interrupt a program execution. They are:INTR-Interrupt Request (Input): This is used as a general -purpose interrupt.INTA-Interrupt Acknowledge (Output): This is used to acknowledge an interrupt.RST 7.5, RST 6.5, RST 5.5-Restart interrupts (Inputs): These are vectored interrupts that transfer the program controls to specify memory locations. There have higher priorities than the INTR interrupt. Among these three, the priority order is 7.5, 6.5 and 5.5.TRAP (Input): This is a non-mask able interrupt and has the highest priority.In addition to the interrupts, three pins - RESET, HOLD, and READY - accept the externally initiated signals as inputs. The HOLD signal indicates that a peripheral such as a DMA (Direct Memory Access) controller is requesting the use of the address and data buses. The READY signal is used to delay the microprocessor READ or WRITE cycles until a slow-responding peripheral is ready to send or accept data. When this signal goes low, the microprocessor waits for an integral number of clock cycles until it goes high. Lastly, when the RESET IN signal goes low, the program counter is set to zero, the buses are tri-stated, and the MPU is reset and the RESET OUT signal indicates that the MPU is being reset and used to reset other devices.To respond to the HOLD request, the 8085 Microprocessor has one signal, called HLDA (Hold Acknowledge). It acknowledges the HOLD request.