Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "cells": [
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "ExecuteTime": {
- "end_time": "2019-03-17T20:28:08.969898Z",
- "start_time": "2019-03-17T20:28:08.963947Z"
- }
- },
- "outputs": [],
- "source": [
- "def setidx(i):\n",
- " ''' in: int\n",
- " out: 5bit set index (str)'''\n",
- " b = '{0:016b}'.format(i)\n",
- " return(b[-10:-5])\n",
- "def tag(i):\n",
- " ''' in: int\n",
- " out: 6bit tag '''\n",
- " b = '{0:016b}'.format(i)\n",
- " return(b[-16:-10])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "ExecuteTime": {
- "end_time": "2019-03-17T20:28:09.336349Z",
- "start_time": "2019-03-17T20:28:09.331364Z"
- }
- },
- "outputs": [],
- "source": [
- "def runs(arr):\n",
- " hit_count = 0\n",
- " for i in range(0, 512, 4):\n",
- " st = [] # set index list\n",
- " d2 = {} # hist of set idxs per start idx\n",
- " for item in arr:\n",
- " val = setidx(item + i)\n",
- " st.append(val)\n",
- " try:\n",
- " d2[val] += 1\n",
- " except:\n",
- " d2[val] = 1\n",
- " if min(d2.values()) == 1: # for some starting address, we get hits\n",
- " hit_count += 1\n",
- " print(hit_count / (512 / 4)) # ratio of starting addrs w/ hit"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "ExecuteTime": {
- "end_time": "2019-03-17T20:28:09.756222Z",
- "start_time": "2019-03-17T20:28:09.749208Z"
- }
- },
- "outputs": [],
- "source": [
- "runs([i * 256 * 4 for i in range(4)]) # stride = 256"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "ExecuteTime": {
- "end_time": "2019-03-17T20:28:10.608852Z",
- "start_time": "2019-03-17T20:28:10.604830Z"
- }
- },
- "outputs": [],
- "source": [
- "runs([i * 255 * 4 for i in range(5)]) # stride = 255"
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.6.7"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 2
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement