데이터의 종속성 - 병렬처리 그리고 파이프라인 * 병렬 처리 * 파이프 라인 병렬처리 (parallel processing) * 컴퓨터 시스템의 계산 속도 향상을 목적으로 하여 동시 데잍 처리 기능을 제공하는 광범위한 개념의 기술을 의미한다 * M.J Flynn의 분류방법 - 동시에 처리되는 명령어와 데이터 항목 수에 의해 컴퓨터 시스템의 구조를 파악하려는 분류 방법 제안 (명령어 흐름 (instructionstream) -> 메모리로 부터 읽어온 명령어의 순서, 데이터 흐름 (data stream) -> 데이터에 대해 수행되는 동작 ) - SISD -> 단일 명령어 흐름, 단일 데이터 흐름 - SIMD -> 단일 명령어 흐름, 다중 데이터 흐름 - MISD -> 다중 명령어 흐름, 단일 데이터 흐름 -..
프로그래밍 언어의 실행 * 프로그래밍의 구현 architecture * 컴퓨터 네트워크 환경 프로그래밍의 구현 architecture * 프로그래밍 처리과정 * 소프트웨어 개발 Paradigm - 소프트웨어 위기 현상 (1960 ~ 1970) - 소프트웨어 개발 패러다임 - 구조적 기법 > 원하는 결과를 구하기 위해 일련의 함수로서 프로그래밍 작성 > 데이터와 함수의 분리 > 개발과 유지보수에 많은 COST(비용) 발생 - 객체지향 기법 > 객체 (Object) = 데이터 + 처리기능 (메소드)을 단위화(Black Box)하여 캡슐화(Encapsulation)시키고 각 기능의 상속(Inheritance)으로 기능의 재 사용이 가능 다형성(Polymorphism) - 컴포넌트 기법 > 외부와 Interfa..
컴퓨터 프로그래밍 (Computer Programming) * 프로그래밍 일반 * 기계어 * 어셈블리 언어 프로그래밍 일반 * 컴퓨터는 하드웨어(Hardware)와 소프트웨어(Software)로 구성된다 * 하드웨어를 잘 동작 시킬 수 있도록 제어하고, 지시하는 모든 종류의 프로그램을 소프트웨어라고 한다 * 소프트웨어는 시스템 소프트웨어와 응용 소프트웨어로 나눌 수 있다 프로그램 처리 과정 * 프로그램을 작성하는 일은 일련의 기계 명령어를 진.간접적으로 기술하는 행위 * 컴퓨터 내부의 기계어는 이진 형태의 의미 파악이 힘든 형태로 구성되어 있어 프로그래머는 영자 숫자 형태의 기호 (일반 고급 언어 - High level language)로 프로그램을 작성하는 것이 더욱 편리하다 * 컴파일 언어의 등장 -..
입출력과 인터럽트 * 입출력 (input/output) 구성 * 인터럽트 (interrupt) 입출력 (input/output) 구성 * 컴퓨터는 사용자와 통신을 하기 위해서 외부 장치, 즉 메모리로 데이터와 명령어를 읽어들일 입력장치(input-device)와 계산 결과를 사용자에게 표시해 줄 출력장치(output-device)를 갖추어야 한다 * 단밀장치(terminal device) : 키보드, 프린터 등 * 입출력 구성 인터럽트 (interrupt) * 프로그램 제어 전송 (program controlled transfer) : 플래그를 사용한 통신 방법 * 프로그램 제어 전송 방법은 프로세스와 입출력 장치와의 속도 차이 때문에 매우 비능률적이다 * 인터럽트 인 에이블 플립플롭 (interrupt..