《计算机组成与设计》笔记 01 - 计算机概要与技术

1.1 引言

  • 计算应用的分类
    • 个人计算机
    • 服务器
    • 嵌入式计算机
  • 后 PC 时代的计算应用分类
    • 个人移动设备
    • 云计算
    • 软件即服务
  • 本书各章将贯穿性能问题,作为计算机系统的设计目标和衡量方法,影响着几十年来计算机技术的发展。影响程序性能的因素包括以下几点:算法的有效性,构建程序并翻译为机器指令的软件系统,执行机器指令的有效性。其中最后一条是本书关注的重点,它将被分解为几个方面逐步讲解。

1.2 计算机系统结构中的 8 个伟大思想

  • 面向摩尔定律的设计
  • 使用抽象简化设计
  • 着重优化大概率事件
  • 通过并行提高性能
  • 通过流水线提高性能
  • 通过预测提高性能
  • 存储器层次
  • 通过冗余提高可靠性

1.3 程序概念入门

  • 使用高级编程语言的优点
    • 可以使程序员以更自然的语言来思考问题
    • 提高程序员的生产率
    • 提高程序对于不同体系结构硬件的可移植性

1.4 硬件概念入门

  • 计算机硬件系统 4 大功能:输入数据、输出数据、处理数据、存储数据。
  • 数据通路:处理器中执行算术操作的部分。
  • 控制器:处理器中根据程序的指令指挥数据通路、存储器和 I/O 设备的部分。

1.5 处理器和存储器制造技术

  • 晶体管:一种由电信号控制的简单开关。
  • 晶圆:厚度不超过 0.1 英寸的硅锭片,用来制造芯片。

1.6 性能

  • 执行时间是唯一有效且不可推翻的性能度量方法。
  • CPI(clock cycle per instruction):执行每条指令所需的时钟周期数的平均值。
  • 一个程序的 CPU 时钟周期数 = 程序的指令数 x CPI
  • 一个程序的 CPU 执行时间 = 一个程序的 CPU 时钟周期数 x 时钟周期时间
  • 一个程序的 CPU 执行时间 = 一个程序的 CPU 时钟周期数 / 时钟频率
  • 一个程序的 CPU 执行时间 = 一个程序的指令数 x CPI x 时钟周期时间
  • 一个程序的 CPU 执行时间 = 一个程序的指令数 x CPI / 时钟频率

1.7 功耗墙

  • 动态能耗:晶体管开关(状态翻转)过程中损耗的能耗。
  • 静态能耗:维持晶体管状态时的泄露电流造成的损耗。

1.8 沧海巨变:从单处理器向多处理器转变

  • 多核处理器的设计提高了处理器的整体性能,但也给程序开发带来了新的挑战。

1.9 实例:Intel Core i7 基准

1.10 谬误与陷阱

  • 陷阱:在改进计算机的某个方面时期望总性能的提高与改进大小成正比。
    • 要注意改进的大小,在计算机运算中所占的比例。
  • 谬误:利用率低的计算机功耗低。
  • 谬误:面向性能的设计和面向能量效率的设计具有不相关的目标。
  • 陷阱:用性能公式的一个子集去度量性能。

1.11 本章小结

1.12 历史观点和拓展阅读

1.13 练习题

廖杰良 - 2019-6-18

已标记关键词 清除标记
相关推荐
<p> <strong><span style="font-size:24px;">课程简介:</span></strong><br /> <span style="font-size:18px;">历经半个多月的时间,</span><span style="font-size:18px;">Debug</span><span style="font-size:18px;">亲自撸的 “企业员工角色权限管理平台” 终于完成了。正如字面意思,本课程讲解的是一个真正意义上的、企业级的项目实战,主要介绍了企业级应用系统中后端应用权限的管理,其中主要涵盖了六大核心业务模块、十几张数据库表。</span><span></span> </p> <p> <span style="font-size:18px;">其中的核心业务模块主要包括用户模块、部门模块、岗位模块、角色模块、菜单模块和系统日志模块;与此同时,</span><span style="font-size:18px;">Debug</span><span style="font-size:18px;">还亲自撸了额外的附属模块,包括字典管理模块、商品分类模块以及考勤管理模块等等,主要是为了更好地巩固相应的技术栈以及企业应用系统业务模块的开发流程!</span><span></span> </p> <p> <br /> </p> <p> <span style="font-size:24px;"><strong>核心技术栈列表</strong></span><span style="font-size:24px;"><strong>:</strong></span> </p> <p> <br /> </p> <p> <span style="font-size:18px;">值得介绍的是,本课程在技术栈层面涵盖了前端和后端的大部分常用技术,包括</span><span style="font-size:18px;">Spring Boot</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Spring MVC</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Mybatis</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Mybatis-Plus</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Shiro(</span><span style="font-size:18px;">身份认证与资源授权跟会话等等</span><span style="font-size:18px;">)</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Spring AOP</span><span style="font-size:18px;">、防止</span><span style="font-size:18px;">XSS</span><span style="font-size:18px;">攻击、防止</span><span style="font-size:18px;">SQL</span><span style="font-size:18px;">注入攻击、过滤器</span><span style="font-size:18px;">Filter</span><span style="font-size:18px;">、验证码</span><span style="font-size:18px;">Kaptcha</span><span style="font-size:18px;">、热部署插件</span><span style="font-size:18px;">Devtools</span><span style="font-size:18px;">、</span><span style="font-size:18px;">POI</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Vue</span><span style="font-size:18px;">、</span><span style="font-size:18px;">LayUI</span><span style="font-size:18px;">、</span><span style="font-size:18px;">ElementUI</span><span style="font-size:18px;">、</span><span style="font-size:18px;">JQuery</span><span style="font-size:18px;">、</span><span style="font-size:18px;">HTML</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Bootstrap</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Freemarker</span><span style="font-size:18px;">、一键打包部署运行工具</span><span style="font-size:18px;">Wagon</span><span style="font-size:18px;">等等,如下图所示:</span><span></span> </p> <img src="https://img-bss.csdn.net/201908070402564453.png" alt="" /> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p> <p> <span style="font-size:24px;">课程内容与收益</span><span style="font-size:24px;">:</span><span></span> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070403452052.png" alt="" /> </p> <p> <span style="font-size:18px;">总的来说,</span><span style="font-size:18px;">本课程是一门具有很强实践性质的“项目实战”课程,即“</span><span style="font-size:18px;">企业应用员工角色权限管理平台</span><span style="font-size:18px;">”,主要介绍了当前企业级应用系统中员工、部门、岗位、角色、权限、菜单以及其他实体模块的管理;其中,还重点讲解了如何基于</span><span style="font-size:18px;">Shiro</span><span style="font-size:18px;">的资源授权实现员工</span><span style="font-size:18px;">-</span><span style="font-size:18px;">角色</span><span style="font-size:18px;">-</span><span style="font-size:18px;">操作权限、员工</span><span style="font-size:18px;">-</span><span style="font-size:18px;">角色</span><span style="font-size:18px;">-</span><span style="font-size:18px;">数据权限的管理;在课程的最后,还介绍了如何实现一键打包上传部署运行项目等等。如下图所示为本权限管理平台的数据库设计图:</span> </p> <p> <span></span> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070404285736.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p> <p> <span style="font-size:18px;"><strong>以下为项目整体的运行效果截图:</strong></span> <span></span> </p> <img src="https://img-bss.csdn.net/201908070404538119.png" alt="" /> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405002904.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405078322.png" alt="" /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405172638.png" alt="" /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405289855.png" alt="" /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405404509.png" alt="" /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405523495.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p> <p style="text-align:left;"> <span style="font-size:18px;">值得一提的是,在本课程中,</span><span style="font-size:18px;">Debug</span><span style="font-size:18px;">也向各位小伙伴介绍了如何在企业级应用系统业务模块的开发中,前端到后端再到数据库,最后再到服务器的上线部署运行等流程,如下图所示:</span><span></span> </p> <img src="https://img-bss.csdn.net/201908070406328884.png" alt="" /> <p> <br /> </p>
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页