1. 데이터 추상화와 데이터 모델 데이터 추상화데이터 추상화는 데이터를 관리할 때 사용자가 복잡한 물리적 세부 사항을 몰라도 되게 만드는 과정이다. 사용자는 데이터의 핵심 정보만 볼 수 있고, 데이터가 컴퓨터에 어떻게 저장되는지는 숨겨진다. 데이터 추상화의 주요 개념:억제(Suppression):데이터가 물리적으로 어떻게 저장되는지(디스크에 파일이 어떻게 배치되는지 등) 사용자는 알 필요가 없다.강조(Highlighting):사용자가 데이터를 이해하는 데 필요한 핵심 정보만 노출한다. 예를 들어, 사용자는 학생의 이름과 학번만 볼 수 있고, 저장 위치나 세부 구조는 신경 쓰지 않아도 된다.사용자 맞춤 뷰 제공:각 사용자가 자신의 필요에 맞게 데이터를 볼 수 있다. 예를 들어, 재무팀은 결제 정보만 보..
데이터베이스(DB)는 논리적으로 일관된 관련 데이터들의 모음을 말한다.이것은 사용자가 데이터베이스를 쉽게 생성하고 유지할 수 있도록 데이터베이스 관리 시스템(DBMS)에 의해 관리되고,DBMS를 이용하여 데이터베이스를 정의, 구축, 조작, 공유할 수 있다. 데이터베이스의 특징 자기 기술적인 특성(Self-describing nature)프로그램과 데이터 간의 독립성 및 데이터 추상화다중 데이터 뷰 지원데이터 공유 및 다중 사용자 트랜잭션 처리 자기 기술적인 특징데이터베이스 시스템은 데이터베이스 자체뿐만 아니라 구조를 설명하는 메타데이터도 포함하고 있다. 이를 통해 데이터 베이스를 유지하고 관리할 수 있다.메타데이터: 데이터베이스 구조와 제약 조건을 정의하는 정보로, 데이터베이스를 유지하는..
덧셈 carry flag로 다음 자릿수에 넘겨주는 방식으로 관리한다. 뺄셈 2의 보수를 통해 음수를 더하는 방식으로 연산을 수행한다. overflow 계산 결과가 너무 커서 범위를 벗어나 경우 오버플로우가 발생한다.(캐리 플래그가 오버플로우 됐다는 뜻은 아님. 연산할 수 있는 비트가 더 없을 경우를 말함) 이를 방지하기 위해 우리는 부호없는 숫자의 명령어를 사용한다.addu, addui, subu 명령어들을 사용함 곱셈 곱셈 알고리즘은 productor가 1인지를 테스트하면서, multiplicand를 곱셈 결과에 추가할지 결정한다. 곱셈 과정:만약 multiplier의 가장 오른쪽 비트(Least Significant Bit, LSB)가 1이면, multiplicand 를 ..
위에서 보는대로,컴파일러를 통해 고수준 언어의 코드를 기계어로 변환하고, 어셈블러를 통해 기계어 명령어를 생성한다.이 때, 컴파일러는 각 번역 단계에서 필요한 메타데이터를 포함하여, 실행 파일을(exe) 만들기 위한 정보를 제공한다. 여기에서 정적 링크란, 프로그램의 실행 파일을 생성할 때, 모든 외부 라이브러리를 프로그램 코드에 직접 포함시키는 방식을 말한다. 여기에서는 프로그램 실행 시 추가적인 링크 작업이 필요하지 않으며, 프로그램의 모든 필요한 코드가 하나의 실행 파일에 포함된다. 컴파일러는 어셈블러에게 기계어를 넘겨주고, 어셈블러는 명령어로 변환하여 링커에게 넘겨주는데이 과정에서 오브젝트 모듈이 생성된다.오브젝트 모듈은 어셈블러 또는 컴파일러에 의해 생성된 기계어 명령어의 집합으로, 실..
Procedure 호출 과정 일반적인 CPU는 프로시저를 호출하는 데에 보통 6 단계가 필요하다. Place parameters in Registers: 함수 호출 시 매개변수를 레지스터에 저장한다.$a0-$a3와 같은 레지스터가 매개변수 전달에 사용된다.Transfer control to procedure: jal(jump-and-link) 명령어를 사용하여 프로시저로 제어를 이동한다. 이 명령어는 프로그램 카운터(PC : 현재 명령어의 주소를 저장하는 레지스터)에 다음 명령어의 주소(현재 PC + 4)를 저장하고, 지정된 프로시저 주소로 점프한다.Acquire Storage for procedure: 프로시저의 작업을 위해 필요한 메모리 공간을 할당한다.Perform Procedure’s operat..
MIPS 명령어의 인코딩MIPS 명령어는 32비트의 길이로 인코딩되며, 이는 프로세서가 해석하고 실행하는 기계어로 변환된다.각 명령어는 몇 개의 필드로 나뉘며, 이러한 필드는 명령어의 동작, 사용되는 레지스터, 상수, 주소 등을 지정한다.2. 명령어 형식MIPS 명령어는 다양한 형식으로 나뉜다.R-형식 (Register Format): 레지스터 간의 연산을 처리하는 명령어.I-형식 (Immediate Format): 즉시 값을 포함하는 명령어.J-형식 (Jump Format): 점프 명령어.3. 레지스터 번호MIPS의 각 레지스터는 고유한 번호를 가진다.$t0-$t7: 레지스터 8-15.$s0-$s7: 레지스터 16-23.$t8-$t9: 레지스터 24-25. 1. R-형식 명령어 (Register ..