一、计算机系统概论 1. 冯诺依曼计算机组成 主机(cpu+内存),外设(输入设备+输出设备+外存),总线(地址总线+数据总线+控制总线) 2. 计算机层次结构 应用程序-高级语言-汇编语言-操作系统-指令集架构层-微代码层-硬件逻辑层 3. 计算机 ...
比尔 盖茨在上世纪 年代说的 K ought to be enough for anyone 也就是 K内存对哪个人来说都够用了 那个年代,微软开发的还是DOS操作系统,程序员们还在绞尽脑汁,想要用好这极为有限的 K内存 而现在,我手头的Mac Book Pro已经是 G内存了,上升了一万倍还不止。 那比尔 盖茨这句话在当时也是完全的无稽之谈么 有没有哪怕一点点的道理呢 这一讲里,我就和你一起来 ...
2019-08-17 22:18 0 501 推荐指数:
一、计算机系统概论 1. 冯诺依曼计算机组成 主机(cpu+内存),外设(输入设备+输出设备+外存),总线(地址总线+数据总线+控制总线) 2. 计算机层次结构 应用程序-高级语言-汇编语言-操作系统-指令集架构层-微代码层-硬件逻辑层 3. 计算机 ...
把对应的不同文件内的代码段,合并到一起,成为最后的可执行文件 链接的方式,让我们在写代码的时候做到了“复用”。 同样的功能代码只要写一次,然后提供给很多不同的程序进行链接就行了。 “链接”其实有点儿像我们日常生活中的标准化、模块化生产。 有一个可以生产标准螺帽的生产线,就可生产很多不 ...
在上一篇中,我们谈到过 要提升计算机的性能,可以从上面这三方面着手。 通过指令数/CPI,好像都太难了。 因此工程师们,就在CPU上多放晶体管,不断提升CPU的时钟频率,让CPU更快,程序的执行时间就会缩短。 从1978年Intel发布的8086 CPU开始,计算机的主频 ...
既然程序最终都被变成了一条条机器码去执行,那为什么同一个程序,在同一台计算机上,在Linux下可以运行,而在Windows下却不行呢? 反过来,Windows上的程序在Linux上也是一样不能执行的 可是我们的CPU并没有换掉,它应该可以识别同样的指令呀!!! 如果你和我有同样的疑问 ...
CPU执行的也不只是一条指令,一般一个程序包含很多条指令 因为有if…else、for这样的条件和循环存在,这些指令也不会一路平直执行下去。 一个计算机程序是怎么被分解成一条条指令来执行的呢 1 CPU如何执行指令 CPU里差不多几百亿个晶体管 实际上,一条条计算机指令执行起来 ...
用Google搜异常信息,肯定都访问过Stack Overflow网站 全球最大的程序员问答网站,名字来自于一个常见的报错,就是栈溢出(stack overflow) 从函数调用开始,在计算机指令层面函数间的相互调用是怎么实现的,以及什么情况下会发生栈溢出 1 栈的意义 先看 ...
1、芯片是怎么工作的呢?电能供给给芯片,芯片中的一种电子元件晶振(也就是石英晶体)通电后产生震荡,震荡会产生频率稳定的脉冲信号。通常这是一种高频的脉冲信号,每秒可达百万次。然后,我们通过谐振效应发放这 ...
程序 = 算法 + 数据结构 对应到计算机的组成原理(硬件层面) 算法 --- 各种计算机指令 数据结构 --- 二进制数据 计算机用0/1组成的二进制,来表示所有信息 程序指令用到的机器码,是使用二进制表示的 存储在内存里面的字符串、整数、浮点数 ...