Physical memory mapped and port input output-microprocessor, Assembly Language

Physical Memory Mapped I/O and Port I/O :

CPU controlled I/O comes in 2 ways. Simply the difference is whether we utilize the normal memory addresses for I/O, this is mention to as physical memory mapped I/O, or whether we set up a completely separate section of memory addresses which may ONLY be used for I/O, called port or I/O mapped I/O and addressed I/O Thus the latter has 2 separate addressing areas for the CPU, one for normal (physical) memory, one for I/O, while the former has only one which serves both purposes.The other difference between these 2techniques is that with memory mapped I/O the similar processor instructions that are utilized for transferring data to and from the processor registers and memory, or for testing the content of a memory register and so on, are utilized for the I/O operation, whereas port-addressed I/O has particular instructions (load and store) which may only be used for I/O operations, and have different codes and mnemonics.  In  the case  data  might always  be  transferred  into  a  processor  register, and in the  latter instructions like SUB,ADD (subtract) and CMP (compare) can refer to the input/output registers.

The peripheral controller serves to put the data at the proper memory locations, memory mapped or port addressed as can be. It will also provide control registers to determine whether data can be inputted or outputted, that is whether the external connections are for input or output of data, since they are often shared. The processor cannot read and write at the same location, it must do 1 or the other.

Also there will be a 'status' register which contain various 'flags' which signal to the processor that some of data has been placed for reading. Some of these can also be observable as connections to the outside world, to show, for instance, that the processor has supplied data for output. The registers are the similar size as the computer memory locations, generally 8-bit,-byte sized, so that they generally occupy 1 memory address each. The real number of addresses depends on the complication and functions provided by the peripheral controller

 

Posted Date: 10/10/2012 6:34:42 AM | Location : United States







Related Discussions:- Physical memory mapped and port input output-microprocessor, Assignment Help, Ask Question on Physical memory mapped and port input output-microprocessor, Get Answer, Expert's Help, Physical memory mapped and port input output-microprocessor Discussions

Write discussion on Physical memory mapped and port input output-microprocessor
Your posts are moderated
Related Questions
Machine Coding the Programs So far we have describe five programs which were  written  for hand coding  by a programmer. In this, we will now have a deep look at how these prog

8255 Programmable Peripheral Interface Intel's 8255 A programmable peripheral interface provides a nice instance of a parallel  interface. As shown the interface have a control

Assembler Directives and Operators The major advantage of machine language programming is directly that the memory control is in the hands of the programmer, so that, he can be

Write a program to evaluate the following expression. You are to evaluate the following equation: num1 - (input + num2) - (num3 + num4) Input will be a hex number input by

You are to write an assembly language program called subfaq.s that computes the generalized subfactorial function of nonnegative integer inputs i0 and n. The generalized subfactori

Tabular comparison for µ PS' Parameters Tables (a) and (b) list the characteristic of Intel microprocessor. Table(a):   Table(b): It has a 64 bit da

how we can multiply two 8 bit number with rotation

Internal Architecture of Microprocessor : The architecture of 8086 provides a number of improvements over 8085 architecture. It supports a, a set of 16-bit registers ,16-bit AL

Ask question #MinimuWHAT ARE CONSTANTS AND WHAT DO THEY DO?m 100 words accepted#

Develop an assembly language program for the system and simulate it using MPLAB. From this produce a demo program (in Assembly language) that will run on the MatrixMultimedia Devel