Changes between Version 21 and Version 22 of mapping_info
- Timestamp:
- Feb 14, 2015, 10:40:29 PM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
mapping_info
v21 v22 17 17 The mapping contains the following informations: 18 18 19 19 1. The mapping contains a description of the target, clusterized, hardware architecture, with the following constraints: 20 20 * All processor cores are identical (MIPS32). 21 21 * The clusters form a 2D mesh topology. The mesh size is defined by the (X_SIZE,Y_SIZE) parameters. … … 26 26 * The physical address 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 MSB fields (up to 4 bits for each field) define the cluster coordinates. 27 27 28 28 2. the mapping contains a description of the GIET_VM kernel software objects (called virtual segments or ''vsegs''): 29 29 * The kernel code is replicated in all clusters. Each copy is a ''vseg''. 30 30 * There is one page table for each user application, and this page table is replicated in each cluster. Each copy is a ''vseg''. … … 33 33 All these vsegs being accessed by all user applications must be defined in all virtual spaces, and are mapped in all page tables. They are called ''globa' vsegs''. 34 34 35 35 3. The mapping 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). Each task must be statically placed on a processor P(x,y,p). Moreover, each application defines a variable number of ''vsegs'': 36 36 * The application code can be defined as a single ''vseg'', placed in a single cluster. It can also be replicated in all clusters, with one ''vseg'' per cluster. 37 37 * There is one stack for each application task. There is one ''vseg'' per stack, and each stack ''vseg'' must be placed in a specific cluster(x,y). … … 44 44 45 45 || mapping_cluster_t || a cluster || contains psegs, processors, peripherals and coprocessors || 46 || mapping_pseg_t || a physical segment || 46 || mapping_pseg_t || a physical segment || defined by a name, a base address ans a size (bytes) || 47 47 || mapping_vspace_t || a virtual space || contains several vsegs and several parallel tasks || 48 48 || mapping_vseg_t || a virtual segment || contains one software object || 49 || mapping_task_t || a task || must be statically associated to a processor || 50 || mapping_proc_t || a processor || identified by coordinates (x,y) and a local index (p) || 51 || mapping_periph_t || a peripheral || can contain IRQ inputs (for XCU or PIC peripherals) || 52 || mapping_irq_t || a source interrupt || || 49 || mapping_task_t || a task || must be statically associated to a processor || 50 || mapping_proc_t || a processor || can contain IRQ inputs (for XCU or PIC peripherals) || 51 || mapping_irq_t || a source interrupt || || 53 52 || mapping_coproc_t || a coprocessor || contains several cp_ports || 54 53 || mapping_cp_port_t || a coprocessor port || ||