MOESI_CMP_token.py (7551:b10ee98aea91) | MOESI_CMP_token.py (7561:02a9a597fce4) |
---|---|
1# Copyright (c) 2006-2007 The Regents of The University of Michigan 2# Copyright (c) 2009 Advanced Micro Devices, Inc. 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions are 7# met: redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer; --- 37 unchanged lines hidden (view full) --- 46 47def define_options(parser): 48 parser.add_option("--l1-retries", type="int", default=1, 49 help="Token_CMP: # of l1 retries before going persistent") 50 parser.add_option("--timeout-latency", type="int", default=300, 51 help="Token_CMP: cycles until issuing again"); 52 parser.add_option("--disable-dyn-timeouts", action="store_true", 53 help="Token_CMP: disable dyanimc timeouts, use fixed latency instead") | 1# Copyright (c) 2006-2007 The Regents of The University of Michigan 2# Copyright (c) 2009 Advanced Micro Devices, Inc. 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions are 7# met: redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer; --- 37 unchanged lines hidden (view full) --- 46 47def define_options(parser): 48 parser.add_option("--l1-retries", type="int", default=1, 49 help="Token_CMP: # of l1 retries before going persistent") 50 parser.add_option("--timeout-latency", type="int", default=300, 51 help="Token_CMP: cycles until issuing again"); 52 parser.add_option("--disable-dyn-timeouts", action="store_true", 53 help="Token_CMP: disable dyanimc timeouts, use fixed latency instead") |
54 | 54 parser.add_option("--allow-atomic-migration", action="store_true", 55 help="allow migratory sharing for atomic only accessed blocks") 56 |
55def create_system(options, system, piobus, dma_devices): 56 57 if buildEnv['PROTOCOL'] != 'MOESI_CMP_token': 58 panic("This script requires the MOESI_CMP_token protocol to be built.") 59 60 # 61 # number of tokens that the owner passes to requests so that shared blocks can 62 # respond to read requests --- 43 unchanged lines hidden (view full) --- 106 math.log(options.num_l2caches, 107 2), 108 N_tokens = n_tokens, 109 retry_threshold = \ 110 options.l1_retries, 111 fixed_timeout_latency = \ 112 options.timeout_latency, 113 dynamic_timeout_enabled = \ | 57def create_system(options, system, piobus, dma_devices): 58 59 if buildEnv['PROTOCOL'] != 'MOESI_CMP_token': 60 panic("This script requires the MOESI_CMP_token protocol to be built.") 61 62 # 63 # number of tokens that the owner passes to requests so that shared blocks can 64 # respond to read requests --- 43 unchanged lines hidden (view full) --- 108 math.log(options.num_l2caches, 109 2), 110 N_tokens = n_tokens, 111 retry_threshold = \ 112 options.l1_retries, 113 fixed_timeout_latency = \ 114 options.timeout_latency, 115 dynamic_timeout_enabled = \ |
114 not options.disable_dyn_timeouts) | 116 not options.disable_dyn_timeouts, 117 no_mig_atomic = not \ 118 options.allow_atomic_migration) |
115 116 exec("system.l1_cntrl%d = l1_cntrl" % i) 117 # 118 # Add controllers and sequencers to the appropriate lists 119 # 120 cpu_sequencers.append(cpu_seq) 121 l1_cntrl_nodes.append(l1_cntrl) 122 --- 66 unchanged lines hidden --- | 119 120 exec("system.l1_cntrl%d = l1_cntrl" % i) 121 # 122 # Add controllers and sequencers to the appropriate lists 123 # 124 cpu_sequencers.append(cpu_seq) 125 l1_cntrl_nodes.append(l1_cntrl) 126 --- 66 unchanged lines hidden --- |