컴퓨터공학: 18개의 글
1. 배열의 정의 배열(Array) : - 인덱스와 원소값의 쌍()으로 구성된 집합 - 배열의 각 원소들은 자료형과 기억 공간의 크기가 같다. - 메모리의 물리적인 위치를 순서적으로 결정하는 특징이 있다. - 배열의 논리적인 순서(인덱스)는 메모리에 저장되는 원소값의 물리적인 순서(메모리 주소)와 동일하다. - 배열의 첫 번째 원소의 메모리 주소와 인덱스를 통해 특정 원소의 주소값을 계산할 수 있다. - 직접 접근(direct access) : 인덱스를 이용해 접근하므로 - 자료구조의 유형 중 선형 구조에 해당한다. - 각 원소의 이름은 고유한 이름이 없고 원소의 위치에 따라 정해진다. 메모리 영역의 추상화와 구체화(출처: 한국방송통신대학교) 그림의 좌측은 16진수로 표현되는 메모리의 실제 주소, 가운데..
1. 자료와 정보의 관계 자료(data) : 현실 세계에서 관찰이나 측정을 통해 수집된 값(value)이나 사실(fact) 정보(information) : - 어떤 상황에 대해 적절한 의사결정(decision)을 할 수 있게 하는 지식(knowledge)으로서 자료의 유효한 해설(interpretation)이나 자료 상호간의 관계(relationship)을 표현하는 내용 - 자료의 2차 처리 결과물 자료와 정보의 관계는 수식 I = P(D)로 표현할 수 있다. (I : Information, P : Process, D : Data) 2. 추상화의 개념 추상화 : 공통적인 개념을 이용하여 같은 종류의 다양한 객체를 정의하는 것 자료의 추상화는 다양한 객체를 컴퓨터에서 표현하고 활용하기 위해 필요한 자료의 ..
제어장치와 처리장치의 관계 - 제어장치는 외부 입력신호(컴퓨터 명령)을 받아 이 신호에 해당하는 제어신호(마이크로 연산)을 처리장치로 보낸다. - 처리장치에서 제어신호에 의해 입력 데이터를 받아 처리한 후 결과를 출력 데이터로 내보낸다. - 처리장치에서 연산 결과로 나타나는 상태신호를 제어장치로 보낸다. - 상태신호는 분기, 조건판단 등을 위한 판단기준을 제공한다. 제어장치 구성 제어장치는 기억장치에서 명령을 하나씩 읽어 해독한 후 해당되는 회로가 동작할 지시신호를 보내 모든 장치가 유기적으로 동작할 수 있도록 한다. (1) 명령어 레지스터(IR: Instruction Register) - 기억장치에서 읽어온 명령어를 저장하는 레지스터 - 명령어가 IR에 저장되기 전에 메모리 버퍼 레지스터(MBR: Me..
제어단어와 선택신호 제어단어 - 선택신호(제어변수)의 묶음 - 제어단어는 처리장치로부터 전달받은 상태비트를 참고하여 제어장치가 만들게 됨 선택신호(제어변수) - 처리장치 내에서 수행되는 마이크로 연산을 선택하는 변수 - 처리장치의 버스, ALU, 시프터, 도착 레지스터 등을 제어 처리장치와 제어단어 아래와 같은 구조의 처리장치가 있다고 가정하자. 처리장치 블록도 레지스터 세트는 R1~R7의 7개의 레지스터로 구성되었다. 7개의 레지스터 출력과 외부기억장치로부터의 입력은 두 세트의 멀티플렉서가 선택하여 ALU의 입력으로 연결된다. ALU의 출력은 시프터를 통해 출력버스로 연결되어 도착 레지스터나 외부로 전송된다. 이러한 구조의 처리장치에는 모두 16개의 2진 제어변수가 있고(처리장치 구조에 따라 제어변수의..
명령어 주소 지정방식(Addressing mode)이란? - 프로그램 수행 시 오퍼랜드(피연산자)를 지정하는 방법 - 오퍼랜드를 참조하기 전에 오퍼랜드를 변경하거나 해석하는 규칙을 지정 유효주소란? 주소 지정방식에 의해 결정되는 오퍼랜드의 주소 주소 지정방식 필드를 가진 명령어 형식과 필드별 설명은 다음과 같다. 주소 지정방식 필드를 가진 명령어 형식 필드 설명 연산코드 수행할 연산의 종류를 지정 주소 지정방식 연산에 필요한 오퍼랜드의 주소를 알아내는데 사용 오퍼랜드 연산의 대상이 되는 기억장치 주소 혹은 레지스터 명령어의 주소 지정방식은 컴퓨터에 따라 위와 같이 별도로 정의되기도 하고 연산방식과 공통으로 정의되기도 한다. 주소 지정방식의 종류 1. 의미 주소 지정방식 2. 즉치 주소 지정방식 3. 직접..
BNF 표현법 BNF(Backus-Naur Form)는 Algol의 구문을 정의하기 위해 배커스(Backus)와 나우어(Naur)가 사용한 표현법이다. BNF 기호 메타 기호 BNF는 세 가지 메타 기호를 사용한다. 메타 기호 의미 ::= 정의 | 택일(OR) 비단말 기호 - BNF에서 규칙은 메타 기호 ::=를 이용하여 표현한다. - ::=를 기준으로 왼쪽을 오른쪽으로 정의한다. - ::=의 왼쪽에는 하나의 비단말 기호가, 오른쪽에는 기호들을 활용하여 정의하는 내용이 나와야 한다. 단말/비단말 기호 기호 의미 예 단말 기호 메타 기호 로 묶인 기호 , , , ... 비단말 기호 비단말 기호 및 메타 기호가 아닌 기호 A, B, a, b, 0, 1, if, then, +, -, ... BNF의 예 ::=..
프로그래밍 언어의 요구사항 소프트웨어 개발 및 유지보수 측면에서 프로그래밍 언어는 어떤 요구사항을 만족해야 할까? 먼저 프로그래밍 언어는 프로그래머가 자신의 아이디어를 쉽게 표현할 수 있게 해야한다. 또한 작성된 프로그램은 쉽게 유지보수 할 수 있어야 하며, 컴퓨터에서 빠르게 실행될 수 있어야 한다. (1) 표현 풍부성(expressiveness): 프로그래머의 아이디어를 쉽게 표현할 수 있다. (2) 유지 보수성(maintainability): 작성된 프로그램은 쉽게 유지보수할 수 있다. (3) 실행 가능성(executability): 작성된 프로그램이 빠르게 실행될 수 있다. 프로그래밍 언어의 설계 원칙 그리고 이러한 기능과 요구사항을 만족하기 위해 고려해야하는 설계 원칙 중 공통적으로 거론되는 것은..
프로그래밍 언어의 대표적인 평가 기준으로 다음의 9가지를 꼽을 수 있다. 평가 기준 의미 작성력 프로그램 수식이나 문장, 기능을 쉽게 표현할 수 있는 특성 가독성 작성된 프로그램을 보고 쉽게 이해할 수 있도록 하는 특성 신뢰성 작성된 프로그램이 오류에 빠지는 가능성을 줄이는 특성 직교성 언어 기능이 서로 간섭하지 않고 자유롭게 조합될 수 있는 특성 일관성 유사한 기능을 같은 형태로 나타낼 수 있는 특성 확장성 사용자가 원하는 새로운 기능을 추가할 수 있는 특성 효율성 작성된 프로그램이 효율적으로 수행될 수 있도록 하는 특성 유연성 프로그래머가 표현하고 싶은 내용을 유연하게 수용하는 특성 이식성 프로그램을 다른 실행 환경으로 이전할 수 있는 특성 작성력 프로그램 수식이나 문장, 기능을 쉽게 표현할 수 있는..