亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? config.py

?? linux下基于c++的處理器仿真平臺。具有處理器流水線
?? PY
?? 第 1 頁 / 共 5 頁
字號:
                subopts.append(subo)        return subopts    def printinfo(self):        super(Group, self).printinfo()        print 'config: %s' % self.config.name        print 'options: %s' % [ o.name for o in self._options ]        super(Group, self).printverbose()class Configuration(Data):    def __init__(self, name, desc, **kwargs):        super(Configuration, self).__init__(name, desc, **kwargs)        self._groups = []    def group(self, name, desc, **kwargs):        grp = Group(name, desc, **kwargs)        grp.config = self        grp.number = len(self._groups)        self._groups.append(grp)        return grp    def groups(self, flags=Flags(), sign=True):        if not flags:            return self._groups        return [ grp for grp in self._groups if sign ^ grp.flags.match(flags) ]    def checkchildren(self, kids):        for kid in kids:            if kid.config != self:                raise AttributeError, "child from the wrong configuration"    def sortgroups(self, groups):        groups = [ (grp.number, grp) for grp in groups ]        groups.sort()        return [ grp[1] for grp in groups ]        def options(self, groups = None, checkpoint = False):        if groups is None:            groups = self._groups        self.checkchildren(groups)        groups = self.sortgroups(groups)        if checkpoint:            groups = [ grp for grp in groups if grp.checkpoint ]            optgroups = [ g.options() for g in groups ]        else:            optgroups = [ g.subopts() for g in groups ]        for options in crossproduct(optgroups):            for opt in options:                cpt = opt.group.checkpoint                if not isinstance(cpt, bool) and cpt != opt:                    if checkpoint:                        break                    else:                        yield options            else:                if checkpoint:                    yield options    def checkpoints(self, groups = None):        for options in self.options(groups, True):            yield Job(options)    def jobs(self, groups = None):        for options in self.options(groups, False):            yield Job(options)    def alljobs(self, groups = None):        for options in self.options(groups, True):            yield Job(options)        for options in self.options(groups, False):            yield Job(options)    def find(self, jobname):        for job in self.alljobs():            if job.name == jobname:                return job        else:            raise AttributeError, "job '%s' not found" % jobname    def job(self, options):        self.checkchildren(options)        options = [ (opt.group.number, opt) for opt in options ]        options.sort()        options = [ opt[1] for opt in options ]        job = Job(options)        return job    def printinfo(self):        super(Configuration, self).printinfo()        print 'groups: %s' % [ g.name for g in self._grouips ]        super(Configuration, self).printverbose()def JobFile(jobfile):    from os.path import expanduser, isfile, join as joinpath    filename = expanduser(jobfile)    # Can't find filename in the current path, search sys.path    if not isfile(filename):        for path in sys.path:            testname = joinpath(path, filename)            if isfile(testname):                filename = testname                break        else:            raise AttributeError, \\                  "Could not find file '%s'" % jobfile    data = {}    execfile(filename, data)    if 'conf' not in data:        raise ImportError, 'cannot import name conf from %s' % jobfile    conf = data['conf']    import jobfile    if not isinstance(conf, Configuration):        raise AttributeError, \\              'conf in jobfile: %s (%s) is not type %s' % \\              (jobfile, type(conf), Configuration)    return confif __name__ == '__main__':    from jobfile import *    import sys    usage = 'Usage: %s [-b] [-c] [-v] <jobfile>' % sys.argv[0]    try:        import getopt        opts, args = getopt.getopt(sys.argv[1:], '-bcv')    except getopt.GetoptError:        sys.exit(usage)    if len(args) != 1:        raise AttributeError, usage    both = False    checkpoint = False    verbose = False    for opt,arg in opts:        if opt == '-b':            both = True            checkpoint = True        if opt == '-c':            checkpoint = True        if opt == '-v':            verbose = True    jobfile = args[0]    conf = JobFile(jobfile)    if both:        gen = conf.alljobs()    elif checkpoint:        gen = conf.checkpoints()    else:        gen = conf.jobs()            for job in gen:        if not verbose:            cpt = ''            if job.checkpoint:                cpt = job.checkpoint.name            print job.name, cpt        else:            job.printinfo()''')AddModule(['m5'], '__init__', 'py', 'm5/python/m5/__init__.py', '''\# Copyright (c) 2005# The Regents of The University of Michigan# All Rights Reserved## This code is part of the M5 simulator, developed by Nathan Binkert,# Erik Hallnor, Steve Raasch, and Steve Reinhardt, with contributions# from Ron Dreslinski, Dave Greene, Lisa Hsu, Kevin Lim, Ali Saidi,# and Andrew Schultz.## Permission is granted to use, copy, create derivative works and# redistribute this software and such derivative works for any# purpose, so long as the copyright notice above, this grant of# permission, and the disclaimer below appear in all copies made; and# so long as the name of The University of Michigan is not used in any# advertising or publicity pertaining to the use or distribution of# this software without specific, written prior authorization.## THIS SOFTWARE IS PROVIDED AS IS, WITHOUT REPRESENTATION FROM THE# UNIVERSITY OF MICHIGAN AS TO ITS FITNESS FOR ANY PURPOSE, AND# WITHOUT WARRANTY BY THE UNIVERSITY OF MICHIGAN OF ANY KIND, EITHER# EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR# PURPOSE. THE REGENTS OF THE UNIVERSITY OF MICHIGAN SHALL NOT BE# LIABLE FOR ANY DAMAGES, INCLUDING DIRECT, SPECIAL, INDIRECT,# INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WITH RESPECT TO ANY CLAIM# ARISING OUT OF OR IN CONNECTION WITH THE USE OF THE SOFTWARE, EVEN# IF IT HAS BEEN OR IS HEREAFTER ADVISED OF THE POSSIBILITY OF SUCH# DAMAGES.import sys, os# define this here so we can use it right away if necessarydef panic(string):    print >>sys.stderr, 'panic:', string    sys.exit(1)def m5execfile(f, global_dict):    # copy current sys.path    oldpath = sys.path[:]    # push file's directory onto front of path    sys.path.insert(0, os.path.abspath(os.path.dirname(f)))    execfile(f, global_dict)    # restore original path    sys.path = oldpath# Prepend given directory to system module search path.def AddToPath(path):    # if it's a relative path and we know what directory the current    # python script is in, make the path relative to that directory.    if not os.path.isabs(path) and sys.path[0]:        path = os.path.join(sys.path[0], path)    path = os.path.realpath(path)    # sys.path[0] should always refer to the current script's directory,    # so place the new dir right after that.    sys.path.insert(1, path)# find the m5 compile options: must be specified as a dict in# __main__.m5_build_env.import __main__if not hasattr(__main__, 'm5_build_env'):    panic("__main__ must define m5_build_env")# make a SmartDict out of the build options for our local useimport smartdictbuild_env = smartdict.SmartDict()build_env.update(__main__.m5_build_env)# make a SmartDict out of the OS environment tooenv = smartdict.SmartDict()env.update(os.environ)# import the main m5 config codefrom config import *# import the built-in object definitionsfrom objects import *''')AddModule(['m5'], 'config', 'py', 'm5/python/m5/config.py', '''\# Copyright (c) 2004, 2005# The Regents of The University of Michigan# All Rights Reserved## This code is part of the M5 simulator, developed by Nathan Binkert,# Erik Hallnor, Steve Raasch, and Steve Reinhardt, with contributions# from Ron Dreslinski, Dave Greene, Lisa Hsu, Kevin Lim, Ali Saidi,# and Andrew Schultz.## Permission is granted to use, copy, create derivative works and# redistribute this software and such derivative works for any# purpose, so long as the copyright notice above, this grant of# permission, and the disclaimer below appear in all copies made; and# so long as the name of The University of Michigan is not used in any# advertising or publicity pertaining to the use or distribution of# this software without specific, written prior authorization.## THIS SOFTWARE IS PROVIDED AS IS, WITHOUT REPRESENTATION FROM THE# UNIVERSITY OF MICHIGAN AS TO ITS FITNESS FOR ANY PURPOSE, AND# WITHOUT WARRANTY BY THE UNIVERSITY OF MICHIGAN OF ANY KIND, EITHER# EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR# PURPOSE. THE REGENTS OF THE UNIVERSITY OF MICHIGAN SHALL NOT BE# LIABLE FOR ANY DAMAGES, INCLUDING DIRECT, SPECIAL, INDIRECT,# INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WITH RESPECT TO ANY CLAIM# ARISING OUT OF OR IN CONNECTION WITH THE USE OF THE SOFTWARE, EVEN# IF IT HAS BEEN OR IS HEREAFTER ADVISED OF THE POSSIBILITY OF SUCH# DAMAGES.from __future__ import generatorsimport os, re, sys, types, inspectimport m5panic = m5.panicfrom convert import *from multidict import multidictnoDot = Falsetry:    import pydotexcept:    noDot = Trueclass Singleton(type):    def __call__(cls, *args, **kwargs):        if hasattr(cls, '_instance'):            return cls._instance        cls._instance = super(Singleton, cls).__call__(*args, **kwargs)        return cls._instance####################################################################### M5 Python Configuration Utility## The basic idea is to write simple Python programs that build Python# objects corresponding to M5 SimObjects for the desired simulation# configuration.  For now, the Python emits a .ini file that can be# parsed by M5.  In the future, some tighter integration between M5# and the Python interpreter may allow bypassing the .ini file.## Each SimObject class in M5 is represented by a Python class with the# same name.  The Python inheritance tree mirrors the M5 C++ tree# (e.g., SimpleCPU derives from BaseCPU in both cases, and all# SimObjects inherit from a single SimObject base class).  To specify# an instance of an M5 SimObject in a configuration, the user simply# instantiates the corresponding Python object.  The parameters for# that SimObject are given by assigning to attributes of the Python# object, either using keyword assignment in the constructor or in# separate assignment statements.  For example:## cache = BaseCache(size='64KB')# cache.hit_latency = 3# cache.assoc = 8## The magic lies in the mapping of the Python attributes for SimObject# classes to the actual SimObject parameter specifications.  This# allows parameter validity checking in the Python code.  Continuing# the example above, the statements "cache.blurfl=3" or# "cache.assoc='hello'" would both result in runtime errors in Python,# since the BaseCache object has no 'blurfl' parameter and the 'assoc'# parameter requires an integer, respectively.  This magic is done# primarily by overriding the special __setattr__ method that controls# assignment to object attributes.## Once a set of Python objects have been instantiated in a hierarchy,# calling 'instantiate(obj)' (where obj is the root of the hierarchy)# will generate a .ini file.  See simple-4cpu.py for an example# (corresponding to m5-test/simple-4cpu.ini).############################################################################################################################################# ConfigNode/SimObject classes## The Python class hierarchy rooted by ConfigNode (which is the base# class of SimObject, which in turn is the base class of all other M5# SimObject classes) has special attribute behavior.  In general, an# object in this hierarchy has three categories of attribute-like# things:## 1. Regular Python methods and variables.  These must start with an# underscore to be treated normally.## 2. SimObject parameters.  These values are stored as normal Python# attributes, but all assignments to these attributes are checked# against the pre-defined set of parameters stored in the class's# _params dictionary.  Assignments to attributes that do not# correspond to predefined parameters, or that are not of the correct# type, incur runtime errors.## 3. Hierarchy children.  The child nodes of a ConfigNode are stored# in the node's _children dictionary, but can be accessed using the# Python attribute dot-notation (just as they are printed out by the# simulator).  Children cannot be created using attribute assigment;# they must be added by specifying the parent node in the child's# constructor or using the '+=' operator.# The SimObject parameters are the most complex, for a few reasons.# First, both parameter descriptions and parameter values are# inherited.  Thus parameter description lookup must go up the# inheritance chain like normal attribute lookup, but this behavior# must be explicitly coded since the lookup occurs in each class's# _params attribute.  Second, because parameter values can be set# on SimObject classes (to implement default values), the parameter# checking behavior must be enforced on class attribute assignments as# well as instance attribute assignments.  Finally, because we allow# class specialization via inheritance (e.g., see the L1Cache class in# the simple-4cpu.py example), we must do parameter checking even on# class instantiation.  To provide all these features, we use a# metaclass to define most of the SimObject parameter behavior for# this class hierarchy.######################################################################def isSimObject(value):    return isinstance(value, SimObject) 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
琪琪一区二区三区| 日本丰满少妇一区二区三区| 一区二区欧美精品| 亚洲特级片在线| 亚洲国产精品v| 国产精品女主播在线观看| 欧美一区二区视频网站| 欧美日韩国产a| 在线综合视频播放| 欧美一区二区福利视频| 日韩一区二区在线看片| 欧美xxxxx牲另类人与| 精品国产乱码久久久久久浪潮 | 国产精品第13页| 国产精品午夜电影| 亚洲女爱视频在线| 天天av天天翘天天综合网色鬼国产| 亚洲一区二区视频| 男男视频亚洲欧美| 精油按摩中文字幕久久| 成人午夜免费视频| 91浏览器打开| 在线不卡一区二区| 国产欧美一区二区三区鸳鸯浴| 国产欧美一区二区三区沐欲| 亚洲乱码国产乱码精品精可以看| 一区二区三区日韩欧美精品| 午夜精品久久久久久| 国产在线播放一区二区三区| av亚洲精华国产精华精| 欧美区视频在线观看| 久久嫩草精品久久久精品一| 亚洲欧洲av另类| 日韩1区2区日韩1区2区| 成人精品电影在线观看| 欧美日韩在线免费视频| 国产亚洲一区字幕| 亚洲成a人片综合在线| 韩国一区二区在线观看| 色视频一区二区| 精品成人一区二区| 一区二区三区四区av| 国产精品91一区二区| 色狠狠色噜噜噜综合网| 久久婷婷国产综合国色天香| 亚洲精品国产第一综合99久久| 蜜臀av国产精品久久久久| 99久久精品久久久久久清纯| 日韩午夜在线播放| 亚洲一二三区视频在线观看| 国产成都精品91一区二区三| 这里只有精品视频在线观看| 中文字幕在线不卡一区| 裸体一区二区三区| 欧美日韩精品福利| 亚洲欧美另类图片小说| 丰满少妇久久久久久久| 日韩一级黄色片| 亚洲第一成年网| 99re免费视频精品全部| 国产亚洲精品久| 久久激情五月激情| 欧美天堂亚洲电影院在线播放| 国产精品系列在线| 国产成人精品亚洲777人妖| 91精品国产一区二区三区| 一区二区三区视频在线看| 97久久超碰国产精品电影| 国产欧美精品区一区二区三区| 老司机午夜精品| 日韩一级成人av| 日韩电影免费在线观看网站| 欧美日韩一区在线| 亚洲午夜久久久久久久久电影院 | 奇米在线7777在线精品 | 欧美一级一区二区| 日本欧美一区二区三区乱码| 欧美日韩亚洲综合一区二区三区| 亚洲激情图片小说视频| 色欧美88888久久久久久影院| 国产精品久久久久久一区二区三区| 狠狠色2019综合网| 久久影音资源网| 国产91对白在线观看九色| 国产丝袜欧美中文另类| 成人午夜在线视频| 国产精品国产三级国产aⅴ原创| 风间由美性色一区二区三区| 国产精品国产三级国产普通话三级| eeuss鲁一区二区三区| 亚洲欧美日本在线| 欧美蜜桃一区二区三区| 蜜臀91精品一区二区三区 | 欧美在线不卡一区| 天天影视网天天综合色在线播放| 欧美妇女性影城| 精品午夜一区二区三区在线观看| 久久午夜电影网| 91在线丨porny丨国产| 亚洲午夜视频在线| 欧美一区二区三区四区高清| 国精产品一区一区三区mba视频 | 99re视频这里只有精品| 亚洲成人精品在线观看| 精品乱人伦小说| 成人app软件下载大全免费| 亚洲自拍另类综合| 精品日韩成人av| 99精品久久久久久| 日本在线不卡视频| 国产精品嫩草99a| 欧美日韩一区二区在线观看| 国产在线视频不卡二| 亚洲欧美自拍偷拍色图| 日韩三级.com| 色综合久久久久综合99| 久久电影网站中文字幕| 亚洲少妇屁股交4| 日韩欧美国产一区在线观看| 99re成人精品视频| 韩国成人精品a∨在线观看| 亚洲美女精品一区| 久久久精品国产99久久精品芒果| 91视频一区二区| 国内精品久久久久影院薰衣草| 亚洲精品高清在线观看| 欧美国产综合一区二区| 在线成人午夜影院| 91免费看视频| 国产成人小视频| 美国欧美日韩国产在线播放| 亚洲人成网站色在线观看| 久久日一线二线三线suv| 欧美日精品一区视频| av网站免费线看精品| 国产精品主播直播| 青青草97国产精品免费观看| 一区二区三区日韩| 国产精品国产三级国产普通话蜜臀 | 老司机免费视频一区二区| 亚洲午夜在线观看视频在线| 亚洲日本在线天堂| 国产精品美女视频| 国产三级一区二区| 久久久国产一区二区三区四区小说 | 成人免费看视频| 国产一区二区三区四区五区入口| 日韩成人免费看| 视频一区二区三区在线| 亚洲国产视频一区二区| 一区二区三区在线观看国产| 国产精品第13页| 亚洲丝袜自拍清纯另类| 亚洲欧美一区二区久久| 18成人在线观看| 亚洲欧美成aⅴ人在线观看| 自拍偷拍亚洲激情| 一区二区三区美女| 亚洲电影你懂得| 性做久久久久久免费观看欧美| 亚洲综合一区在线| 香蕉加勒比综合久久| 五月天久久比比资源色| 日韩国产在线一| 麻豆精品一区二区av白丝在线| 免费观看成人av| 国产在线精品不卡| 国产99精品在线观看| 成人免费高清在线观看| 91片黄在线观看| 欧美日韩中文字幕精品| 欧美一区二区三区婷婷月色| 国产亚洲精久久久久久| 成人欧美一区二区三区小说| 亚洲精品日韩专区silk| 日韩精彩视频在线观看| 国产麻豆精品一区二区| 成人一区二区三区在线观看| 91最新地址在线播放| 欧美日韩国产另类不卡| 精品国产伦一区二区三区观看方式 | 日本欧洲一区二区| 国产精品白丝jk黑袜喷水| 色噜噜狠狠色综合欧洲selulu| 欧美精品丝袜久久久中文字幕| 精品日产卡一卡二卡麻豆| 国产精品久久福利| 五月婷婷欧美视频| 国产激情精品久久久第一区二区| 91麻豆国产精品久久| 日韩欧美国产小视频| 日韩一区在线免费观看| 美女性感视频久久| 91丨porny丨中文| 久久久久国产免费免费| 性做久久久久久久免费看| 国产高清一区日本| 欧美二区乱c少妇| 中文在线资源观看网站视频免费不卡 | 欧美亚洲愉拍一区二区|