Hello all,

I have created a configure file which simulates a two package CMP which
names Intel Clovertown.:

machine:
  # Use run-time option '-machine [MACHINE_NAME]' to select
  clover_quad_mesi:
    description: This configure simulates Clovertown machine which contains
two packages
    min_contexts: 4
    max_contexts: 4
    cores: # The order in which core is defined is used to assign
           # the cores in a machine
      - type: ooo
        name_prefix: ooo_
        option:
            threads: 1
    caches:
      - type: l1_128K_mesi
        name_prefix: L1_I_
        insts: $NUMCORES # Per core L1-I cache
        option:
            private: true
            last_private: true
      - type: l1_128K_mesi
        name_prefix: L1_D_
        insts: $NUMCORES # Per core L1-D cache
        option:
            private: true
            last_private: true
      - type: l2_2M_mesi
        name_prefix: L2_
        insts: 2 # Two packages
    memory:
      - type: dram_cont
        name_prefix: MEM_
        insts: 1 # Single DRAM controller
        option:
            latency: 50 # In nano seconds
    interconnects:
      - type: p2p
        # '$' sign is used to map matching instances like:
        # cpu_0, L1_I_0
        connections:
            - core_$: I
              L1_I_$: UPPER
            - core_$: D
              L1_D_$: UPPER
      - type: split_bus
        connections:
            - L1_I_0: LOWER
              L1_I_1: LOWER
              L2_0: UPPER
            - L1_I_2: LOWER
              L1_I_3: LOWER
              L2_1: UPPER
            - L1_D_0: LOWER
              L1_D_1: LOWER
              L2_0: UPPER2
            - L1_D_2: LOWER
              L1_D_3: LOWER
              L2_1: UPPER2
            - L2_0: LOWER
              L2_1: LOWER
              MEM_0: UPPER
        option:
            disable_snoop: true


When simulation is started with the configuration, I encounter with
"Segmentation fault (core dumped)" error:

I find that the error is originated from MESILogic::handle_local_miss(...).
The following code fragment is selected from handle_local_miss(...).
if (type == MEMORY_OP_UPDATE && !controller->is_lowest_private()) {
        *queueEntry->line->state =
*(MESICacheLineState*)(queueEntry->m_arg);*
        UPDATE_MESI_TRANS_STATS(oldState, queueEntry->line->state,
kernel_req);
        controller->clear_entry_cb(queueEntry);
        return;
    }

Source of the error is "queueEntry->line->state =
*(MESICacheLineState*)(queueEntry->m_arg);" command which is highlighted.
Could you tell me how this error can be solved?


Sorry to bother you, and thanks for your answer in advance.
_______________________________________________
http://www.marss86.org
Marss86-Devel mailing list
[email protected]
https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel

Reply via email to