Changes between Version 4 and Version 5 of mapping_info


Ignore:
Timestamp:
Oct 26, 2014, 12:46:06 PM (10 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • mapping_info

    v4 v5  
    1111To control this mapping, the system designer must define a mapping, as described below.
    1212
    13 == C mapping data structure ==
     13== __C mapping data structure__ ==
    1414
    1515A dedicated C binary data structure, is used by the GIET_VM bootloader to map one or several multi-threaded user applications on a generic, shared address space multi-processors, multi-clusters architecture. The next section describes how this this C binary structure can be generated by the ''genmap'' tool from a source description using the PYTHON language. We describe in this section this C structure.
     
    1717The C mapping data structure contains the following informations:
    1818
    19  1.  It contains a description of the target, clusterized, hardware architecture, with the following constraints: The clusters are organised in a 2D mesh topology, and the number of clusters is variable (can be one). The number of processors per cluster is variable (can be one). The number of  physical memory banks is variable (up to one physical memory bank per cluster. Most peripherals are ''external'' and  localized in one specific I/O cluster.
    20 The physical address width is between 32 and 48 bits, and is the concatenation of 3 fields: the LSB field (32 bits) define a 4 Gbits physical address space inside a single cluster. The X  and Y  fields (up to 8 bits for each field) define the cluster coordinate.
     19 1.  It contains a description of the target, clusterized, hardware architecture, with the following constraints: The clusters are organised in a 2D mesh topology, and the number of clusters is variable (can be one). The number of processors per cluster is variable (can be one). The number of  physical memory banks is variable (up to one physical memory bank per cluster. Most peripherals are ''external'' and  localized in one specific I/O cluster. The physical address width is between 32 and 48 bits, and is the concatenation of 3 fields: the LSB field (32 bits) define a 4 Gbits physical address space inside a single cluster. The X  and Y  fields (up to 8 bits for each field) define the cluster coordinate.
    2120
    2221 2. It contains a description of the user applications to be launched on the platform. An user application is characterized by a a virtual address space, called a ''vspace''. An user application can be multi-threaded, and the number of parallel tasks sharing the same address space in a given application is variable (can be one). The GIET_VM provide a specific Multi-Writer/Multi-Reader communication middleware for send/receive inter-tasks communication. Each vspace contains a variable number of virtual segments, called ''vsegs''. The number of simultaneously mapped vspaces on a given architecture is variable (can be one).
     
    3938The ''map.bin'' file must be stored on disk and will be loaded  in memory by the GIET_VM bootloader in the ''seg_boot_mapping'' segment.
    4039
    41 == Python Mapping General =
     40== __Python Mapping General__ ==
    4241
    4342A specific mapping requires at least two python files:
     
    5150To define an architecture, you must use the following constructors:
    5251
    53 === Class Mapping ===
     52=== Construct mapping ===
    5453
    5554The Mapping constructor build a mapping object and define the target architecture general parameters:
     
    7372|| ram_size          || physical memory bank size in one cluster (bytes) ||
    7473
    75 === Class Cluster ===
     74=== Construct cluster_io peripherals ===
     75
     76The mapping.addPeriph( ) define the non replicated peripherals available in cluster_io. It has the following arguments
     77|| name      || peripheral name ||
     78|| base       || peripheral segment physical base address ||
     79|| size        || peripheral segment size ||
     80|| ptype     || Peripheral type ||
     81|| subtype  || Peripheral subtype ||
     82|| channels || number of channels for multi-channels peripherals ||
     83|| arg          || optionnal argument depending on peripheral type ||
     84
     85The Peripheral types are defined in the [source:soft/giet_vm/giet_xml/mapping_info.h mapping_info.h] and [source:soft/giet_vm/giet_python/mapping.py mapping.py] files.
     86
    7687
    7788== Application description : appli.py ===