{"id":18451168,"url":"https://github.com/danluu/dineroiv","last_synced_at":"2025-04-08T02:32:13.783Z","repository":{"id":22137639,"uuid":"25468660","full_name":"danluu/dineroIV","owner":"danluu","description":"Repo for some experiments using dineroIV","archived":false,"fork":false,"pushed_at":"2014-11-03T15:13:37.000Z","size":3064,"stargazers_count":4,"open_issues_count":0,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-09T22:45:13.440Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danluu.png","metadata":{"files":{"readme":"README","changelog":"CHANGES","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-20T13:52:35.000Z","updated_at":"2024-04-03T22:42:21.000Z","dependencies_parsed_at":"2022-07-25T09:02:01.931Z","dependency_job_id":null,"html_url":"https://github.com/danluu/dineroIV","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danluu%2FdineroIV","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danluu%2FdineroIV/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danluu%2FdineroIV/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danluu%2FdineroIV/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danluu","download_url":"https://codeload.github.com/danluu/dineroIV/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223299718,"owners_count":17122460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T07:27:45.285Z","updated_at":"2024-11-06T07:27:45.935Z","avatar_url":"https://github.com/danluu.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Dinero IV, release 7, 6 February 1998\nSend feedback to edler@research.nj.nec.com and markhill@cs.wisc.edu.\n\n\n\nINTRODUCTION\n\nDinero IV is a cache simulator for memory reference traces.\nIt includes the following major changes over Dinero III:\n\n\t- subroutine-callable interface in addition to trace-reading program\n\t- simulation of multi-level caches\n\t- simulation of dissimilar I and D caches\n\t- better performance, especially for highly associative caches\n\t- classification of compulsory, capacity, and conflict misses\n\t- support for multiple input formats\n\t- cleaned up and modernized code, improved portability\n\nSome deep-seated limitations:\n- Dinero IV is not a timing simulator.\n  There is no notion of simulated time or cycles, only references.\n- Dinero IV is not a functional simulator.\n  Data \u0026 instructions do not move in and out of the caches;\n  in fact they don't exist!  The primary result of simulation\n  with Dinero IV is hit and miss information.\n- Dinero IV isn't multi-threaded.\n  If you have a multiprocessor with enough memory,\n  you can run multiple independent simulations concurrently.\n\nThe basic idea is to simulate a memory hierarchy consisting of various\ncaches connected as one or more trees, with reference sources\n(the processors) at the leaves and a memory at each root.  The various\nparameters of each cache can be set separately (architecture, policy,\nstatistics).  During initialization, the configuration to be simulated\nis built up, one cache at a time, starting with each memory as a special\ncase.  After initialization, each reference is fed to the appropriate\ntop-level cache by a single simple function call.  Lower levels of the\nhierarchy are handled automatically.\n\nAt some future time, Dinero IV may be extended to simulate multiprocessors.\nIn the meantime, there is no support for consistency, so for practical\npurposes, the tree of caches will not be very branchy (the only time\nwhere multiple sources will feed into a cache is when separate instruction\nand data caches are used).\n\n\n\nSTRUCTURE AND DOCUMENTATION\n\nThe subroutine-callable version of Dinero IV consists of a library\n(libd4.a) and a header file (d4.h).  Unix man pages are in d4.[13].\n\nThe program dineroIV is implemented by using the subroutine interface.\nRun dineroIV -help to see the latest usage summary.\n\nThe file NOTES, in this directory, contains some additional information,\ncomparing Dinero IV with Dinero III, and providing some details\nabout the internal structure of Dinero IV.\n\nThe file CHANGES, in this directory, gives a history of the\nchanges from one release of Dinero IV to the next.\n\n\n\nINSTALLATION\n\nDinero IV is built with Gnu autoconf, and has been tested with\nx86/Linux, Alpha/Linux, Alpha/OSF, SGI/IRIX-6, RS6000/AIX,\nx86/Solaris, and Sparc/Solaris.\n\nTo build everything:\n\n\t./configure\n\tmake\n\nNothing is installed outside the main directory.\nTo turn on a bit of additional debugging, configure with --with-debug.\n\n\n\nTESTING\n\nTo run some fixed tests, go to the testing subdirectory and run\n\n\tmake\n\tPATH=$PATH:.. ./testscript\n\tD4_SRC=.. PATH=$PATH:.. ./testscript -c\n\n(for sh users; csh users probably use \"set path=($path ..); set D4_SRC=..\").\n\nNote some of the tests produce results dependent on the random number\ngenerator (random()).  This works fine normally, but some systems have\nversions of random() that produce a different sequence of numbers,\nso the results of some tests will differ from the supposedly good results\nalready saved for comparison (produced on x86/Linux).  The tests in question\nare those with random replacement or a nonzero pfabort value.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanluu%2Fdineroiv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanluu%2Fdineroiv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanluu%2Fdineroiv/lists"}