计算机系统基础 公开课 概述

概览

  • 从-2147483648<2147483647说起。

  -2147483648即INT32_MIN, 为什么字面值会“大于”INT32_MAX呢(并没有溢出);但如果赋值给int变量,能够获得正确的结果。

  归结于:字面值在机器中如何表示为二进制01值?变量在内存中是如何存在,如何运算,如何在函数中处理的?不同类型的变量互相赋值、强制类型转换会发生什么?格式化输出是如何实现的?

  • 初识冯诺依曼架构

    主存用于程序和数据;内存

    一个部件,用于逐条取出主存中的指令;控制器

    一个部件用于执行具体运算;CPU的ALU

    还要有输入程序和数据/输出运行结果的部件;I/O设备

    程序由指令构成,不同指令将对数据作不同处理。在程序启动后,自动地执行取指令和执行    指令的任务。

    每条指令由操作码和地址码两部分组成;

    了解PC(程序计数器),各种寄存器,控制器的概念。

  • 汇编语言与高级语言

  用助记符表示操作码/寄存器,用标号表示位置;

  LD/ST 助记符,存储单元与寄存器之间的内容通信;

  高级语言包括编译语言和解释语言;

  • ISA 指令集体系结构(指令系统

  如何使用硬件,可执行的指令的集合;

  微体系结构,即计算机的组成,包括存储器、控制器、运算器、输入输出、总线;

  ISA与微体系结构非常相关;但同一种ISA可以有不同的计算机组成,如乘法指令有不同的实现方式,如ALU(加、减、移位实现)或乘法器(抽象成完全相同的接口);

  •   我们想要知道的:
    • 数据的表示与运算
    • 各类语句(赋值、判断、循环)转换成相应的何种指令
    • 复杂数据类型的转换表示
    • 过程(函数)调用的转换表示
    • 链接和装载
    • 程序执行(存储器访问)
    • 程序异常和中断
    • 输入输出与系统调用

 

posted @ 2019-05-20 09:42  LiaoQian1996  阅读(97)  评论(0编辑  收藏  举报