好久不见大家,离上一次写博客的时间已经很长了。当然理由也有很多,首当其冲必须是自己本来也比较懒,而且最近也离开了cocos2dx这个引擎,开始捣鼓Android应用开发的东西,Android开发相比cocos2dx这个引擎呢,有经验的人比比皆是,每当我有一些新的心得或者想法,在其他人的博客都已经能够找到,所以我就不献丑了,以免误导大家什么的。

当然,还有重要的原因是也要好好学习嘛。这学期有一门课叫计算机组成与设计,有一个带感的简称叫COD。先说这门课我们用的书是计算机科学丛书:计算机组成与设计:硬件/软件接口(原书第4版)。首先肯定要推荐一下这本书,因为的确是好书,内容讲述得细致而且清晰,作者也是知名大学的教授,而且是RISC和RAID领域上比较权威的人士。感觉计算机组成原理这方面需要补一下的话可以入手这本书了。当然看我一下的内容也可以。

其实我发现在csdn上这种博文还是比较少的。我也权当假期后的复习罢了。(= =所以我就来开坑了)

这本书主要内容是讲述计算机从硬件到软件中间层的接口,主要涉及到指令(instructions),算术逻辑单元(arithmetic logic unit / ALU),中央处理器(CPU),内存层次结构,IO和多核多处理器与集群(最后这一项老师讲得不详细,而且这也是一项比较深入的话题,所以我也不怎么说了),从分章开来,虽说是两者接口,但是还是比较靠近硬件一方

这样既然是序章,惯例来说已经是从介绍讲起

一、程序分层

1.高级语言 把现实抽象的语言,其实就是指C/C++, Java, Python等语言,书中也没有再细分

按照我自己的理解,其实可以分为python,php,perl等脚本语言,这种通常是通过解释器进行运行时解析

还有半编译语言,在虚拟机上运行,这层包括了Java, Objctive-C和 C#

最后还有C/C++这类通过汇编器先转化成汇编语言,再翻译成机器语言的

2.汇编语言 汇编其实就是计算机操作的助记符,通常只能执行加减乘除,逻辑与或非,存储读取这种基本操作。

3.硬件表示 汇编最终会转变成硬件表示,其实就是01串,这种01串能够被硬件读取而识别,然后计算机根据指令执行操作

二、性能

性能问题其实是到现在为止都在热烈讨论的问题,像是淘宝双11和铁道部12306等等,都是关于性能上的问题。不过在这里,我们讨论的是更低层次的问题

从硬件上来说,影响性能可以分成四个方面,我们的分析最终都是归结于硬件层面的

1.算法。算法能够影响操作数,一个优秀的算法可以让每秒内执行的操作指数减少

2.架构。这里讲的是硬件的架构,称为ISA(instruction set architect)。不同的ISA会导致相同程序的不同指令数(因为翻译的方法会不同,就像linux中的gcc和windows中的vc)

3.处理器和内存。这个直接影响执行效率

4.IO系统。

这里并没有说哪个要素是最关键的,这通常取决于实际的应用场所,需要具体的分析问题,找出瓶颈所在的地方,才能更好优化性能

这个章节就差不多了,其实介绍的内容和以后记录的内容差得还是比较多的。介绍的原因主要是通过大家平时接触比较多的高层内容往下延伸,做好铺垫而已

计算机组成与设计 笔记(一)相关推荐

  1. 龙芯杯学习笔记之计算机组成和设计(硬件/软件接口)

    另一篇学习笔记的地址--(13条消息) 龙芯杯学习笔记之自己动手写CPU_qq_33880925的博客-CSDN博客 本篇博客目前尚未写完,看完本篇博客目前已写的内容后(看完第二部分)对MIPS有初步 ...

  2. 《计算机组成与设计(ARM版)》读书笔记-第二章指令2

    文章目录 2.9 人机交互 2.10 LEGv8中的宽立即数和地址的寻址 2.10.1 宽立即数 2.10.2 分支中的寻址 2.10.3 LEGv8寻址模式总结 2.10.4 机器语言解码 2.11 ...

  3. 计算机组成与设计--软硬件接口 RISC-V版 读书笔记 0

    由于我从网上弄到的是英文版,所以打算硬啃,也当锻炼自己的英文能力了,如果我关于书的理解有什么错误,各位路过的读者欢迎指出 Preface 序言 About this book 关于本书 We beli ...

  4. 《计算机组成与设计:硬件、软件接口》阅读笔记

    分享一些初次阅读时的记录,本文原是导图,我直接粘在了这 可读性一般,需要导图的朋友可以私,希望可以帮到大家快速搭起这本书的知识结构. 计算机组成与设计:硬件.软件接口####计算机概要与技术**引言* ...

  5. 【计算机组成与设计学习笔记】(二)

    一.Verilog HDL Verilog HDL(Hardware Description Language)是一种设计硬件电路的语言,由IEEE完成了对其标准化的工作. Verilog HDL总体 ...

  6. 【计算机系统设计】实践笔记(2)数据通路构建:第一类R型指令分析(2)

    待办事项 时钟频率高,取指周期长,远大于执行周期,如何处理? 不可综合逻辑的处理 接上一篇 [计算机系统设计]实践笔记(2)数据通路构建:第一类R型指令分析(1) 8.2 ALU运算器 `timesc ...

  7. 【计算机系统设计】实践笔记(2)数据通路构建:第一类R型指令分析(1)

    0 回顾 上一次实践笔记(0)我们实现了一个最简单的,能够每个上升沿+4的PC. 我们最需要关注的就是器件功能的独立性,避免内外功能混杂,同时一定要注意脑中有电路(RTL级描述的抽象电路而不是实际的门 ...

  8. 2010计算机知识点总结,2010年全国职称计算机考试:知识点笔记第一章

    第一章 信息技术与计算机文化 1. 信息技术与计算机 1) 信息技术的概念:利用科学的原理.方法及先进的工具和手段,有效地开发和利用信息资源的技术体系.包括微电子技术.计算机技术.软件技术.通信技术等 ...

  9. 计算机原理考研题库,2022考研853计算机专业基础综合《计算机组成原理》复习笔记及考研真题题库.pdf...

    2022考研 853计算机专业基础综合 <计算机组成原理>复习笔记及考 研真题题库 计算机系统概论 一.计算机的分类 1电子模拟计算机 模拟计算机的特点是数值由连续量来表示,运算过程也是连 ...

  10. Springboot快递管理系统1k61h计算机毕业设计-课程设计-期末作业-毕设程序代做

    Springboot快递管理系统1k61h计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot快递管理系统1k61h计算机毕业设计-课程设计-期末作业-毕设程序代做 ...

最新文章

  1. 【uva10829-求形如UVU的串的个数】后缀数组+rmq or 直接for水过
  2. Virtio:针对 Linux 的 I/O 虚拟化框架
  3. tabBar的图标不被系统渲染
  4. linux vim编辑器的用法
  5. 今日推荐:如何设计一个支撑数亿用户的系统
  6. 发布服务器 bugzilla, streber 数据库备份方案
  7. android开发之播放音乐的方法
  8. office另存为pdf的加载项_你可能需要用到的office转换技巧
  9. 六年级下计算机课ppt课件ppt课件,小学信息技术浙摄影版六年级上册第1课 走进计算机说课ppt课件...
  10. dos命令如何查看计算机信息,电脑DOS命令查看进程详细信息方法图解
  11. vc中控件字体的设置(转)
  12. Java程序编译及打包
  13. 程序员要实现财富自由,“出海”这条路该怎么走?
  14. android scheme测试,android URLScheme的设置、调试和捕获
  15. android配置jni cmake,Android JNI之青春期 Cmake(android studio)
  16. 百练_1664:放苹果_递归
  17. 设计模式Java语言实现之策略模式
  18. python输出26个大写字母_python 一句话输出26个英文字母
  19. ffmpeg中文文档
  20. 软件测试之计算机基础

热门文章

  1. 路由器刷固件——斐讯路由器FIR300M刷OpenWrt固件教程
  2. 下载并安装 Azure Data Studio
  3. python连接sap接口_python 连接SAP的方法
  4. 网页无法正常显示Lato字体,绕路而行
  5. 安全体系(三)——SHA1算法详解
  6. Altium Designer使用-----LOGO脚本的使用
  7. 【Registration of 3D Point Clouds with Low Overlap】
  8. VHDL 四选一数据选择器
  9. 2021全国大学生电子设计大赛题目汇总
  10. Linux设置bypass网卡,Linux pwn入门教程(7)——PIE与bypass思路