代码编织梦想

0506

计算机组成原理

目标

  • 了解计算机发展史
  • 了解计算机硬件系统
  • 了解计算机软件系统
  • 重点掌握计算机语言进制转换

计算机发展史

发展阶段时间段逻辑元件速度(次/秒)内存外存
第一代1946-1957电子管几千-几万汞延迟线、磁鼓穿孔纸片、纸带
第二代1958-1964晶体管几万-几十万磁芯存储器磁带
第三代1964-1971中小规模集成电路几十万-几百万半导体存储器磁带、磁盘
第四代1972-现在大、超大规模集成电路上千万-万亿半导体存储器磁盘、光盘半导体存储器

特点

  • 第一代

    • 计算机体积超大
    • 耗电量超大
    • 使用机器语言
    • 纯人工操作没有操作系统
  • 第二代

    • 体积与功耗相比第一代小很多
    • 有了面向过程的操作语言FORTRAN
    • 出现了操作系统雏形
  • 第三代

    • 主要用于科学计算领域
    • 计算机语言开始发展
    • 出现了分时操作系统
  • 第四代

    • 微处理器、微型计算机、个人PC

    • 计算机语言高速发展

    • 操作系统:window、macOS、Linux、Android、HarmonyOS

硬件发展史

  • 1947年,贝尔实验室,发明了“晶体管”
  • 1955年,肖克利在硅谷创建肖克利实验室股份有限
  • 1957年,八叛徒(traitorous eight)创立仙童半导体公司
  • 1959年,仙童半导体公司发明“集成电路”
  • 1968年,摩尔等人离开仙童,创立Intel
  • 1969年,仙童销售负责人桑德斯离开仙童,创立AMD

软件发展史

阶段时间** **
第一阶段1946—1953机器语⾔,汇编语⾔,只有少数专业⼈员能够编写程序,主要⽤于科学研究计算
第二阶段1954—1964⾼级程序设计语⾔:容易学习,⽅便编程,提⾼了程序的可读性。
第三阶段1965—1970计算机得到发展:集成电路取代晶体管,处理器的运算速度⼤幅度提⾼。出现操作系统,结构化程序设计理念逐渐确⽴数据规模更庞⼤,⽤户对共享数据的需求:出现了数据库技术及数据库管理系统。
第四阶段1971—1989出现了结构化程序设计技术(Pascal、Modula-2、Basic)1973年,功能强⼤的C语⾔诞⽣
第五阶段1990年—⾄今⾯向对象的程序设计逐步代替了结构化程序设计HTML语⾔和浏览器产⽣,
早期冯诺依曼机
  • 第一台采用冯诺依曼结构的计算机EDVAC
    (Electronic Discrete Variable Automatic Computer)

  • 存储程序”的概念是指将指令以二进制代码的形式事先输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束

特点
  1. 计算机由五大部件组成
  2. 指令和数据以同等地位存于存储器,可按地址寻访
  3. 指令和数据用二进制表示
  4. 指令由操作码和地址码组成存储程序
  5. 以运算器为中心

类似一个加工厂

现代计算机结构
  1. 存储器为中心,CPU=存储器+运算器
    在这里插入图片描述

3.主要硬件

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_51697851/article/details/130844154

node笔记-爱代码爱编程

文章目录 ⭐前言⭐koa 原生路由写法⭐引入 koa-router💖 安装koa-router💖 动态读取路径文件作为路由 ⭐结束 ⭐前言 大家好,我是yma16,本文介绍koa框架的

开发笔记之:文件读取值溢出bug分析(qt c++版)-爱代码爱编程

(1)引言  以下是QT C++读取数据文件(QDataStream)的代码: /** * 按双字读取 * @param fis 文件输入流 * @param isBigEndian 是否大头(字节

cmake practice 学习笔记二---子目录、安装-爱代码爱编程

让前面的Hello World更像一个工程: 为工程添加一个子目录src,用来放置工程源代码;添加一个子目录doc,用来反之这个工程的文档hello.txt;在工程目录添加文本文件COPYRIGHT,README;在工程目录添加一个runhello.sh脚本,用来调用hello二进制;将构建后的目标文件放入构建目录的bin子目录;最终安装这些文件:将he

go语言中sync.cond、atomic原子性和sync.once的用法_golang sync.once为什么要用atomic-爱代码爱编程

目录 【sync.Cond】 【atomic原子性】 【sync.Once】  使用sync.Once实现单例模式 在 上一篇文章 中分析了Go语言sync 包中 sync.Mutex、sync.RWMutex和sync.WaitGroup的用法,这篇文章继续来讨论下sync包中关于 sync.Cond 、atomic原子性 和 sync

next.js + ts项目笔记 -爱代码爱编程

Next.js + TS项目笔记 1.为什么这个HomePage要写成一个箭头函数?2.React.FC是什么?3.如何判断是否是服务器端渲染?--- 响应头信息我的src目录应该包含哪些内容?文件名路由Bas

ts学习笔记 -爱代码爱编程

TS学习笔记 1 .ts文件与.tsx文件有什么区别2.使用TS之前需要配置3.TS特性泛型和类型注解有什么区别?3.什么是泛型参数?4.函数、类、接口有什么区别?4.1 一个class不符合interface

spark大数据处理讲课笔记-爱代码爱编程

零、本讲学习目标 理解RDD的窄依赖理解RDD的宽依赖了解两种依赖的区别 一、RDD依赖 在Spark中,对RDD的每一次转化操作都会生成一个新的RDD,由于RDD的懒加载特性,新的RDD会依赖原有RDD,因此RDD之间存在类似流水线的前后依赖关系。这种依赖关系分为两种:窄依赖和宽依赖。   二、窄依赖 窄依赖是指父RDD的每一个分区最多被