[컴퓨터구조] 2. Instructions: Language of the Computer(4) - MIPS 명령어 형식 (Instruction Formats)
·
Computer Science/컴퓨터구조
2. Instructions: Language of the Computer(4) - MIPS 명령어 형식 (Instruction Formats)#Computer_Architecture명령어 표현명령어는 이진수로 인코딩되며, 이를 machine code라고 부릅니다.MIPS 명령어는 32비트 명령어로 인코딩됩니다.opcode의 경우 앞에 6bit를 보고 나머지 26비트가 어떤 필드로 구성되어 있는지 결정된다.add $t1, $s0, $s1add인지 아닌지(opcode), 어떤 레지스터를 활용하는지(5bit) X 3….이 내용에 대한 세부 내용들은 아래에서 다룸적은 수의 포맷으로 구성되어 있으며, 각 포맷은 연산 코드(opcode), 레지스터 번호 등을 포함합니다.Register numbers$t0 – $t..
[컴퓨터구조] 2. Instructions: Language of the Computer(3) - 컴퓨터 내부의 데이터 표현
·
Computer Science/컴퓨터구조
2. Instructions: Language of the Computer(3) - 컴퓨터 내부의 데이터 표현#Computer_Architecture상수 0MIPS에서는 레지스터 0 ($zero)에 항상 상수 0을 저장해놓는다. 레지스터 간의 값 이동에 사용할 수 있다.덮어쓸 수 없습니다.자주 사용하는 연산에서 유용하게 사용됩니다.예시: 두 레지스터 간의 이동에 사용add $t2, $s1, $zero // $t2 = $s1Unsigned Binary Integer기초 지식이니 부가 설명 X주어진 n비트 숫자는 다음과 같이 계산됩니다:범위는 0에서 +2^n - 1까지입니다.예: 32비트 부호 없는 정수의 범위는 0에서 4,294,967,295까지입니다.2의 보수 부호 있는 정수(2s-Complement ..
[컴퓨터구조] 2. Instructions: Language of the Computer(2) - MIPS 기본 연산 및 피연산자
·
Computer Science/컴퓨터구조
2. Instructions: Language of the Computer(2) - MIPS 기본 연산 및 피연산자#Computer_ArchitectureOperationsMIPS ISA에서는 연산을 어떻게 처리하는지 알아보자. 우리가 코드로 작성하는 연산들이 어떻게 명령어로 바뀌는지 이해해야, 하드웨어에서 동작하는 것을 이해할 수 있다.산술 연산(Arithmetic Operations)덧셈과 뺄셈은 3개의 피연산자를 사용합니다.두 개의 source와 하나의 destination 피연산자를 사용합니다.주의) dest 피연산자가 가장 먼저 온다.add a, b, c # a(dest)는 b(source) + c(source)모든 산술 연산은 이러한 형태를 가집니다.설계 원칙 1: 간단하게 하기 위해서는 규..
[컴퓨터구조] 2. Instructions: Language of the Computer(1) - ISA와 MIPS 아키텍처 소개
·
Computer Science/컴퓨터구조
2. Instructions: Language of the Computer(1) - ISA와 MIPS 아키텍처 소개이전 챕터에서 하드웨어와 소프트웨어의 인터페이스 역할을 하는 ISA(Instruction Set Architecture)에 대해서 잠깐 다뤘다.잠깐 복습하자면 CPU마다 ISA가 다르고, CPI는 ISA에 영향을 받는다고 배웠다. 현대 PC 프로세서에서 사용하는 ISA는 x86, 모바일 기기의 대부분은 ARM ISA를 사용하고 있다.이 책에서는 MIPS 아키텍쳐에 대해서 배운다. MIPS는 시스템 프로그래밍 시간에 배운 x86 아키텍쳐와 사실 거의 똑같은 구조를 가지고 있고, 명령어 이름과 문법에서의 일부 차이가 존재한다.Instruction Set명령어 세트는 컴퓨터가 실행할 수 있는 명령..
SQL 코테 대비 문법 정리 - MySQL
·
Computer Science/Database
SQL 코테 대비 문법 정리 - MySQL#Database참고) SQL 쿼리의 실행 순서FROM 절WHERE 절GROUP BY 절집계 함수HAVING 절SELECT 절ORDERED BY 절LIMIT/OFFSET(Optional)DDLcreate table student ( ID varchar(5), name varchar(20) not null, dept_name varchar(20), tot_cred numeric(3,0), primary key (ID), foreign key (dept_name) references department);SELECT, FROM, WHERE설명SELECT: 조회할 컬럼을 지정합니다.중복을 제거하려면 select 뒤에 distinct 키워드를 삽입합니다.FRO..
[DataBase] 04. SQL(Structured Query Language) - Intermediate(3)
·
Computer Science/Database
SQL(Structured Query Language) - Intermediate(3)#Database/Concepts/TempView첫 번째 챕터에서 다뤘던 “View of Data”에 대해 다시 떠올려봅시다.복습 | View of Data —> “Data abstraction을 통해 실제 물리적으로 저장되어 있는 데이터를 그대로 가져와서 보는게 아니라, 사용자가 필요한 데이터만 보고 접근할 수 있게 되었다”교수님 강의자료만 보면 View에 대해 정확히 이해하기 쉽지 않습니다. View가 무엇인지만 가지고 View를 어떤 상황에 어떻게 적용해야 하는지 감을 익히는게 매우 중요합니다. 따라서 View에 대한 이해를 돕기 위해 하나의 에피소드를 예로 들어보겠습니다.에피소드 : IT기업의 직원 정보 데이터베..
[DataBase] 04. SQL(Structured Query Language) - Intermediate(2)
·
Computer Science/Database
SQL(Structured Query Language) - Intermediate(2)#Database/Concepts/Temp(10/10) 굉장히 공들여서 작성한 글이여서 원래 동아리 스터디 용도로 일부 공개 했었는데, 더 많은 분들이 봤으면 하는 마음에 오픈! Outer JoinOUTER JOIN은 일치하는 행이 없더라도, 한쪽 또는 양쪽 테이블의 모든 행을 포함하여 조인한다.정보 손실을 방지하는 join 작업의 확장입니다.join한 다음, 다른 relation의 튜플과 일치하지 않는 튜플을 join 결과에 추가합니다.Outer join은 일치하는 데이터와 일치하지 않는 데이터를 모두 기반으로 합니다.NULL 값을 사용합니다.테이블 A, 테이블 B가 있고, 테이블 A를 LEFT Table이라고 하고,..
[DataBase] 04. SQL(Structured Query Language) - Intermediate(1)
·
Computer Science/Database
SQL(Structured Query Language) - Intermediate(1)#Database/Concepts/Temp(10/10) 굉장히 공들여서 작성한 글이여서 원래 동아리 스터디 용도로 일부 공개 했었는데, 더 많은 분들이 봤으면 하는 마음에 오픈! 이전 챕터에서 이어서 SQL 구문과 관련된 내용이 이어집니다. 요번 챕터에서 Join Operation을 중점으로 다루게 될텐데, 요즘 SQL 코테에서도 Join 관련 문제가 자주 등장한다고 하니 꼼꼼히 봐두시길!Joined Relations관계 대수에서 Join Operation에 대해서 살펴봤던거 기억나시나요? 기억 안나시면 서운합니다 ㅠㅠ챕터 2 내용을 복기해보자면 Cartesian 곱은 모든 가능한 조합의 결과를 생성하므로 원하지 않은 ..
[DataBase] 03. SQL(Structured Query Language)(4)
·
Computer Science/Database
SQL(Structured Query Language)(4)#Database/Concepts/Temp(10/10) 굉장히 공들여서 작성한 글이여서 원래 동아리 스터디 용도로 일부 공개 했었는데, 더 많은 분들이 봤으면 하는 마음에 오픈!게시글 길이 제한으로 글을 분리해서 업로드하는 점 양해 바랍니다데이터베이스 수정 (Modification of the Database)위에서는 데이터베이스 릴레이션에서 원하는 데이터를 선택하는 것에 대해 배웠다. 지금부터 데이터베이스에서 원하는 데이터를 수정하는 방법에 대해 배워보자튜플 삭제 (Deletion): 주어진 relation에서 튜플을 삭제합니다.튜플 삽입 (Insertion): 주어진 relation에 새로운 튜플을 삽입합니다.값 업데이트 (Updating):..
[DataBase] 03. SQL(Structured Query Language)(3)
·
Computer Science/Database
SQL(Structured Query Language)(3)#Database/Concepts(10/10) 굉장히 공들여서 작성한 글이여서 원래 동아리 스터디 용도로 일부 공개 했었는데, 더 많은 분들이 봤으면 하는 마음에 오픈!게시글 길이 제한으로 글을 분리해서 업로드하는 점 양해 바랍니다중첩 서브쿼리 (Nested Subqueries)앞 챕터에서 관계 연산의 조합을 다루면서 “관계 대수 연산의 결과는 relation이다. 따라서 관계 대수 연산의 결과인 Relation을 다시 관계 대수 연산Relation으로 사용할 수 있다” 라고 했던 걸 기억할 것이다.이를 SQL에서도 제공하고 있다. select-from-where 쿼리의 결과로 얻은 릴레이션을 다시 쿼리에 사용할 수 있다. 중첩 서브쿼리는 SQL..