计组CH1 第一章 计算机概要与技术
计组CH1 第一章 计算机概要与技术CH1 计算机概要与技术思维导图:
一、计算机的分类与设计思想
计算机的分类
传统上,按照应用,计算机可以分为:
个人计算机(PC)服务器,适用于执行大负载任务,多用户通过网络并行访问;高端服务器被称为超级计算机嵌入式计算机,是数量最多的一类计算机
进入后PC时代:
往小的方向发展为:个人移动设备(PMD)
往大的方向发展为:仓储规模计算机(WSC)(Warehouse-Scale Computer),大型数据中心的云计算服务器
计算机的八个伟大思想
导图:
2个设计原则:
(1) 摩尔定律
单芯片上的集成度(单位面积硅片能容纳的晶体管数量)每18个月翻一番
提出于1965,芯片设计要依据设计开始/完成?时的工艺水平
(2)抽象,省略低层次的细节,提供简化的模型
4个提高性能的方法:
(3)加速大概率事件
一台计算机绝大部分时间用来打游戏,改进游戏性能还是其他性能更能提高整体性能?
定量分析:Amdahl定律 t改进 = t相关/S + t无关
即改进后的执行时间 = 改进影响的执行时间 / 改进量 + 改进不影响的执行时间
( ...
计组CH0 第零章 计组课程概述
计组CH0 第零章 计组课程概述一、学习资源
参考教材
《计算机组成原理》——基于MIPS结构 康磊老师著(本校)
《计算机机组成与设计》Patterson & Hennesy著 第5版大黑书(川大)
网课资源
B站UP: 翼云图灵 同级川大学子录制,课程质量我个人觉得非常Nice!!!
笔记说明
笔记内容大多源自网课,经整理后发布。主要目的是为了期末备考,来掌握重要考点。
学校里的课程我不太能跟上~~
二、课程目录
计算机组成原理
思维导图:
章节内容:共五个章节
CH1 计算机概要与技术
1、计算机的分类与设计思想
2、软硬件基础(后续章节细讲)
3、性能与功耗
CH2 指令:计算机的语言
1、整数的表示
2、运算、数据传送、决策三大类MIPS指令
3、MIPS机器语言
4、寄存器与寻址方式
5、指令对函数调用的支持
CH3 计算机的算术运算
1、整数的加减运算
2、附录ALU逻辑设计
3、乘法器、除法器及其改进
4、浮点数的表示与运算
CH4 CPU处理器
1、简单MIPS指令子集的数据通路实验
2、多周期实现
3、流水线与 ...
操作系统实验(一) 进程调度算法设计动(动态优先数+时间片轮转法)
操作系统实验(一) 进程调度算法设计(动态优先数+时间片轮转法)模拟进程调度算法,用动态优先数及时间片轮转法实现进程调度一、实验要求1.内容: 设计一个简单的进程调度算法,模拟OS中的进程调度过程2.要求:① 进程数不少于5个;② 进程调度算法任选;最好选用动态优先数法,每运行一个时间片优先数减3;③ 用C++(或C)语言编程;④ 程序运行时显示进程调度过程。
3.步骤:① 设计PCB及其数据结构:
进程标识数:ID
进程优先数:PRIORITY(优先数越大,优先级越高)
进程已占用时间片:CPUTIME
进程尚需时间片:ALLTIME(一旦运行完毕,ALLTIME为0)
进程队列指针:NEXT,用来将PCB排成队列
进程状态:STATE(一般为就绪,不用)
② 设计进程就绪队列及数据结构;
③ 设计进程调度算法,并画出程序流程图;
④ 设计输入数据和输出格式;
结构格式:当前正运行的进程:0
当前就绪队列:2,1,3,4
⑤ 编程上机,验证结果。
4.提示:假设调度前,系统中有5个进程,其初始状态如下:
ID
0
1
2
3
4 ...
大数据原理实验(一、二) 熟悉常用的Linux操作和Hadoop操作
大数据原理实验(一、二) 熟悉常用的Linux操作和Hadoop操作实验步骤及操作截图1、熟悉常用的Linux操作1)cd命令:切换目录(1) 切换到目录“/usr/local”
(2)切换到当前目录的上一级目录
(3)切换到当前登录Linux系统的用户的自己的主文件夹
2)ls命令:查看文件与目录查看目录“/usr”下的所有文件和目录
3)mkdir命令:新建目录(1)进入“/tmp”目录,创建一个名为“a”的目录,并查看“/tmp”目录下已经存在哪些目录
(2)进入“/tmp”目录,创建目录“a1/a2/a3/a4”
4)rmdir命令:删除空的目录(1)将上面创建的目录a(在“/tmp”目录下面)删除
(2)删除上面创建的目录“a1/a2/a3/a4” (在“/tmp”目录下面),然后查看“/tmp”目录下面存在哪些目录
只有空文件夹a4被删除了
5)cp命令:复制文件或目录(1)将当前用户的主文件夹下的文件.bashrc复制到目录“/usr”下,并重命名为bashrc1
(2)在目录“/tmp”下新建目录test,再把这个目录复制到“/usr”目录下
...
MySQL案例3 MySQL实验(二)数据库查询
MySQL案例3 MySQL实验(二)数据库查询考核内容及实验目的:使用SQL语句进行查询操作,掌握单表查询、多表查询及嵌套查询操作。一、实验描述1、导入一个外部数据库文件(world.sql)到Navicat图形化管理软件中,并进行进行单表查询、多表查询及嵌套查询操作。数据库world包含了country、countryLanguag、city三张表,涵盖了全世界的国家、国家语言和城市的相关信息。
下图是world数据库中的部分表信息
country表
countryLanguage表
city表
2、单表查询
(1)查询全世界使用中文(Language = ‘Chinese’)的国家的个数。
(2)以你家乡地级市名称为条件,查询显示你家乡地级市的名称和人口(Population)以及所属的省份名称(Disrtict)。注意数据库中个别城市的拼写与拼音有所区别,例如北京是Peking,西安是 Xi´an,陕西是Shaanxi。
(3)查询新疆(Xinxiang)的各市平均人口。(提示:avg()函数)
(4)查询显示世界七大洲(continent)的 ...
AcWing算法基础课 基础算法1
一、基础算法基础算法内容目录排序二分高精度前缀和与差分双指针算法位运算离散化区间合并
1、排序
快速排序
问题描述
AcWing 785. 快速排序
给定你一个长度为 n 的整数数列。
请你使用快速排序对这个数列按照从小到大进行排序。
并将排好序的数列按顺序输出。
输入格式输入共两行,第一行包含整数 n。
第二行包含 n 个整数(所有整数均在 1∼1091∼109 范围内),表示整个数列。
输出格式 输出共一行,包含 n 个整数,表示排好序的数列。
数据范围 1≤n≤1000001≤n≤100000
输入样例: 1253 1 2 4 5
输出样例: 11 2 3 4 5
题解
123456789101112131415161718192021222324252627282930313233#include <stdio.h>#define N 100010 //定义数据范围 int q[N]; void quick_sort(int q[],int l,int r)//快速排序模板 { if(l == r) return;//判断 ...
MySQL案例2 MySQL实验(一)数据库定义与操作
MySQL案例2 MySQL实验(一)数据库定义与操作考核内容及实验目的:使用SQL语句创建、修改、删除数据库及基本表。掌握表级、列级完整性约束。一、实验描述1、创建数据库hdbase,并创建三张表,分别是country、countryLanguage、city。
表信息如下:
country表
countryLanguage表
city表
2、定义表中的主码、外键、约束、数据类型。
(1)country表主码为Code,countryLanguage表中主码为countryCode、Language,city表主码为ID。(2)countryLanguage表和city表,其表中的CountryCode字段都是country表中的Code字段的外键。(3)country表和city表的Name字段列级约束均为非空、唯一。(4)CountryLanguage中isOffice字段采用枚举类型,要求:isOffice enum(‘T’,’F’)。
3、对表中数据进行更新操作。
(1)修改city表中Population字段属性为bigint、not null。 ...
MySQL案例1 MySQL的简单应用及用Java操作
MySQL案例1 MySQL的简单应用及用Java操作一、具体案例描述MySQL数据库操作:
学生表student信息如下,
Name
English
Math
Computer
zhangsan
69
86
77
lisi
55
100
88
根据上面给出的student表,在MySQL数据库中完成以下操作:
(1)在MySQL中创建student表,并录入数据。
(2)用SQL语句输出student表中的所有记录。
(3)查询zhangsan的Computer成绩。
(4)修改lisi的Math成绩,改为95。
根据上面已经设计出的student表,使用MySQL的Java客户端编程实现以下操作:
(1)向student表中添加如下所示的一条记录。
Name
English
Math
Computer
scofield
45
89
100
(2)获取scofield的English成绩信息。
二、上机操作0、实验环境
硬件平台:一台笔电,操作系统为Win10pro 64位
软件环境:
数据库Server版 ...
MySQL数据库 第二章 SQL语句
MySQL数据库 第二章 SQL语句SQL是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
一、SQL语句分类
DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别。(不太重要,一般用navicat图形化界面来操作)
DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等。功能:创建、删除、修改库和表结构。
DML(Data Manipulation Language):数据操作语言,用来定义数据库记录:增、删、改表记录。
DQL(Data Query Language):数据查询语言,用来查询记录。也是本章学习的重点。(!!!很重要)
二、DCL(数据控制语言)语法学习DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别。DCL语言可用navicat软件来进行图形化界面操作。tips:!!!该节内容不是很重要
1、创建用户、修改密码、删除用户(1)创建用户创建一个用户,让该用户只能在 ...
MySQL数据库 第一章 MySQL数据库介绍及环境搭建
MySQL数据库 第一章 MySQL数据库介绍及环境搭建一、数据库的概念
数据库是【按照数据结构来组织、存储和管理数据的仓库】,是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
数据对于公司来说是最宝贵的财富之一,而程序员的工作就是对数据的管理,包括运算、流转、存储、展示等,数据库的最重要的功能就是【存储数据】,绝大部分的数据需要进行持久化,长期保存,而数据库就可以很好的帮助我们完成这个工作。
二、MySQL介绍
MySQL是一个【关系型数据库管理系统】,由瑞典【MySQL AB】公司开发,属于 【Oracle】旗下产品。MySQL 是最流行的【关系型数据库管理系统】之一,在 【WEB】应用方面,MySQL是最好的 【RDBMS】 (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 【SQL 语言】是用于访问【数据库】的最常用标准化语言。 ...