关于SPARC处理器的10个小知识

距离1987Sun公司发布第一个基于SPARC处理器的工作站整整过去了30年,本文总结了关于SPARC处理器的10个小知识:
(1)SPARC代表Scalable Processor Architecture
(2)SPARC采用的是RISCReduced Instruction Set Computing)指令集;
(3)SPARC处理器项目开始于1984年,字长为32-bit,结构版本号为V7,首席架构师是Robert Garner
(4)第一款基于SPARC处理器的工作站Sun 4/260发布于1987年;
(5)1989年,Sun公司把SPARC规范的所有权转交给SPARC International, Inc. (“SI”),一个独立的,非盈利的负责管理和授权SPARC技术的机构;
(6)1992年发布的SuperSPARCSPARC V8)是第一个超标量(super scalar)处理器;
(7)1993年发布的SPARC V9,标志着处理器字长变为64-bit
(8)2015Oracle发布了第一个基于新的Oracle SPARC Architecture 2015规范的处理器:SPARC M7
(9)截止20174月,最新的SPARC商用高端处理器是Fujitsu公司的SPARC64 XII
(10)想了解更多SPARC处理器的知识,请访问:https://sparc.org

参考资料:
Chip Hall of Fame: Sun Microsystems SPARC Processor
1987 – 2017: SPARC Systems & Computing Epochs
Wikipedia SPARC
sparc.org

2017年7月总结

技术方面:
(1)侧重于cryptography,有进展但不大;
(2)继续学习Rust,同时开始看BPF
(3)写了两个C++小项目:reducelog
(4)写了7篇英文文章1DTrace的相关文章
(5)参加了一次关于函数式编程的小聚会。

其它:
(1)团队来了新同事;
(2)文章第一次被HN转载:

hn

这个月看过的技术视频:
(1)Alex Gartrell Executing python functions in the linux kernel by transpiling to bpf PyCon 2017
(2)CppCon 2015: Kate Gregory “Stop Teaching C”
(3)CppCon 2014: James McNellis & Kate Gregory “Modernizing Legacy C++ Code”

 

2017年6月总结

技术方面:
(1)工作上完成了两个任务:
a)基于HElib实现了一个新的项目的POC
b)把现有的单机版系统改造成了分布式。
下周一会把上个月的成果做一个demo

(2)Rust语言还在学习中,写了两个练手小项目:streamRustTCPFramework

(3)重操旧业找了一台机器搭建了FreeBSD系统,除了完成两篇FreeBSD-101-Hacks以外,还发布了一篇Unix公众号文章:FreeBSD操作系统上获取CPU信息

(4)更新了沉寂半年的ChinaDTrace公众号,写了3文章

生活方面:
(1)又一位同事离开了公司,送别那天我们一起吃的自助。自助味道不错,价格也不是太贵,可以接受。总体来说性价比不错。同时也希望有新鲜的血液在7月份补充公司进来。

(2)月中休了一个3天小长假,出去远足了一次。

(3)这个月休闲的时候看了很多民国相关的视频。

(4)借了一本有关商贸口语的英语书,读了一半。

 

附:这月看过的技术视频:

Introduction to OpenMP – Tim Mattson (Intel)

What is FreeBSD by Gavin Atkinson

CppCon 2016: Tim Haines “Improving Performance Through Compiler Switches…”

The LLDB Debugger in FreeBSD by Ed Maste

FOSDEM 2017: gobpf – utilizing eBPF from Go

Sasha Goldshtein – Modern Linux Tracing Landscape

C++Now 2017: Niko Matsakis “Rust: Hack Without Fear!”

How to get one of those Open Source jobs

CMake

Easiest CMake Project Ever

Infrastructure 2017 – Alfonso Acosta – High-performance Linux monitoring with eBPF

Berkeley Packet Filter – Introduction

FreeBSD操作系统上获取CPU信息

FreeBSD既没有GNU/Linux操作系统上的/proc/cpuinfo文件,也不提供lscpu命令(其实lscpu也是访问的/proc/cpuinfo文件)。因此在FreeBSD上想了解当前机器的CPU信息,需要费点小周折:

(1)使用sysctl命令:

# sysctl hw.model hw.machine hw.ncpu
hw.model: Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz
hw.machine: amd64
hw.ncpu: 2

(2)读取/var/run/dmesg.boot文件:

# grep -i cpu /var/run/dmesg.boot
CPU: Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz (2400.05-MHz K8-class CPU)
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
est0: <Enhanced SpeedStep Frequency Control> on cpu0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
SMP: AP CPU #1 Launched!

(3)通过dmidecode命令获得CPUcache信息:

# dmidecode -t processor -t cache
# dmidecode 3.0
Scanning /dev/mem for entry point.
SMBIOS 2.4 present.

Handle 0x0004, DMI type 4, 35 bytes
Processor Information
        Socket Designation: LGA 775
        Type: Central Processor
        Family: Pentium 4
        Manufacturer: Intel
        ID: F6 06 00 00 FF FB EB BF
        Signature: Type 0, Family 6, Model 15, Stepping 6
        Flags:
                FPU (Floating-point unit on-chip)
                VME (Virtual mode extension)
                DE (Debugging extension)
                PSE (Page size extension)
......
Handle 0x0005, DMI type 7, 19 bytes
Cache Information
        Socket Designation: L1-Cache
        Configuration: Enabled, Not Socketed, Level 1
        Operational Mode: Write Back
        Location: Internal
        Installed Size: 32 kB
        Maximum Size: 32 kB
......

参考资料:
FreeBSD CPU Information Command
What is the equivalent of /proc/cpuinfo on FreeBSD v8.1?