/computer-architecture-experiment

Primary LanguageShellCreative Commons Attribution Share Alike 4.0 InternationalCC-BY-SA-4.0

系统结构实验课

Lab0-基础知识

实验准备

抓取资料库

  • 安装 git (Windows版本) 后执行 git clone https://github.com/cs-course/computer-architecture-experiment
  • 或者 下载 后解压缩

在Windows上还需要建立实验用Linux 64-bit虚拟机环境

  • 安装 VirtualBox 虚拟机 (下载)
  • 安装 Vagrant 虚拟机管理工具 (下载)
  • 导入基础镜像
    • 下载镜像至资料库目录,下载地址:微云官方
    • 进入 Windows 命令行窗口
      • 使用 "Windows系统 --> 命令提示符"
      • 或者按下 "Win+R" 运行 cmd 命令
    • 进入资料库目录,执行 vagrant box add bionic-server-cloudimg-amd64-vagrant.json
  • 初始化虚拟机系统
    • 在资料库目录中执行vagrant up
    • 执行vagrant status检查是否正常运行
    • 使用完成后,执行 vagrant halt 关闭虚拟机,下次仍通过 vagrant up 重启虚拟机
    • 注意:若不再需要,或需重建,可用 vagrant destroy -f 清除

实验内容

检查系统配置

  1. 处理器信息
vagrant@ubuntu-bionic:~$ lscpu
Architecture:        x86_64 # 这些内容各机不完全一样
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              2      # CPU核数 (虚拟机只使用部分主机处理器核)
On-line CPU(s) list: 0,1
...
L1d cache:           32K    # L1数据缓存
L1i cache:           32K    # L1指令缓存
L2 cache:            256K   # L2缓存
L3 cache:            6144K  # L3缓存
NUMA node0 CPU(s):   0,1
...
  1. 主存储器信息
vagrant@ubuntu-bionic:~$ free -h
              total        used        free      shared  buff/cache   available
Mem:           985M         76M        726M        588K        181M        771M
Swap:            0B          0B          0B

注意:在 Vagrantfile 里面已经设置虚拟机内存为 1GB。

  1. 外部存储器信息
vagrant@ubuntu-bionic:~$ lsblk
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda      8:0    0  10G  0 disk
└─sda1   8:1    0  10G  0 part /
sdb      8:16   0  10M  0 disk
vagrant@ubuntu-bionic:~$ df -h -x tmpfs
Filesystem      Size  Used Avail Use% Mounted on
udev            481M     0  481M   0% /dev
/dev/sda1       9.7G  1.7G  8.1G  17% /
vagrant         237G  175G   62G  74% /vagrant
vagrant_data    237G  175G   62G  74% /vagrant_data
vagrant@ubuntu-bionic:~$

Lab1-存储系统

实验准备

如果是Linux环境,解压缩 cachelab-handout.tar.gz 即可。

如果是Windows环境则需要使用前面(Lab0)建立的虚拟机:

  1. 开启 Windows 命令行窗口,进入资料库目录,执行 vagrant up 开启实验用虚拟机;
  2. 执行 vagrant ssh 进入虚拟机,可以看到 /vagrant_data 目录,内容对应于主机 data 目录,可以先在主机里将 cachelab-handout.tar.gz 放进去;
  3. 在虚拟机内,进入 /vagrant_data 目录解压缩 cachelab-handout.tar.gz 文件,可执行如下命令
    • cd /vagrant_data && tar xzvf cachelab-handout.tar.gz

实验内容

  1. 缓存仿真器实现
  2. 矩阵转置(可选)

参考

Lab2-输入输出系统

实验准备

建议使用虚拟机进行实验

  1. 执行 vagrant up 开启实验用虚拟机;
  2. 执行 vagrant ssh 进入虚拟机;
  3. 执行 cat /proc/mdstat 确认 mdadm 与 Linux 内核配置正常:
vagrant@ubuntu-bionic:~$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
unused devices: <none>
vagrant@ubuntu-bionic:~$

实验内容

  1. 创建几个loop设备
  2. 使用mdadm配置软阵列

参考