본문 바로가기

5장 컴퓨터 과학61

[자료구조] 순차 자료구조 (Sequential List) 개념 순차 자료구조(sequential data structure) 또는 순차 리스트(sequential list)는 자료의 단위 정보를 이루는 항목(노드)들이 물리적으로 연속된 기억 장소(메모리)에 차례대로 저장되어 있는 방식을 말한다. 논리적인 순서와 물리적인 순서가 일치되는 구조이다. 특징 기억 공간의 낭비가 없어 효율적인 자료구조이다. 원소를 삽입, 삭제할 때 원소를 많이 이동해야하는 단점이 있다. 추상 데이터 타입(ADT) insert(n, val): 순차 리스트의 n번째 노드에 val을 삽입한다. 새로운 엔트리 공간을 만들기 위해 n번째 이후 원소들을 오른쪽으로 이동시킨다. erase(n): n번째 노드의 원소를 제거한다. 공간을 채우기 위해 n번째 이후 원소들을 왼쪽으로 이동시킨다. 구현 C.. 2021. 6. 3.
[컴퓨터 구조] 메모리 기술 메모리 계층구조에서는 네 가지 주요 기술이 사용된다. 메인 메모리(main memory)는 DRAM(dynamic random access memory)으로 구현된다. 캐시(cache)는 SRAM(static random access memory)이 사용된다. DRAM은 SRAM보다 훨씬 느리지만 비트당 가격이 덜 비싸다. DRAM은 메모리 비트당 면적이 작기 때문에 가격 차이가 생기게 되고, 따라서 같은 양의 실리콘으로 더 큰 용량을 만들 수 있다. 세 번째 기술은 플래시 메모리이다. 플래시 메모리는 비휘발성이다. 네 번째 기술은 서버의 가장 크고 가장 느린 계층으로 자기 디스크이다. SRAM 기술 SRAM은 단순한 집적회로로서, 읽기나 쓰기를 제공하는 접근 포트가 하나 있는 메모리 배열이다. SRAM.. 2021. 6. 1.
[컴퓨터 구조] 메모리 계층구조 메모리의 작동 방법에는 지역성의 원칙(principle of locality)가 적용된다. 시간적 지역성(temporal locality)는 어떤 데이터가 참조되면 곧바로 다시 참조될 가능성이 높다는 원칙이다. 공간적 지역성(spatial locality)는 하나의 데이터가 참조되면 곧바로 그 주위의 데이터가 참조될 가능성이 높다는 원칙이다. 컴퓨터의 메모리는 메모리 계층구조(memory hierarchy)로 구현함으로써 지역성의 원칙을 이용할 수 있다. 메모리 계층구조는 여러 계층의 메모리를 사용하는 구조로 서로 다른 속도와 크기를 갖는 여러 계층의 메모리로 구성되어 있다. 프로세서로부터 거리가 멀어질수록 메모리의 크기와 접근시간이 증가한다. 메모리 계층구조는 여러 계층으로 구성되지만, 데이터는 인접한.. 2021. 6. 1.
[컴퓨터 구조] 부동소수점 부동소수점 부동소수점(floating point)는 이진 소수점의 위치가 고정되어 있지 않은 수로 표현하는 컴퓨터 연산이다. 부동소수점을 사용하면 부동소수점 숫자를 포함한 자료의 교환을 간단하게 한다. 숫자가 항상 부동소수점으로 표현된다는 것을 알고 있으므로 부동소수점 산술 알고리즘이 간단해진다. 불필요하게 선행되는 0을 소수점 오른쪽에 있는 실제의 숫자로 바꾸기 때문에 한 워드 내에 저장할 수 있는 수의 정밀도를 증가시킨다. 부동소수점 표현 부동소수점은 소수부분(faction)과 지수부분(exponent)로 나뉜다. 일반적으로 부동소수점 수는 (-1)s×F×2E 같은 형태를 갖는다. 그러나 부동소수점도 무한한 수는 아니기 때문에 오버플로우와 언더플로우가 발생한다. 오버플로우(overflow)는 양수 값.. 2021. 6. 1.
[컴퓨터 구조] 프로그램 번역과 실행 컴파일러 컴파일러는 C 프로그램을 어셈블리 언어 프로그램으로 바꾼다. 어셈블리 언어 프로그램은 컴퓨터가 이해할 수 있는 심벌 형태이다. 상위 수준 언어 프로그램은 어셈블리 언어보다 문장 수가 훨씬 적으므로 프로그래머의 생산성이 높아진다. 어셈블리 언어는 이진 기계어로 번역할 수 있는 기호화된 언어이다. 어셈블러 어셈블러는 어셈블리 프로그램을 기계어로 번역하므로 어셈블리 언어 프로그램을 목적 파일(object file)로 바꾼다. 목적 파일에는 기계어 명령어, 데이터, 명령어를 메모리에 적절히 배치하기 위해 필요한 각종 정보들이 혼합되어 있다. 어셈블리 언어는 상위 수준 소프트웨어와의 인터페이스이므로 원래는 없는 명령어를 어셈블러가 독자적으로 제공할 수도 있다. 이 명령어들은 하드웨어로 구현이 되어 있지 .. 2021. 6. 1.
반응형