Click to See Complete Forum and Search --> : mpu pin
abcd12321
February 21st, 2005, 12:30 AM
on the 88088 processor there's a pin named ALE.i know that ALE stands for addres latch enabled.my question is what does it actually do?
what does it do to the address lines?what does latching an address mean?
thanks
NigelQ
February 27th, 2005, 03:28 PM
It is used to describe whether there is data or an address present on the ADxx pins of the CPU (this pins are called AD because they contain either Address or Data at any given instant).
Because the CPU is limited in the number of physical pins it has connecting it to the rest of the computer circuitry, it shares these pins for both data an address signals.
When ALE is high (1), it indicates to the surrounding circuits that an address is currently present on the pins (used for selecting a specific piece of memory or some device). When ALE is low (0), it indicates that data is present and either being sent into the CPU or out of the CPU (as determined by the RD or WR pins).
BTW: There are much easier chips to interface with, that have more pins available to carry the signals better.
Obviously later incarnations of the x86 chip line, as in the 386, 486 and beyond, exposed more pins to prevent having to share (or multiplex) these pins, giving a significant speed increase (and access to a greater memory range).
Hope this helps,
- Nigel
abcd12321
March 3rd, 2005, 12:01 AM
thank you for the consice explanation.
i would like to ask about the AEN pin and how it work together with the ALE pin?
and what is the difference between:
1.74LS373
2.74LS244
3.74LS138
can the function of each chip be used interchangeably?
thanks.
NigelQ
March 3rd, 2005, 12:44 AM
Well, the AEN (Addres ENable) pin is not on the CPU, but on the expansion bus, so I'll assume that's what you're hooking into. This pin is used when transferring data using Direct Memory Access (DMA) type operations.
This is typically when some device outside of the main CPU needs to do a direct memory transfer without using the CPU to perform the transfer.
The DMA controller signals to the CPU that it needs to "borrow" the data/address buses to do whatever is on its mind (so that this operation doesn't clash with the CPU's use of the pins). The CPU responds and floats the data/address pins so that the DMA controller can use them.
The DMA controller then uses the AEN pin to signal to whatever its talking to when the address on the pins is valid.
The earlier explanation of the ALE pin is slightly different when using the expansion bus. First the CPU puts the address on the address pins, then it blips the ALE pin to indicate that the address is valid (this can be used by an address latch chip), then the data is presented to the data bus (when writing) and then either the -IOW (IO port) or -MEMR (memory) pin is signalled.
The 74LS373 is an 8-bit D-type latch chip that can be used to latch (or hold) up to 8-bits of informaton (data for example). The output pins remain at the same state as the input pins at the instand the enable pin gets signalled.
The 74LS244 is an octal tri-state buffer. This is similar to the above chip, except this one is designed specifically for interfacing with things (driving more power, adding more protection and seperation).
The 74LS138 is a 1-of-8 demultiplexer. This is designed to take three binary pins in (say memory address pins for example), and enabling the appropriate output pin. For 3 binary pins in you can represent 8 numbers (0 to 7), so the appropriate output pin (0 to 7) is enabled.
Much of this information is available online by simply Googling, so I'm getting a little puzzled at what you are attempting. Based on your comments so far, you appear to be trying to interface with the ISA expansion bus inside a PC - good guess?
If this is the case, I would strongly urge you to get your hands on a book about this. I'm not trying to dismiss you here (I'll happily answer more questions), but there are several factors that need to be taken into consideration when attempting such a thing (if you want the PC to survive the ordeal).
One thing to be ware of is the introduction of (electrical) noise into the system. You need to use capacitors to suppress this when designing expansion cards. You also need to protect the expansion bus from energy surges, otherwise kiss the PC goodbye (this is what the 74LS244 is good at).
There are many kits around that safely let you interface with PCs while protecting you (and the machine) to some extent. I'm sure that a quick search for "digital IO Expansion card" should give some suggestions.
There may even be something at your local PC shop or even Radio Shack that would do the trick.
If you're still insisting on doing this yourself, I'm sure there are a bunch of designs floating around online for doing this stuff that should point out some of the gotchas.
Hope this doesn't discourage you too much :ehh:
Regards,
- Nigel
abcd12321
March 3rd, 2005, 02:38 AM
thank you very much.
"Based on your comments so far, you appear to be trying to interface with the ISA expansion bus inside a PC - good guess?"
nah,i'm just a teenager learning assembly while waiting to get into college.
"Much of this information is available online by simply Googling"
yeah but i already what these chips are,what they do and how they work as i am reading a couple of books on assembly.however,none of the books i read pointed out the distinguishing feature of these chips that separate each from one another.so i was assuming each of these chips serve the same fuction.
"(I'll happily answer more questions)"
u're too kind.
the following text is from one of the books i'm reading:
" In the IBM PC and 80x86 compatibles,as many as 4 COM ports can be installed."
is that right?
upon viewing device manger i found that my modem is attached to COM5 and this is what i get when i dump memory loaction 0040:0000:
-d 0040:0000
0040:0000 F8 03 F8 02 E8 03 E8 02-BC 03 78 03 78 02 C0 9F ..........x.x...
0040:0010 23 C8 00 80 02 00 00 20-00 00 22 00 22 00 30 0B #...... ..".".0.
0040:0020 0D 1C 62 30 75 16 67 22-0D 1C 64 20 20 39 30 0B ..b0u.g"..d 90.
0040:0030 30 0B 34 05 30 0B 3A 27-30 0B 30 0B 30 0B 00 00 0.4.0.:'0.0.0...
does this mean i have 12 COM ports installed on my computer?
besides connecting modems,what else does a COM port connect to?
thanks for ur time
NigelQ
March 3rd, 2005, 02:51 AM
Sorry, It's too late in the day for me to be looking through a hex dump <yawn>
The PC can actually have up to 255 serial ports, although your power supply would likely melt before then.
These can be used for a variety of things. Obvious ones are mice (mouses?), printers, modems and so on, but there are many commerical uses for serial ports (and other much stranger ports) for communicating to factory monitoring equipment for example.
There are scientific uses for serial ports, to permit interfacing with a bunch of analysis equipment too.
There are commerically available expansion serial boards available that offer a bunch of serial ports on a single expansion card.
I have personally designed, built and used up to 96 serial ports in a single PC before. This was doing some specialized communication monitoring.
Besides having physical serial ports fitted to your machine, there are also virtual serial ports too. These are used to emulate a serial port for some special reason. Your modem may be reporting itself as using COM 5 so that it doesn't interfere with COM 1-4 which are sometimes used by real devices or drivers pretending to be real devices.
Hope this helps,
- Nigel
abcd12321
March 3rd, 2005, 03:02 AM
thanks you
codeguru.com
Copyright WebMediaBrands Inc., All Rights Reserved.