Monthly Archives: August 2010

计算机系统概论 #3

5. ISA

  1. ISA概述
    1. ISA向以机器语言编程的程序员提供有关控制机器所需要的所有必要信息,即ISA是软件命令和硬件执行体之间的接口。
    2. ISA给出了内存组织方式,寄存器组,指令集(包括操作吗、数据类型、寻址模式)等信息。
    3. 所有指令可以分为三类:运算,数据搬移,控制
  2. 数据搬移指令
    1. PC相对寻址:地址生成位代表的是相对当前PC的偏移量。(将地址生成位做16位扩展,然后与更新后的PC值相加)
    2. 间接寻址:采用和PC相对寻址一样的方法计算出一个地址,但该地址中存放的不是数据,而是另外一个地址,后者才是load或store操作数的真正地址。这种方式下可寻址整个地址空间。
    3. 基址偏移寻址:有基址寄存器和立即数偏移量。可寻址范围是任意的。
    4. 立即数寻址(LEA,load effective address):增量PC与立即数相加,结果装入DR。
  3. 控制指令:循环控制的两种方法
    1. 采用计数器方法
    2. 采用“哨兵法”,在未知循环次数的情况下

最近状态不好

状态不好首先表现在工作上。工作效率下降,积极性有所降低,也和最近不太忙有关。自制力不够强大到在任何时刻都能克制自己堕落的欲望。不过,偶尔“堕落”下也是不错的调剂,太堕落了就不好了。现在就处在“偶尔”堕落和太堕落的临界点上,所以我要赶紧克制住。

另外状态不好表现在身体上。最近作息时间又恢复到工作之前的状态了,比如现在是凌晨02:16:49,我还没有睡觉,一般早上都是9:15到9:30之间起来,导致到公司的时间就在10点左右,而且这种情况持续了挺长时间了。间接导致工作效率下降,因为精神状态不佳。近来也经常出现头晕的现象,可能跟吃的少有关;视力也开始下降,眼睛看屏幕时间长了感觉很模糊。

最后,学习状态一直没能提高。知道有很多东西要看,但还是有些浮躁,什么都想看看。虽说有个大的努力方向,但是到底需要先做什么再做什么,还没有一个明确的线路。

TODO:

  1. 调整作息时间
  2. 提高工作效率,集中注意力,不重要的事先放在一边
  3. 努力克制堕落的欲望,还要坚持看书

OT:今天换了Blog的Banner,照片是07年毕业旅行在北戴河海边的一个背影,截了一个大小合适的图。这张照片的感觉我很喜欢

又开始向往骑行了

本来经过上一次邓庄/十三陵的“折磨”,对骑行有点“怕”了,主要是八达岭高速辅路一路上的烟尘和汽车尾气,还有高温,都让我对骑行有些恐惧。但是最近几天看到论坛上一直在讨论青海湖,还有一些人时不时上传一些西藏、青海的照片,又让我开始向往骑行了。尤其是看到kd好像已经出发去青海了!

照片里的西藏云很低,好像就在头顶,伸手就能够到,远处的雪山也很好看;青海湖真是看不到边,而且环湖公路感觉也很干净,尤其是大片大片的黄色野花、蓝天和草原,真是太向往了,完全没有在城市里骑车的这种恐惧(真是受够了尾气了)。

SmallR和hzm都打算明年7月去青海,圈圈同学在青海也许还能尽点地主之谊之类的。西藏暂时不想了,倒是很想去青海湖转转,从来没看过像海一样的湖(虽然在地图上看还是很小),也没见过那么大片的野花,还有在大片草原上吃草的牛羊。所以我也想下决心败一辆车了,锻炼一年,争取明年7月求大牛带,去青海得瑟!

(明年8月是我爸60大寿了,也许可以从青海带回些特殊的寿礼,先yy下)

计算机系统概论 #2

4. 冯.诺伊曼模型

  1. 基本部件
    1. 计算机运行需要两个前提:
      1. 任务描述:描述计算机所要完成的任务,以程序方式表述;
      2. 计算机本身的运行能力,是任务的具体执行者
    2. 冯.诺伊曼模型包括5个组成部分:
      1. 内存
      2. 处理单元
      3. 输入
      4. 输出
      5. 控制单元
    3. 核心思想:程序和数据都是以bit流的方式存放在计算机内存中,程序在控制单元的控制下,依次完成指令的读取和执行。
  2. 指令处理
    1. 指令是计算执行的最小单位。指令本身又由操作码和操作数两部分组成。
    2. 一个指令周期的6个节拍:
      1. 取指令,从内存中读取下一条待执行的指令,并将其装入控制单元的指令寄存器IR;
      2. 译码,分析、检查指令类型,并确定对应的微结构操作细节;
      3. 地址计算,如果指令执行时存在地址计算操作,则在此节拍完成
      4. 取操作数,读取指令处理所需的源操作数;
      5. 执行,执行指令,不同的指令操作也不同;
      6. 存储结果,将计算结果写入目的寄存器。

计算机系统概论 #1

  1. 欢迎阅读本书
    1. 两个理念:“抽象”,“不要对硬件和软件做任何区分”
      1. 抽象:
        1. 应该将每个子系统都看作是现成的、可靠的,仅当整个系统不工作的时候才去深入研究子系统
        2. 抽象的层次越高越好,而且它与工作效率成正比。
        3. 忽略抽象之下的细节。
      2. 不管职业取向是硬件还是软件,两者都懂必然会使你更强。
    2. 通用计算设备
      1. 计算机科学家相信“任何事情都是可计算的”
      2. 一台计算机和一个通用图灵机之间,它们所能完成的事情是一样的。只要给定计算任务的描述及相关数据,都能计算出结果。
      3. 计算机或图灵机能够计算任何可计算的任务,因为它们都是可编程的。
    3. 从问题描述到电子运算(7个层次的转换)
      1. 问题。描述问题采用自然语言,但是自然语言具有二义性,不适合作为计算机语言。
      2. 算法。算法具有确定性,可计算性,有限性。
      3. 程序。不存在二义性
      4. 指令集结构(ISA),是程序和计算机硬件之间接口的一个完整定义
      5. 微结构。对同一ISA的不同实现组织。
      6. 逻辑电路。微结构最终是由一组简单的逻辑电路实现的。
      7. 器件。

设置synergy开机自动启动

没想到关于synergy写了一个系列了,先把之前的列出来吧

1. 在Debian下用synergy共享鼠标键盘
2. 手工配置synergy共享鼠标键盘
3. 设置synergy快捷键,加速屏幕间的切换

这次要折腾的是让synergyc(也就是synergy的client)开机自动启动(在没有用户在X下登录的情况下)。下面又要开始讲长长的缘由了。

买了一个二手显示器,之前买的二手台式机就能用上了。给机器装上了SLED 11。因为我的桌子小,只够放下一套鼠标键盘的,而且这个二手台式机基本打算用来做build system的,所以鼠标键盘用的很少。但是不用还是不行的。虽然ssh可以完成一些工作,但是有些时候还是直接鼠标键盘操作会方便很多。所以我的打算是让synergyc开机自动启动,这样二手台式机的鼠标键盘就可以不用了。

但是synergy启动是需要X环境的,在rc.local或者bash_profile/bashrc中启动很可能不成功。如果在~/.xsession中启动则需要该用户在X下登录,这样有不得不用到本身的鼠标键盘。有问题就google。这里要再次赞叹下synergy,不光软件写的很强大,文档也相当强大,经过一番搜索,最终的答案还是在它自己的官方文档上找到了,而且是一个专门的autostart文档。建议看英文文档,说的很清晰。我这里就简单记录下我是怎么折腾的。

根据文档,需要修改系统中的三个脚本,分别是X的init脚本,startup脚本和session脚本。我在二手台式机上装的是SLED11,默认用的是xdm,所以这三个脚本是

/etc/X11/xdm/Xsetup
/etc/X11/xdm/Xstartup
/etc/X11/xdm/Xsession

如果是gdm就把目录换成gdm。其他的一些说明看文档吧。在第一个脚本中靠前的位置(因为这三个脚本很可能没有执行到最后就会退出,如果把自己的命令放在脚本最后很可能不会被执行。这也是在synergy的文档里提到的,作者的工作很细致啊)添加(命令的位置和ip地址替换成自己的,下同)

/usr/bin/killall synergyc
sleep 1
/usr/local/bin/synergyc 192.168.1.xxx

在第二个脚本中添加

/usr/bin/killall synergyc
sleep 1

在第三个脚本中添加

/usr/bin/killall synergyc
sleep 1
/usr/local/bin/synergyc 192.168.1.xxx

如果想启动的是synergys,那么就把上边的命令做相应的替换。但是要注意,这些脚本是用root执行的,运行synergys的时候会首先找/root/.synergy.conf然后是/etc/synergy.conf,确保文件存在。如果想指定配置文件就用synergys –config /path/to/configfile

配置完成后我重启了下机器(应该重启X也是可以的吧),很幸运,配置一次成功了。这下可以用一套鼠标键盘完全控制三台电脑了(包括我的笔记本)!

Monthly pic 2010-07

七月份活动还是挺多的,昌平的自虐骑行,生日party等。就是天太热了。

七月初的时候骑行昌平、十三陵,路过西关环岛。

昌平校区的校门变得如此宏伟,害得我怎么也没找到地方。找了半天,怎么也找不到原来的小胡同校门的照片了。

教学楼的后面,当时经常在这里打羽毛球,羽毛球基础就是在这里和政法的体育馆里打下的。现在这里已经变成这个样子了。

当时政法有一个联谊宿舍,所以经常过去打球,12块钱一小时,玩的很开心。

怀旧完毕。实在没衣服穿了,淘宝上买了四件T恤。

又买了一个二手显示器,配那个二手机箱,500元,19寸普屏。系统分别是Fedora 13, SLES11和Debian Sid。

得到一个小奖励。哦,这是六月的事了。

再就是心有灵犀同学的生日活动了,之前已经上过照片了。