zoukankan      html  css  js  c++  java
  • 深入理解计算机系统【一】

      引用与查看了:

       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、堆栈虚拟机指令有隐含的操作数。

      --感悟

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

      

  • 相关阅读:
    Android应用之个人应用软件开发(2)【签到功能和记账】
    抽象类判断日期能否被2整除
    Android应用之个人应用软件开发(3)【SQLite数据库及理财功能实现】
    移动终端网页游戏移植研发框架【服务器及客户端交互处理】
    DirectX学习资料
    列宁的故事
    Managed DirectX +C# 开发(入门篇)(七)
    Managed DirectX +C# 开发(入门篇)(六)
    Managed DirectX +C# 开发(入门篇)(三)
    C#不同窗口类中的变量相互调用
  • 原文地址:https://www.cnblogs.com/weixin-tt/p/11442782.html
Copyright © 2011-2022 走看看