Changes between Version 54 and Version 55 of io_operations


Ignore:
Timestamp:
Jan 20, 2020, 12:24:02 PM (5 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • io_operations

    v54 v55  
    1111ALMOS-MKH supports two types of peripheral components:
    1212
    13  * '''External peripherals''' are accessed through a bridge located in one single cluster (called ''cluster_io'', identified by the ''io_cxy'' parameter in the arch_info description). External devices are shared resources that can be used by any thread running in any cluster. Examples are the generic IOC device (Block Device Controller), the generic NIC device (Network Interface Controller), the generic TXT device (Text Terminal), the generic FBF device (Frame Buffer for Graphical Display Controller).
     13 * '''External peripherals''' are accessed through a bridge located in one single cluster (called ''cluster_io'', identified by the ''io_cxy'' parameter in the arch_info description). External devices are shared resources that can be used by any thread running in any cluster. Examples are the generic '''IOC''' device (Block Device Controller), the generic '''NIC''' device (Network Interface Controller), the generic '''TXT''' device (Text Terminal), the generic '''FBF''' device (Frame Buffer for Graphical Display Controller).
    1414
    15  * '''Internal peripherals''' are replicated in all clusters. Each internal peripheral is associated to the local kernel instance, but can be accessed by any thread running in any cluster. There are very few internal peripherals. Examples are the generic LAPIC device (Interrupt Controller Unit), or the generic MMC device (L2 Cache Configuration and coherence management).
     15 * '''Internal peripherals''' are replicated in all clusters. Each internal peripheral is controled by the local kernel instance, but can be accessed by any thread running in any cluster. There are very few internal peripherals. Examples are the generic '''DMA''' device (Direct Memory Access), or the generic '''MMC''' device (L2 Cache Configuration and coherence management).
    1616
    17 ALMOS-MKH supports ''multi-channels'' external peripherals, where one single peripheral controller contains N channels that can run in parallel. Each channel has a separated set of addressable registers, and each channel can be used by the OS as an independent device. Examples are the  TXT peripheral (one channel per text terminal), or the NIC peripheral (one channel per MAC interface).
     17ALMOS-MKH supports ''multi-channels'' peripherals, where one single peripheral controller contains N channels that can run in parallel. Each channel has a separated set of addressable registers, and each channel can be used by the OS as an independent device. Examples are the  TXT peripheral (one channel per text terminal), or the NIC peripheral (one channel per MAC interface).
    1818
    19 The set of available peripherals, and their location in a given many-core architecture must be described in the '''arch_info.py''' file. For each peripheral, the composite index is implemented as a 32 bit integer, where the 16 MSB bits define the ''functional'' type, and the 16 LSB bits define the ''implementation'' subtype.
     19The set of available peripherals, and their location in a given many-core architecture is described in the '''arch_info.py''' file. For each peripheral, the composite (FUNC,IMPL) type is implemented as a 32 bit integer, where the 16 MSB bits define the ''functional'' type, and the 16 LSB bits define the ''implementation'' type.
    2020
    2121== B) Generic Devices  APIs  ==