stardust

– Title: Profiling a Warehouse-scale Computer
– Authors: Svilen Kanev, Juan Pablo Darago, Kim Hazelwood, Parthasarathy Ranganathan, Tipp Moseley, Gu-Yeon Wei, David Brooks
– Venue: ISCA 2015
– Keywords: warehouse-scale computer, cloud computing, performance analysis, datacenter, Top-Down method, out-of-order processor, microarchitecture

现代微处理器架构 90 分钟指南

本文翻译自:Modern Microprocessors A 90-Minute Guide!,部分章节翻译来自 cxd2014.github.io,我认为原文是相当好的计算机体系结构方面的概述,与时代相结合是国内计算机课本普遍缺失的一环,本文可作为一个有效的补充,向原作者和前译者表示感谢。

TOC:
1 现代微处理器架构
2 不仅仅是频率
3 流水线和指令级并行
4 深度流水线
5 多发射:超标量
6 显式并行:VLIW
7 指令依赖和延迟
8 分支和分支预测
9 使用谓词执行消除分支
10 指令调度,寄存器重命名和 OOO
11 Brainiac 和 Speed-Demon 之争
12 功耗墙和 ILP 墙
13 x86 介绍
14 线程 :SMT,超线程和多核
15 更多的核心还是更强大的核心
16 数据级并行:SIMD 和向量指令
17 内存和内存墙
18 缓存和存储结构层次
19 缓存的冲突和组相联
20 内存带宽和延迟

使用 qemu 构建 multiarch 调试环境

最近需要一个环境调试一些非 x86 的二进制和学习一下其他体系架构的汇编,最基本的思路是 qemu 启动 qcow2 虚拟机(如果需要模拟调试路由器等设备,可能需要这种办法,现成的 qcow2 镜像可以从类似 https://people.debian.org/~jcowgill/qemu-mips/ 的地方找到),但是有更轻量的用户态方式,本文将简要讨论在 qemu 的支持下,通过 debootstrap + chroot / 容器等方法构建其他指令集架构的系统基本环境,并使用 gdb-multiarch 等工具进行交叉编译、调试。