• 深入理解计算机系统【一】


      引用与查看了:

       https://www.cnblogs.com/ylhwx/p/7801058.html

      https://blog.csdn.net/strliu/article/details/7906017

      这周开始看深入理解计算机系统,也是计算机4大基础书中最后一本我没看过的了。

      周日在办公室里听着歌写读书笔记,也是别有一番滋味了。

      刘大给了3个题目

       1. 信息=位+上下文, 什么是上下文?  工作中有哪些例子

       2.  RISC指令集和CISC指令集有什么区别,它们的典型CPU有哪些?   

       3. 基于栈的"CPU"和基于寄存器的"CPU"有什么区别。

      一个个来吧,

      系统所有信息都是由位组成的,区分位表示不同的含义,就是上下文,上下文就是程序的运行环境。英文叫context;

      和语文中的上下文差不多,结合前后文,一句话有不同的意思吧。就像js和java中,有不同关键字?还看到个轮子哥解释,说上下文就是方法形参??

      --第二个问题

      RISC指令集是精简指令集计算机;CISC是复杂指令集计算机

      他们区别是不同CPU的设计理念和方法。

      CISC是用最少机器语言指令来完成所需的计算任务。这种架构会增加CPU结构的复杂和CPU工艺的要求,对编译器开发有利。到今天只有Intel及其兼容CPU还在使用这种架构。

      RISC的创造人发现,最经常使用的的80%指令,只占处理器指令系统的20%,又是典型的82法则啊。

      从硬件角度来看CISC处理的是不等长指令集,它必须对不等长指令进行分割,因此在执行单一指令的时候需要进行较多的处理工作。而RISC执行的是等长精简指令集,CPU在执行指令的时候速度较快且性能稳定。

      从软件角度来看,CISC运行的则是我们所熟识的DOS、Windows操作系统。而且它拥有65%以上的软件厂商代理为基于CISC体系结构的PC及其兼容机服务的,像赫赫有名的Microsoft就是其中大量的应用程序。而RISC在此方面却显得有些势单力薄。虽然在RISC上也可运行DOS、Windows,但是需要一个翻译过程,所以运行速度要慢许多。

      --三

      基于寄存器的虚拟机:
      1、使用堆栈来分配激活记录器
      2、基于寄存器代码免去了使用push和pop命令的麻烦,减少了每个函数的指令总数。
      3、代码尺寸和解码效率不如基于栈虚拟机,因为它包含操作数,所以指令大于基于堆栈的指令。但是基于寄存器产生更少的代码,所以总的代码数不会增加。
      4、寄存器虚拟机必须从操作指令中解码操作数,需要额外的解码操作。

      基于栈的虚拟机:
      1、代码必须使用这些指令来移动变量(即push和pop)
      2、代码尺寸小和解码效率会更高些
      3、堆栈虚拟机指令有隐含的操作数。

      --感悟

      确实,看了前面就有种很激动的感觉,这就是“程序员”应该必须掌握的东西吧!为了以后能在强制加班时说声 “我有事”而加油吧~

      

  • 相关阅读:
    linux重新编译内核
    无废话ubuntu 13.4w文件共享配置
    VB6关于判断模态窗体的问题
    在.NET中快速创建一个5GB、10GB或更大的空文件
    利用虚拟光驱实现 将WINDOWS文件供虚拟机中的UBUNTU共享
    论这场云盘大战,以及各网盘的优劣
    struts2 全局格式化,格式化时间,金钱,数字
    SQL SERVER 2000/2005/2008数据库数据迁移到Oracle 10G细述
    女攻城师走在移动互联网道路的这两年
    用正则匹配多行文本
  • 原文地址:https://www.cnblogs.com/weixin-tt/p/11442782.html
Copyright © 2020-2023  润新知