Page 109 - DCAP210_INTRODUCTION__TO_MICROPROCESSORS
P. 109

Unit 7: Memory Interfacing


            part of the 8085 processor. The memory chips are again sequential circuits consisting of flip flops  Notes
            which are capable of storing digital values. Since we would be interested in storing a huge number
            of such digital values, a large number of these memories are packed together with a scheme of
            addresses, so that we can address them individually. Generally the memories are arranged in
            large numbers of 8 bit bunches each.
            The addressing is also done by the voltages (1s or 0s) on the address bus. The 8085 has a address
                                                16
            bus which is 16 bit wide. Therefore it can put 2  different digital values on it, and therefore it can
                               16
            address a maximum of 2  different address locations. This is called the addressing space and it is
                                        16
            64 kilobyte for the 8085, because 2 = 65535. And then we ask the processor to execute those
            instructions from a particular memory location onwards. It goes on executing those instructions
            one after another. And that is all it does. The memory location from which it is to pick up the next
            instruction for execution is maintained in an internal memory location (Register) called Programme
            Counter (PC). As would be expected, it has to hold a 16 bit memory address. But we will always
            need to start from somewhere. As soon as the power is turned on, the 8085 does a reset of its
            programme counter. It is reset to 0000H, on start up. After which it floats that value on the address
            bus. The address bus is connected in a parallel fashion to the entire memory. When the voltages
            on the address bus are indicating at 0000H, only that memory location is activated. And whatever
            is the content of that memory location is now floated on the data bus. The data bus feeds that
            value back to the processor 8085. This is also called an opcode fetch cycle. (an instruction fetch
            cycle). The 8085 executes that instruction and waits for the next instruction. Apart from executing
            instructions from consecutive memory locations, the processor can make changes in the value of
            the program counter itself so that it will fetch the next instruction from some other memory
            location. This is how jumps are executed. Your programme could also write to the memory
            locations whose address you specify. The processor uses certain internal memory locations called
            Registers in doing all the operations that we ask it to do. The contents of those memory locations
            can be directly altered by the instructions that we give.

                          The operations can be very complex and therefore this chip is also called a
                          processor.

            7.4 Microprocessor Based Controllers


            7.4.1 Single-board Microcomputers (Microcontrollers)
            A microprocessor by itself is not a computer to be functional; the microprocessor must be connected
            to other integrated circuits that provide the memory and I/O capability. A microcontroller is a
            computer on a single IC, designed specifically for control applications. It consists of a
            microprocessor, memory (both RAM and ROM), I/O ports, and possibly other features such as
            timers and ADCS/DACS. Having the complete controller on a single chip allows the hardware
            design to be simple and very inexpensive. Microcontrollers are showing up increasingly in
            products as varied as industrial applications, home appliances, and toys. In such uses as these,
            they are called embedded controllers because the controller is located physically in the equipment
            being controlled.
            The main difference between microprocessors and microcontrollers is that microprocessors are
            being designed for use in microcomputers where greater speed and larger word size are the
            driving requirements, whereas microcontrollers are evolving toward reduced chip count by
            integrating more hardware functions on the chip. Most control applications do not need the 32
            bit word size and 500-MHz (megahertz) speed of the newer microprocessors. Eight or 16 bits and
            1 MHz will work just fine in many applications, and the single-chip microcontroller costs much
            less.
            Another difference between microprocessors and microcontrollers concerns the instruction set.
            The microprocessor tends to be rich in instructions dealing with moving data into and out of




                                             LOVELY PROFESSIONAL UNIVERSITY                                   103
   104   105   106   107   108   109   110   111   112   113   114