PPRuNe Forums - View Single Post - MAX’s Return Delayed by FAA Reevaluation of 737 Safety Procedures
Old 27th Jun 2019, 07:51
  #716 (permalink)  
PiggyBack
 
Join Date: Jan 2013
Location: UK
Age: 63
Posts: 37
Likes: 0
Received 0 Likes on 0 Posts
Originally Posted by ve3id
Most engineers that designed embedded control systems in the 80's and afterwards were weaned on the PDP11 or other DEC machines that used memory-mapped I/O and included it in their designs. Motorola used it on the 6800 and Intel were the ones that promoted separate I/O instructions. Nowadays most control systems use memory-mapped I/O. So as soon as machines were developed that had memory addressing, I/O could not be access in user mode. Maybe memory-mapped I/O was the majority of designs for technical reasons, but I think the fact that you had to buy a $10,000 workstation to develop for the 8008.8080, and Motorola gave away kits of parts for engineers to build and write code on a cross-assembler on their department PDP11 went a long way to giving memory-mapped addressing the edge that it now enjoys.
I am not sure this is the right forum but the reason why memory mapped I/O dominates is nothing to do with the cost of development tools for intel versus motorola or the availability of low cost or free evaluation kits. The reason is that having a seperate I/O space has significant disadvantages. It means that special instructions are required to access I/O which at least in the case of Intel were very limited and restricted compared to memory access instructions. From a softwrae perspective having I/O seperate makes I/O operations special and different from memory acces soperations which either meant the use of machine specific languages such as PL/M or the requirment that I/O is performed through access libraries which is inefficient. The use of a seperate I/O space also precluded or at least makes difficult DMA again affecting or even precluding high speed interfaces. The most obvious evidence that there are good technical reasons why memory mapped I/O is performed is that intel processors have dominated general purpose processor and they support a seperate I/O space but despite this systems designed using intel processor normally have memory mapped peripherals.

On any system which has the concept of multiple users with different access levels and measures to isolate different users from accessing resources they were not authorised access to I/O was necessarily restricted. In systems with dedicated I/O this meant special faciltiies to manage access to I/O use, with memory mapped I/O this is provided as part of a wider memory management function. This is in fact another advantage of memory mapped I/O the unification of control of access to memory with control of access to I/O.

The level of detail discussed is completely irrelevant to the forum both approaches can work and it is not paticularily significant or relevant when considering the overall architecture of a safety related system.
PiggyBack is offline