– 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 等工具进行交叉编译、调试。

经历了日夜颠倒的一周,总共耗时70小时之后,我终于打完了这部可能是花费我时间最多的 galgame 作品,久仰 BSD 大名很多年,但是一直觉得坑太大不想开,趁着 steam 官中折扣我终于打定主意要开这个坑。总体上说,BSD 是一款符合我预期的大作,我充分的理解并赞同它在业界的历史地位,因为它真的很难得,抛开本作的 ACT 部分只评价 gal 部分,我将其概括为:技术上是不偏科的全方位佳作、世界线理论的最佳实践;主题上是赛博朋克的集大成者、理想主义的浪漫悲喜剧。