计算机组成原理

陈付龙,孙道清,沈展,徐晟,罗乐,陈士县,周武

目录

  • 1 前言
    • 1.1 课程简介
    • 1.2 说课
    • 1.3 预备学习
  • 2 计算机系统概论
    • 2.1 计算机的发展历程
    • 2.2 计算机系统的基本组成
    • 2.3 计算机系统的层次结构
    • 2.4 程序开发与执行过程
    • 2.5 计算机系统性能评价
    • 2.6 本章小结
  • 3 数据的机器级表示
    • 3.1 数制和编码
    • 3.2 定点数的表示
    • 3.3 浮点数的表示
    • 3.4 十进制数的表示
    • 3.5 非数值数据的编码表示
    • 3.6 数据的宽度和存储
    • 3.7 数据的校验码
    • 3.8 本章小结
  • 4 运算方法和运算部件
    • 4.1 高级语言和机器指令中的运算
    • 4.2 基本运算部件
    • 4.3 定点数运算
    • 4.4 浮点数运算
    • 4.5 运算部件的组成
  • 5 存储器分层体系结构
    • 5.1 存储器概述和RAM芯片
    • 5.2 主存与CPU的连接及其读写操作
    • 5.3 高速缓冲存储器
    • 5.4 虚拟存储器
    • 5.5 本章小结
  • 6 指令系统
    • 6.1 指令格式设计
    • 6.2 指令系统设计
    • 6.3 指令系统实例
    • 6.4 程序的指令集表示
    • 6.5 本章小结
  • 7 中央处理器
    • 7.1 CPU概述
    • 7.2 单周期处理器设计
    • 7.3 多周期处理器设计
    • 7.4 微程序控制器设计
    • 7.5 异常和中断处理
    • 7.6 本章小结
  • 8 指令流水线
    • 8.1 指令流水线概述
    • 8.2 流水线数据通路和控制逻辑
    • 8.3 流水线冒险及其处理
    • 8.4 高级流水线技术
    • 8.5 本章小结
  • 9 互连及输入 输出组织
    • 9.1 外设概述
    • 9.2 外设与CPU、主存的互连
    • 9.3 I/O接口
    • 9.4 I/O数据传送方式
    • 9.5 I/O子系统
    • 9.6 本章小结
  • 10 复习
    • 10.1 知识要点
    • 10.2 2013年试卷
    • 10.3 2014年试卷
    • 10.4 2015年试卷
    • 10.5 2016年试卷
    • 10.6 2017年试卷
    • 10.7 2018年试卷
    • 10.8 2019年试卷
    • 10.9 2020年考试
    • 10.10 2021年试卷
    • 10.11 2022年试卷
    • 10.12 2023年试卷
    • 10.13 2024年试卷
  • 11 实验
    • 11.1 实验一:Xilinx Nexys4开发板使用(选做)
    • 11.2 实验二:数据的机器级表示
    • 11.3 实验三:定点加减法实现
    • 11.4 实验四:定点乘除法实现(选做)
    • 11.5 实验五:逻辑运算与移位运算(选做)
    • 11.6 实验六:ALU设计
    • 11.7 实验七:浮点加减法(选做)
    • 11.8 实验八:浮点乘法和除法(选做)
    • 11.9 实验九:浮点运算单元(选做)
    • 11.10 实验十:寄存器设计
    • 11.11 实验十一:RAM和ROM设计
    • 11.12 实验十二:Cache设计 (选做)
    • 11.13 实验十三:MIPS汇编程序调试
    • 11.14 实验十四:单周期MIPS微处理器设计
    • 11.15 实验十五:简单多周期MIPS微处理器设计(选做)
    • 11.16 实验十六:复杂多周期MIPS微处理器设计(选做)
    • 11.17 实验十七:流水线MIPS微处理器设计(选做)
程序开发与执行过程

在线学习

【动画演示】计算机执行程序的过程

扩展学习

图灵机

https://blog.csdn.net/qq_37834488/article/details/89074095

ada

(计算机程序设计语言)


Ada,是一种程序设计语言。源于美国军方的一个计划,旨在整合美军事系统中运行着上百种不同的程序设计语言。其命名是为了纪念世界上第一位程序员阿达·洛芙莱斯。Ada不仅体现了许多现代软件的开发原理,而且将这些原理付诸实现。同时,Ada语言的使用可大大改善软件系统的清晰性、可靠性、有效性、可维护性。Ada是现有的语言中无与伦比的一种大型通用程序设计语言,它是现代计算机语言的成功代表,集中反映了程序语言研究的成果。Ada的出现,标志着软件工程成功地进入了国家和国际的规模。在一定意义上说,Ada打破了约翰·冯·诺依曼思维模式的桎梏,连同Ada的支持环境(APSE)一起,形成了新一派的Ada文化。它是迄今为止最复杂、最完备的软件工具。Ada曾是美国国防部指定唯一可用于军用系统开发的语言。

Ada语法,可透过执行Hello World程序来体现。此程序能轻易地以GCC辖下的GNAT编译器执行。

with Ada.Text_IO; use Ada.Text_IO;

procedure Hello is 

begin 

  Put_Line ("Hello, world!"); 

end Hello;

奥古斯塔·阿达·金,勒芙蕾丝伯爵夫人(Augusta Ada King, Countess of Lovelace,1815年12月10日-1852年11月27日),原名奥古斯塔·阿达·拜伦(Augusta Ada Byron),通称阿达·洛芙莱斯(Ada Lovelace),是著名英国诗人拜伦之女,数学家。计算机程序创始人,建立了循环和子程序概念。

为计算程序拟定“算法”,写作的第一份“程序设计流程图”,被珍视为“第一位给计算机写程序的人”。为了纪念阿达·奥古斯塔对现代电脑与软件工程所产生的重大影响,美国国防部将耗费巨资、历时近20年研制成功的高级程序语言命名为Ada语言,它被公认为是第四代计算机语言的主要代表。

https://www.douban.com/note/251781292/

  阿达·奥古斯塔,19世纪诗人拜伦的女儿,数学家。穿孔机程序创始人,建立了循环和子程序概念。为计算程序拟定“算法”,写作的第一份“程序设计流程图”,被珍视为“第一个给计算机写程序的人”。

     




   1815年生于伦敦,她是英国著名诗人拜伦(L.Byron)的女儿。因父母婚姻破裂,出生5星期后就一直跟随母亲生活。母亲安娜·密尔班克(A.Millbanke)是位业余数学爱好者,阿达没有继承父亲诗一般的浪漫热情,却继承了母亲的数学才能。

  阿达19岁嫁给了威廉·洛甫雷斯伯爵,因此,史书也称她为洛甫雷斯伯爵夫人(Lady Lovelace)。由于巴贝奇晚年因喉疾几乎不能说话,介绍分析机的文字主要由阿达替他完成。阿达的生命是短暂的,她对计算机的预见超前了整整一个世纪。阿达早逝,年仅36岁,与她父亲拜伦相似。根据她的遗愿,她被葬于诺丁汉郡其父亲身边。

       




  阿达设计了巴贝奇分析机上解伯努利方程的一个程序,并证明当时的19世纪计算机狂人巴贝奇的分析器可以用于许多问题的求解。她甚至还建立了循环和子程序的概念。由于她在程序设计上的开创性工作,Ada Lovelace被称为世界上第一位程序员。当时的阿达甚至不顾自己已是三个孩子的母亲,坚定地投身于分析机研究,成为巴贝奇的合作伙伴。在1843年发表的一篇论文里,阿达认为机器今后有可能被用来创作复杂的音乐、制图和在科学研究中运用,这在当时确是十分大胆的预见。以现在的观点看,阿达首先为计算拟定了“算法”,然后写作了一份“程序设计流程图”。这份珍贵的规划,被人们视为“第一件计算机程序”。

  美国国防部据说花了10年的时间,把所需软件的全部功能混合在一种计算机语言中,希望它能成为军方数千种电脑的标准。1981年,这种语言被正式命名为ADA(阿达)语言,以纪念这位“世界上第一位软件工程师”。