5 컴퓨터 시스템의 구성과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.

Slides:



Advertisements
Similar presentations
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Advertisements

자료의 표현 1. 문자 자료의 표현 2. 멀티미디어 자료의 표현. 컴퓨터일반자료의 표현 학습 목표 ◆ 컴퓨터에서 사용하는 문자 데이터의 표현 방법을 이해할 수 있다. ◆ 컴퓨터에서 사용하는 멀티미디어 데 이터의 표현 방법을 설명할 수 있다.
13 강 논리회로 2 과목 전자계산기 구조 강사 이 민 욱. 13 강 논리회로  논리회로 1. 부울 대수 (Boolean Algebra) 에서 사용하는 기본 연산자 ① 논리부정 : NOT ( ` ) 논리부정은 F = NOT A 의 표현을 F =A` 로 표현 ② 논리곱.
컴퓨터는 어떻게 동작?.
컴퓨터와 인터넷.
컴퓨터 운영체제의 역사 손용범.
PC정비사 2급(필기) 제6강 기타 주변장치 예상문제.
Lecture #2 제2장 CPU의 구조와 기능(1).
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
제4장 조합논리회로 내용 4.1 조합논리회로 설계 과정 4.2 산술회로 : 가산기(adder)/ 감산기(subtractor)
임베디드 시스템.
12장. 제어 장치 다루는 내용 CPU속의 제어장치 마이크로 연산 제어장치의 동작.
제 3장 컴퓨터 시스템의 구조.
컴퓨터 구조.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
P.L.C -Programmable Logic Controller
컴퓨터 기억장치 문수영 ` = ,./][.
제10강 중앙처리장치 1.
컴퓨터 응용과 3학년 1반 조장 김영조 조원 구본건 , 임선택
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Error Detection and Correction
멀티미디어 시스템 (아날로그 이미지,신호를 디지털로 변환 방법) 이름 : 김대진 학번 :
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
버스카드 시스템 1조 하경록 : 작품 제작, 파워포인트 김태승 : 작품 제작, 파워포인트 최성호 : 작품 제작, 프로그래밍
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
4. LAN의 배선체계 (3장. LAN: Local Area Network)
ATmega128 FND 실습 휴먼네트웍스 기술연구소
DK-128 FND 실습 아이티즌 기술연구소 김태성 연구원
제 1장. 멀티미디어 시스템 개요.
Microprocessor I/O Port & CLCD Noh Jin-Seok.
14 마이크로 연산과 제어장치 IT CookBook, 컴퓨터 구조와 원리 2.0.
1장 운영체제 2-C반 운영체제 박소라.
P2P시스템에 대해서 (peer to peer)
Chap 6.Assembler 유건우.
디지털회로설계 (15주차) 17. 시프트 레지스터와 카운터 18. 멀티바이브레이터 * RAM & ROM.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
컴퓨터시스템 구조 Computer System Architecture.
논리회로 설계 및 실험 5주차.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
2. 컴퓨터 시스템의 동작 명령어 구성 연산 종류와 기능에 따라 오퍼랜드 부분을 다양하게 활용 가능.
컴퓨터 시스템 하드웨어 컴퓨터 시스템 소프트웨어 C P U Control Unit 입 력 장 치 출 력 장 치 ALU
AUTODESK AUTOCAD ELECTRICAL 전기제어 2D 설계 소프트웨어 표준기반 설계 생산성 도구 구조도 설계
제4강 처리장치 1.
ARM Development Suite v1.2
“사람과 컴퓨터” 이 점 숙 컴퓨터와 소프트웨어 “사람과 컴퓨터” 이 점 숙
1 컴퓨터 시스템 소개.
ATmega128의 특징 아이티즌 기술연구소
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
제2강 : 전자계산기구조-컴퓨터 시스템 구성.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
DK-128 직렬통신 실습 아이티즌 기술연구소
AT MEGA 128 기초와 응용 I 기본적인 구조.
Ⅰ 전자기초 Ⅱ 디지털 논리회로 Ⅲ C언어 기초 Ⅳ AVR 마이크로 컨트롤러 Ⅴ 마이크로 컨트롤러 개발환경
컴퓨터 구성요소와 사용 컴퓨터 문서 작업 인터넷 활용
컴퓨터구조 연습문제 발표 Chapter 3 - 컴퓨터의 기능 및 상호연결의 최상위 관점
논리회로 설계 및 실험 4주차.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
TVM ver 최종보고서
3.2 분기 명령어.
System Security Operating System.
13장. 시스템 버스 다루는 내용 시스템 버스의 개념 다중버스 계층 구조 버스 중재.
제 4 장 Record.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
 6장. SQL 쿼리.
컴퓨터는 어떻게 덧셈, 뺄셈을 할까? 2011년 10월 5일 정동욱.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
Presentation transcript:

5 컴퓨터 시스템의 구성과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0

학습목표 컴퓨터의 하드웨어 구성장치를 파악한다. 컴퓨터 구성요소에 대하여 분류하고 그 기능을 이해한다. 시스템 버스의 개념을 이해한다. 컴퓨터의 수행 동작을 이해한다.

목 차 컴퓨터 분해를 통한 구성장치의 분석 컴퓨터 구성 요소 버스와 상호 연결 컴퓨터의 기능과 동작

01 컴퓨터 분해를 통한 구성장치의 분석 컴퓨터의 구성요소 컴퓨터의 외관적인 구성장치들을 주변장치(peripheral device)라고 한다.

01 컴퓨터 분해를 통한 구성장치의 분석 입출력장치(Input Output Device) 입력장치(Input Device) 컴퓨터가 작업을 수행하기 위해 사용되는 데이터를 입력하는 장치다. 키보드 : 데이터를 입력하는 장치로 문자, 숫자, 특수키, 기능키 등으로 구성된다. 마우스 : 마우스가 움직이면 그에 따라 화면에 나타난 커서(cursor)가 움직이며, 위에 있는 버튼을 눌러 명령어를 선택하거나 프로그램을 실행한다. 스캐너 : 사진 영상을 읽어 들여 기억장치에 디지털 데이터로 저장한다. 비디오 캠코더 : 촬영한 동영상을 디지털 데이터로 변환해서 컴퓨터에 입력한다. 그래픽 태블릿(Graphic Tablet)와 디지타이저(Digitizer) 평판 태블릿, 마우스와 스타일러스(stylus)로 구성된다. 대형 그래픽 도면, 손으로 쓴 글씨 등의 입력에 사용한다.

01 컴퓨터 분해를 통한 구성장치의 분석 출력장치(Output Device) 컴퓨터가 수행한 결과를 나타내는 장치다. 모니터(Monitor) 가장 대표적인 출력장치다. 그패픽 카드의 종류에 따라 다양한 해상도 지원한다. 해상도는 그래픽 카드가 지니는 VRAM(Video RAM)의 용량에 따라 제한된다. 액정 디스플레이(LCD: Liquid Crystal Display)의 가격이 하락하고 해상도가 높아져 점차 액정 모니터가 일반화되고 있다. 컬러 프린터 컴퓨터에서 출력되는 결과를 종이로 출력해주는 장치다. 잉크젯(Ink Jet) 프린터와 레이저 프린터가 있다.

01 컴퓨터 분해를 통한 구성장치의 분석 출력장치(Output Device) 프로젝터(Projector) 출력되는 결과를 확대할 수 있는 장치다. 컴퓨터 모니터 상에 나타나는 출력을 대형 스크린에 디스플레이하는 장비다. 많은 사람에게 동시에 멀티미디어 정보를 제공할 수 있는 외부 출력장치다. HMD(Head Mounted Display) 머리에 착용해서 화면을 보는 디스플레이 장치다. 부착된 안경을 통해 3차원의 영상을 출력할 수 있다.

01 컴퓨터 분해를 통한 구성장치의 분석 주변장치(Peripheral Device) 미디어 처리장치 사운드 카드 비디오 카드 오디오, 비디오 등의 미디어를 처리해서 컴퓨터로 입출력한다. 사운드 카드 소리를 컴퓨터에서 처리할 수 있는 디지털 방식으로 변환하고, 소리를 재생하거나 녹음한다. 비디오 카드 CPU에서 처리한 그래픽 정보를 아날로그 비디오 신호로 변환하여 모니터에 표시하는 장치다. ‘비디오 어댑터’ 또는 ‘그래픽 카드’ 라고도 한다. 그래픽 가속 보드 3차원 그래픽 등과 같은 고품질의 해상도를 얻거나 렌더링 속도를 향상시키는 데 사용된다. 현재는 비디오 카드에 내장되는 것이 보편화되고 있다.

01 컴퓨터 분해를 통한 구성장치의 분석 보조기억장치와 통신장치 보조기억장치 컴퓨터의 중앙처리장치가 아닌 외부에서 프로그램이나 데이터를 보관하기 위한 기억장치다. 주기억장치보다 속도는 느리지만 많은 자료를 영구적으로 보관할 수 있다. 읽기만 가능한 장치와 읽기와 쓰기가 가능한 장치로 구분된다. 재생 및 기록 가능한 보조기억장치 하드디스크(Hard disk) : 하드라고 부르는 기억장치다. 플로피디스크(Floppy disk) : 이동성이 가능한 소용량의 기억장치로 저장용량의 부족과 물리적으로 강인하지 못한 이유로 잘 사용이 되지 않고 있다. 자기테이프(Magnetic tape) : 대용량의 데이터를 저장하는 백업장치다. 재생만 가능한 장치 CD-ROM, DVD-ROM

01 컴퓨터 분해를 통한 구성장치의 분석 보조기억장치와 통신장치 통신 장치 데이터 통신과 인터넷을 하기 위해서 사용되는 주변장치다. LAN(Local Area Network) 카드 인접 PC들을 LAN에 연결해준다. 모뎀(MODEM: Modulator DeModulator, 변복조기) 디지털(Digital) 신호를 아날로그(Analog) 신호로, 아날로그 신호를 디지털 신호로 바꾸는 역할을 담당

01 컴퓨터 분해를 통한 구성장치의 분석 컴퓨터의 주요 주변장치

01 컴퓨터 분해를 통한 구성장치의 분석 주회로기판에 존재하는 구성요소 주회로기판 구성 컴퓨터 내부의 주 회로 기판(Main Board)에는 주요 하드웨어 구성 요소들이 존재한다. 주회로기판 구성 중앙처리장치(CPU), 주기억장치인 RAM, I/O 컨트롤러가 있다. 주변장치들이 연결될 수 있도록 확장슬롯과 각종 포트와 단자가 있다. 전원 공급장치와 중앙처리장치를 위한 냉각 송풍기, 케이블과 전선들이 있다. 각 구성요소들은 버스로 연결되어 데이터를 송수신한다.

01 컴퓨터 분해를 통한 구성장치의 분석 주회로기판구성 요소 중앙처리장치(CPU, Central Processing Unit) 프로그램 실행과 데이터 처리라는 중추적인 기능 수행한다. 제어장치, 연산장치, 레지스터 등으로 구성된다. 다양한 마이크로프로세서를 사용 한다. 예) Intel, AMD, Motorola 마이크로프로세서 주기억장치(Main Memory) 컴퓨터 내에서 명령어와 데이터들을 기억하는 저장장치다. 고속 액세스가 가능하나 가격이 높고 저장 용량의 한계가 있다. 영구 저장 능력이 없어 프로그램 실행 중에 일시적으로만 저장기능을 수행한다.

01 컴퓨터 분해를 통한 구성장치의 분석 주기억장치(Main Memory) RAM(Random Access Memory) CPU가 읽기, 쓰기를 위한 기억장치로, 명령어와 데이터를 저장한다. ROM(Read Only Memory) 읽기전용 기억장치로 부팅(booting)에 필요한 명령어를 내장하고 있다. 캐시 메모리(Cache Memory) RAM보다 빠른 고속 RAM으로 CPU에 자주 쓰이는 명령어와 데이터를 저장하여 처리 성능을 높이는 역할을 한다.

01 컴퓨터 분해를 통한 구성장치의 분석 보조기억장치 시스템 확장 카드 주기억장치를 보조하므로 2차 기억장치(secondary memory)라고 한다. 액세스의 속도가 저속이고 대용량 데이터를 저장하는 데 사용한다. 하드디스크, DVD-ROM, CD-ROM, 플로피디스크 등이 있다. IDE등의 표준화 연결방식으로 CPU에 연결한다. 시스템 확장 카드 컴퓨터의 기능을 확장하거나 보조하기 위하여 카드 형태로 만들어진 장치다. 사용자는 특수 목적에 맞는 확장카드를 주회로기판에 부착하여 사용한다. LAN카드, 사운드 카드, 그래픽 카드, 영상카드 등의 다양한 종류가 있다.

01 컴퓨터 분해를 통한 구성장치의 분석 입출력 포트 입출력장치를 컴퓨터에 연결해주는 역할을 한다. 병렬 포트(Parallel Port), 직렬 포트(Serial Port), USB 포트, Firewire 포트, LAN 포트, 음향기기를 위한 입출력 포트 등이 있다. 최근에는 병렬포트와 직렬포트가 USB 포트와 Firewire 포트로 대체되고 있으며, 또한 블루투스의 무선 연결 방식으로 대체되고 있는 추세다.

02 컴퓨터의 구성 요소 컴퓨터 시스템이 동작하려면 하드웨어뿐만 아니라 소프트웨어도 필요 컴퓨터를 구성하는 장치인 하드웨어(hardware)는 물리적인 실체로 컴퓨터에서 사용되는 정보들을 처리, 전송, 저장 그리고 전송 통로를 제공한다. 하드웨어가 특정 작업을 수행하도록 제어 신호들을 제공하는 일련의 부호들(codes) 혹은 명령어들(instructions)의 집합을 소프트웨어(Software)라고 부른다. 펌웨어(Firmware)는 소프트웨어를 하드웨어화한 것으로 하드웨어와 소프트웨어의 중간단계에 해당되어 미들웨어(Middleware)라고도 한다.

02 컴퓨터의 구성 요소 컴퓨터 하드웨어의 분류 중앙처리장치(CPU) 기억장치 입력장치 출력장치 컴퓨터의 두뇌로서 프로그램을 읽고 해석하여 실행한다. 산술논리연산장치, 제어장치, 레지스터로 구성된다. 기억장치 컴퓨터에 필요한 정보를 저장하는 장치다. CPU가 사용하는 주기억장치와 영구적 저장을 위한 보조기억장치로 구성된다. 입력장치 컴퓨터 시스템 외부에서 정보를 입력받는 장치다. 마우스, 키보드, 터치패드, 광학 스케너 등이 있다. 출력장치 컴퓨터 시스템에서 처리된 결과물을 외부로 출력해주는 장치다. 대표적인 출력장치로 프린터, 스피커, 모니터 등이 있다.

02 컴퓨터의 구성 요소 중앙처리장치를 구성하는 하드웨어 중앙처리장치의 구성 산술논리연산장치, 레지스터, 제어장치는 논리회로 소자들의 집합이다.

02 컴퓨터의 구성 요소 산술논리연산장치 (ALU, Arithmetic and Logical Unit) 간단하게 설계된 ALU 컴퓨터에서 수행하는 산술 연산과 논리 연산을 수행하는 장치 ALU를 어떻게 설계하느냐에 따라서 연산의 개수가 결정된다. 간단하게 설계된 ALU (a)는 산술 연산을 위한 처리기, 논리 연산을 위한 처리기 그리고 이동 처리를 위한 이동 처리기가 있다. (b)는 처리기들이 4 x 1 멀티플렉서를 통해서 연산의 결과를 출력하는 (a)의 우측부분을 확대해서 나타낸 것이다.

02 컴퓨터의 구성 요소 산술연산 처리기 4비트의 덧셈과 뺄셈 연산을 수행하도록 설계되었다. 전가산기 4개를 가지고 조합논리회로를 구성된다.

02 컴퓨터의 구성 요소 논리연산 처리기 AND, OR, XOR, 보수 연산을 수행한다.

02 컴퓨터의 구성 요소 이동처리기 양쪽으로 이동하는 레지스터로 2의 곱셈과 나눗셈 연산을 수행한다. 레지스터는 4개의 D 플립플롭을 가지고 설계된 순차 논리회로다.

02 컴퓨터의 구성 요소 레지스터 CPU에서 사용되는 데이터 정보를 임시적으로 저장하는 장치다. 플립플롭의 연결을 기본으로 하는 순차 논리회로다. 4비트 데이터를 병렬로 읽기와 쓰기가 가능한 레지스터다.

02 컴퓨터의 구성 요소 레지스터의 종류 프로그램 카운터(PC, Program Counter) 다음에 실행할 명령어의 주소를 저장하는 레지스터다. 명령어 레지스터(IR, Instruction Register) 기억장치로부터 읽어온 명령어를 수행하기 위하여 일시적으로 저장한다. 기억장치 주소 레지스터(MAR, Memory Address Register) 다음에 읽기 동작이나 쓰기 동작을 수행할 기억장소의 주소를 저장하는 주소저장용 레지스터다. 기억장치 버퍼 레지스터(MBR, Memory Buffer Register) 기억장치에 저장될 데이터 혹은 기억장치로부터 읽은 데이터를 임시로 저장한다. 입/출력 주소 레지스터(I/O AR: I/O Address Register) 입/출력장치의 주소를 저장하는 주소 레지스터다. 입/출력 버퍼 레지스터(I/O BR: I/O Buffer Register) 입/출력 모듈과 CPU 사이에 교환되는 데이터를 일시적으로 저장한다.

02 컴퓨터의 구성 요소 제어장치 CPU에서 사용하는 명령어의 실행 과정을 관리하고 제어하는 장치 제어장치 내의 구성 순서제어 논리장치(sequencing logic), 제어장치 레지스터들(control unit registers), 명령어 해독기(decoder), 제어 메모리(control memory)로 구성된다. 제어장치 레지스터들에는 제어 주소 레지스터(control address register), 제어 버퍼 레지스터(control buffer register), 서브루틴 레지스터(subroutine register) 등이 있다.

02 컴퓨터의 구성 요소 제어장치의 마이크로 구조 가장 기본적인 형태로 만들어진 제어장치의 구조 레지스터, 기억장치, 해독기, 순서제어 모듈로 구성 된다.

02 컴퓨터의 구성 요소 명령어 해독기와 순서제어 모듈 명령어 해독기는 디코더를 사용하여 구현 순서 제어모듈은 멀티플렉서와 주소 선택회로로 구성

02 컴퓨터의 구성 요소 기억장치를 구성하는 논리회로 반도체 기억장치에서 논리 회로를 이용하는 기억장치는 RAM의 한 종류인 SRAM이 있다. SRAM은 플립플롭을 기본 구성으로 해서 1비트를 저장하는 기억소자를 만든다. SRAM 기억소자의 논리회로와 논리기호 RS 플립플롭과 AND 게이트가 조합된 순차 논리회로를 구성한다.

02 컴퓨터의 구성 요소 4×3 SRAM의 기본구조 주소 입력을 위해서 2 x 4 디코더가 이용되고 출력단에서는 OR 게이트를 사용한다.

02 컴퓨터의 구성 요소 입출력 제어기를 구성하는 논리 회로 속도 차이를 극복하기 위한 방법으로 입출력 제어기를 사용 입출력장치와 CPU와의 처리속도는 그 차이가 너무 커서 직접적으로 데이터를 주고 받는 것은 굉장히 비효율적이다. 속도 차이를 극복하기 위한 방법으로 입출력 제어기를 사용 처리속도 및 동작 특성이 유사한 입출력장치들을 제어 관리한다. 입출력 제어기의 구조 레지스터와 주소 디코더는 일반적인 조합 논리 회로와 순차 논리 회로들을 이용하여 그 기능을 수행할 수 있다. 또한 제어 회로도 마찬가지다.

02 컴퓨터의 구성 요소 버스를 통한 하드웨어의 연결 컴퓨터를 구성하는 하드웨어는 버스를 통해서 연결되고 이를 통해서 데이터와 각종 제어신호를 전달한다. 버스로 연결된 컴퓨터의 구성 요소와 중앙처리장치를 중심으로 데이터 신호와 명령 신호의 흐름

02 컴퓨터의 구성 요소 소프트웨어 컴퓨터 명령(command) 소프트웨어의 분류 정보를 원하는 형태로 처리하고, 목적하는 방향으로 이동시키면 저장장치에 저장시키는 동작을 수행한다. 명령들이 모여서 하나의 프로그램을 형성하며, 프로그램들이 모여서 집합을 형성한 것이 소프트웨어다. 컴퓨터 시스템이나 주변기기 등의 하드웨어를 작동시켜 원하는 작업 결과를 얻기 위한 프로그램 또는 명령어의 거대 집합이다. 소프트웨어의 분류 시스템 소프트웨어(system software), 응용 소프트웨어(application software)로 분류된다.

02 컴퓨터의 구성 요소 시스템 소프트웨어 컴퓨터 시스템의 운영을 위한 프로그램으로, 컴퓨터 시스템의 개별 하드웨어 요소들을 직접 제어, 통합, 관리하는 가장 큰 기능을 수행 운영체제, 장치 드라이버, 프로그래밍 도구, 컴파일러, 어셈블러, 유틸리티 시스템 소프트웨어의 계층적 분류

02 컴퓨터의 구성 요소 운영체제(OS, Operating System) 운영 체제의 역할 운영체제 기능 물리적 장치와 논리적 자원인 파일의 관리 및 제어를 수행한다. 하드웨어를 직접 제어하고 자원을 관리해서 컴퓨터의 시동, 메모리나 파일 관리, 주변기기 관리, 네트워크에 연결 등의 작업을 수행한다. 응용 프로그램들의 실행환경을 제공한다. 컴퓨터와 사용자 사이의 중재적 역할을 한다. 운영체제 기능 컴퓨터의 시동(Booting) 사용자 인터페이스 제공 프로그램 실행관리 메모리 관리 파일 관리 기타 기능 : 보안(security) 기능, 암호화 및 압축 기능, 인터넷 연결 작업, 네트워크 제어 기능, 성능 모니터링 기능 등을 지원

02 컴퓨터의 구성 요소 프로그래밍 언어 고급(High-level) 언어 저수준(Low-level) 언어 컴퓨터가 읽고 사용하는 명령이나 코드의 집합으로, 프로그래머가 의도한 대로 동작하는 프로그램을 개발하는 데 사용한다. 고급(High-level) 언어 명령어가 인간이 사용하는 일상적인 문장에 가까운 언어다. 컴퓨터가 사용하는 기계어하고는 차이가 커서, 고급 언어를 기계어로 번역하기 위해서는 복잡한 과정을 거쳐야 한다. 저수준(Low-level) 언어 컴퓨터가 사용하는 언어라고 해서 기계어(Machine Language)라고 한다. 데이터를 표현에 있어 기본 단위인 비트의 값 0과 1로 그대로 표기하는 언어다. 어셈블리 언어(Assembly Language) 컴퓨터 고유의 기계어 명령을 사람이 어느 정도 해독할 수 있도록 문자화하거나 기호화한 형태의 중간수준의 언어다.

02 컴퓨터의 구성 요소 컴파일과 컴파일러 컴파일 컴파일러(Compiler) 프로그램을 컴퓨터가 이해할 수 있는 언어로 번역하는 과정을 컴파일이라 한다. 컴파일러(Compiler) 모든 프로그램은 컴퓨터가 사용할 수 있는 기계어로 번역되어야 실행이 가능하다. 소스 프로그램(Source Program)을 기계어로 번역하여 오브젝트 코드(Object Code)라 불리는 실행 가능한 프로그램으로 만들어주는 프로그램이 컴파일러다.

02 컴퓨터의 구성 요소 데이터베이스 관리시스템(DBMS) 응용 소프트웨어와 운영체제 사이에서 대용량 데이터를 효율적으로 관리하기 위한 시스템 소프트웨어 데이터베이스의 추가, 수정, 검색 등의 작업을 하기 위한 시스템 인터페이스를 제공하며 관리 DBMS의 특징 데이터의 효율적 관리 데이터 접근에 대한 관리 효율적인 데이터 검색 원하는 형태의 보고서 즉시 작성 백업 및 복구 기능 보유 다양한 인터페이스 제공

02 컴퓨터의 구성 요소 범용 유틸리티 소프트웨어와 장치드라이버 범용 유틸리티 소프트웨어 장치 드라이버 사용자가 컴퓨터를 효율적으로 관리하는데 필요한 다양한 기능을 독립적으로 수행하는 프로그램이다. 대표적인 기능 파일 관리 기능 : 파일의 목록을 보여주고 파일을 복사하거나 이름을 바꾸고 삭제하며 저장한다. 디스크 관리 기능 불필요한 파일을 삭제하거나 문제점을 해결한다. 그리고 포맷팅 기능도 있다. 디스크 조각 모으기를 통해서 작은 조각들을 모아서 파일공간으로 사용하기 쉽도록 만들어 주는 기능도 포함한다. 시스템 상태 보기 컴퓨터 하드웨어, 주변기기나 시스템 소프트웨어의 상태 보기를 통해서, 시스템의 문제를 진단한다. 장치 드라이버 컴퓨터에 연결되는 주변 장치를 제어할 수 있도록 지원하는 소프트웨어다.

02 컴퓨터의 구성 요소 응용 소프트웨어 컴퓨터에게 특정목적의 작업을 수행하기 위한 프로그램들 컴퓨터가 많은 다른 작업을 수행할 수 있도록 하는 소프트웨어다. 응용 소프트웨어에 대한 계층적 개념과 분류

02 컴퓨터의 구성 요소 응용 소프트웨어 종류 및 특성

02 컴퓨터의 구성 요소 펌웨어(Firmware) 일반적으로 시스템의 효율을 높이기 위한 ROM에 저장된 하드웨어를 제어하는 마이크로 프로그램을 의미 ROM은 프로그램이 고정되어 있기 때문에 하드웨어의 특성도 가지고 있지만 실제로는 소프트웨어에 더 가깝다. 소프트웨어를 하드웨어화 시킨 것으로 소프트웨어와 하드웨어의 중간에 해당한다. 소프트웨어의 기능을 펌웨어로 변경할 수 있으면 속도가 현저하게 증대 고속 처리가 필요한 프로그램은 펌웨어로 만들어 사용한다. 하드웨어의 기능을 펌웨어로 변경하면 속도는 느려진다. 논리 회로를 설계하여 사용하는 것 보다 저렴하고, 편리하게 구현하여 사용할 수 있는 장점을 가지기도 한다.

03 버스와 상호 연결 버스(Bus) 컴퓨터에서 두 개 혹은 그 이상의 장치들을 연결하는 공유 전송 매체 버스를 통해서 전송되는 데이터의 유형들 프로세서가 기억장치로부터 명령어와 데이터를 읽는 유형. 프로세서가 기억장치에 데이터를 저장하는 유형. 프로세서는 입출력(Input/Output, I/O) 모듈을 통하여 I/O 장치로부터 데이터를 읽고, 프로세서가 I/O 장치로 데이터를 전송하는 유형. I/O 모듈이 DMA(Direct memory access )를 통하여 기억장치와 직접 데이터를 교환하는 전송 유형. 시스템 버스(system bus) 프로세서, 기억장치 및 I/O 장치간의 통신을 위한 상호 연결한다.

03 버스와 상호 연결 시스템 버스의 분류 주소 버스 데이터 버스 제어 버스(Control Bus) 데이터가 읽혀지거나 쓰여질 기억장소의 주소를 전송하는 통로다. CPU가 외부로 발생하는 주소 정보를 전송하는 신호 선들의 집합이다. 데이터 버스 모듈들 사이로 데이터를 전송하는 통로다. CPU가 기억장치와 I/O 장치와의 사이에 데이터를 전송하는 신호 선들의 집합이다. 제어 버스(Control Bus) 제어신호들을 전송하는 통로다. CPU가 컴퓨터내의 각종 장치들의 동작을 제어하기 위한 신호 선들의 집합이다. 기억장치 읽기/쓰기(Memory Read/Write) 신호 전송 확인(transfer acknowledge), 인터럽트 확인(interrupt acknowledge) 버스 승인(bus grant) I/O 읽기/쓰기(I/O Read/Write) 신호 버스 요구(bus request), 인터럽트 요구(interrupt request) 리셋(reset)

03 버스와 상호 연결 시스템 버스의 구성

03 버스와 상호 연결 시스템 버스의 방향성과 기억장치 쓰기와 읽기 시간 시스템 버스의 방향성 데이터 버스는 읽기와 쓰기 동작을 모두 수행하므로 양방향성을 갖는다. 제어 버스는 요구 제어신호와 확인 제어신호를 사용하므로, 양방향성이다. 주소 버스는 신호가 CPU로부터 기억장치 혹은 I/O 장치들로만 전송되지만 반대로의 전송은 존재하지 않기 때문에 단방향성 버스다. 기억장치 쓰기동작 CPU는 기억장치에 데이터를 전송해서 저장한다. 기억장치 읽기 동작 CPU가 기억장치에 저장된 데이터를 가져와 자신의 레지스터에 싣는다.

03 버스와 상호 연결 기억장치 쓰기 시간(memory write time) 기억장치 쓰기 동작에서 CPU가 주소와 데이터를 보낸 순간부터 저장이 완료될 때까지의 시간이다. 기억장치 읽기 시간(memory read time) 기억장치 읽기 동작에서 주소를 해독(decode)하는 데 걸리는 시간과 선택된 기억 소자들로부터 데이터를 읽는 데 걸리는 시간을 합한 시간이다. 기억장치 액세스 동작의 시간 흐름도

03 버스와 상호 연결 CPU와 주변장치와의 데이터 전송 CPU에서 입출력장치로의 데이터 이동 시스템 버스와 입출력장치를 연결하는 입출력장치 제어기 (I/O device controller)가 있다. CPU와 입출력 장치간의 데이터 흐름

03 버스와 상호 연결 입출력 장치 제어기의 역할 CPU로부터 입출력 명령을 받아서, 해당 입출력 장치를 제어하고 데이터를 이동시키는 명령을 수행하는 전자회로 장치이며, 두 개의 레지스터가 존재한다. 상태 레지스터 입출력장치의 현재 상태를 나타내는 비트들을 저장한 레지스터이다. 준비 상태(RDY) 비트, 데이터 전송확인(ACK) 비트가 해당 상태를 표시한다. 데이터 레지스터 CPU에서 입출력 장치 간에 이동되는 데이터를 일시적으로 저장하는 레지스터다.

03 버스와 상호 연결 시스템 버스를 통한 구성장치의 연결

03 버스와 상호 연결 컴퓨터의 기능과 동작 컴퓨터의 특징과 기능 컴퓨터의 기본적인 특징 컴퓨터의 기본적인 기능 신속성 : 컴퓨터의 처리 속도는 고속이어서 1초에 수억 번의 작업을 수행한다. 신뢰성 : 입력된 자료를 오류 없이 정확하게 처리해줘서 그 결과를 믿을 수 있다. 정확성 : 입력된 자료가 정확하고 사용 방법이 올바르면 처리 결과는 정확하다. 대용량성 : 작은 기억장치 하나에 방대한 양의 자료를 저장할 수 있다. 공유성 : 인터넷에 연결된 컴퓨터는 정보를 많은 사람이 공유하게 한다. 컴퓨터의 기본적인 기능 입력 기능 : 데이터나 프로그램을 컴퓨터 내부로 잃어오는 기능이다. 기억 기능 : 입력된 데이터나 프로그램, 중간 결과 및 처리된 결과를 기억한다. 처리 기능 : 산술이나 논리 연산 등을 수행. 프로그램을 읽고 해석하여 각 장치에 필요한 지시를 한다. 출력 기능 : 처리 결과를 기호, 문자, 그림, 음성 등의 형태로 외부로 낸다. 통신 기능 : 다른 컴퓨터와 연결하여 자료를 입력 또는 처리하거나 출력한다,

03 버스와 상호 연결 컴퓨터의 기능

03 버스와 상호 연결 컴퓨터 시스템의 동작 컴퓨터 시스템의 작동 과정 컴퓨터에서 프로그램이 실행 시, 구성 장치들이 수행하는 동작 실행 : CPU가 주기억장치에서 프로그램 코드를 읽어서 실행한다. 데이터 저장 : 프로그램 실행 결과로서 얻어진 데이터를 주기억장치에 저장한다. 데이터 이동 : 보조기억장치에 저장되어 있는 프로그램과 데이터 블록을 주기억장치로 이동시키는 기능 데이터 입력 : 사용자가 키보드를 통해 보내는 명령이나 데이터를 읽어 들인다. 데이터 출력 : CPU가 처리한 결과 값이나 기억장치의 내용을 출력한다. 제어 : 프로그램이 순서대로 실행되도록 또는 필요에 따라 실행 순서를 변경하도록 조정하며, 각종 제어 신호들을 발생시킨다.

03 버스와 상호 연결 컴퓨터에서 프로그램의 역할 컴퓨터의 동작은 프로그램내의 명령어를 읽고, 처리하고, 그리고 저장하는 과정을 통해서 정해진 순서대로 프로그램을 실행 프로그램내의 명령어가 수행되는 과정 명령어 인출 : 명령어를 읽어가지고 오는 단계다. 명령어 해독 : 명령어의 내용을 결정하는 단계다. 명령어 실행 : 해독 명령어의 내용을 수행하는 과정으로 처리 결과는 저장한다. 프로그램 카운터 증가 단계 : 다음 명령어를 수행하기 위한 단계다.

03 버스와 상호 연결 명령어 사이클 (Instruction Cycle) 중앙처리장치가 하나의 명령어를 실행하는데 필요한 전체 처리 과정을 명령어 사이클이라고 한다. 명령어 사이클은 기본적으로 인출 사이클(fetch cycle)과 실행 사이클(execution cycle)의 부 사이클(sub-cycle) 두 개로 구성되어 있다. 인출 사이클은 CPU가 주기억장치로부터 명령어를 읽어오는 단계다. 실행 사이클은 명령어를 실행하는 단계다. 실행되는 동작은 다음과 같이 분류한다. 프로세서와 기억장치 간에 데이터가 전송된다. 프로세서와 I/O 모듈 간에 데이터가 전송된다. 데이터에 대하여 지정된 산술 혹은 논리 연산이 수행된다. 제어(control)동작 : 점프(jump) 같이 실행 명령어의 순서가 변경될 때 사용된다.

03 버스와 상호 연결 명령어 인출 사이클 과정 명령어 인출 사이클의 3단계 과정 인출 사이클에서 주소 및 명령어의 흐름 명령어 인출 사이클의 3단계 과정 t0 : 프로그램 카운터(PC)는 다음에 인출할 명령어의 주소를 가지고 있다. 이것을 MAR에 저장한다. t1 : 프로세서는 PC가 지정하는 기억장소로부터 명령어를 인출한다. 그리고 PC 내용을 증가시킨다. t2 : 인출된 명령어가 명령어 레지스터(IR)로 적재된다. 그리고 프로세서는 명령어를 해석하고, 요구된 동작을 수행한다. 인출 사이클에서 주소 및 명령어의 흐름

03 버스와 상호 연결 CPU는 실행 사이클 동안에 명령어 코드를 해독(decode)하고, 그 결과에 따라 필요한 연산들을 수행 ADD 명령어의 예 기억장치에 저장된 데이터를 AC(Accumulator, 누산기)의 내용과 더하고, 그 결과는 다시 AC에 저장하는 명령어다. ADD 명령어 실행 사이클 3단계 과정 t0 : MBR에 저장될 데이터의 기억장치 주소를 MAR로 전송한다. t1 : 저장할 데이터를 버퍼 레지스터인 MBR로 이동한다. t2 : MBR 데이터와 AC의 내용을 더하고 결과값을 다시 AC에 저장한다. ADD 명령어 실행 사이클 동안의 정보 흐름

03 버스와 상호 연결 컴퓨터 언어를 이용한 프로그램의 작성 어셈블리 언어(assembly language) 어셈블리 코드들의 집합으로, 고급 언어와 기계어 사이의 중간 언어 저급 언어인 기계어와 일대일 대응 관계로 기계어로의 변환과정이 쉽다. 어셈블러 : 어셈블리 프로그램을 2진수의 기계어로 번역하는 소프트웨어 니모닉스(mnemonics) : 어셈블리 명령어가 지정하는 동작을 개략적으로 짐작할 수 있도록 하기 위해 사용되는 기호 LOAD : 기억장치에 저장된 데이터나 명령어를 명령어 레지스터 IR로 읽어 오는 어셈블리 명령어다. ADD : 두 레지스터에 저장된 데이터를 산술적으로 덧셈을 수행하고 결과를 레지스터에 저장하라는 명령어다. STOR : 처리되거나 계산된 데이터를 기억장치로 저장하는 명령어다.

03 버스와 상호 연결 덧셈 연산에 대한 고급 언어에서 기계어로 변경되는 과정 고급 언어로 두 수가 덧셈을 수행하도록 작성된 코드의 예 Z = X + Y 어셈블리로 변환 1 단계 : LOAD A, X 2 단계 : ADD A, Y 3 단계 : STOR Z, A 기계어로의 변환

03 버스와 상호 연결 기계어 기계어는 두 개의 필드로 구분된 일정한 형식을 갖는다. 8비트 기계명령어 형식 연산 코드(operation code) 필드는 CPU가 수행할 각종 연산을 지정해 주는 비트다. 오퍼랜드(operand) 필드는 적재될 데이터가 저장되어 있는 기억장치 주소 또는 연산에 바로 사용될 데이터 비트 값을 나타낸다. 8비트 기계명령어 형식 연산 코드의 비트 수가 3이면, 지정할 수 있는 연산의 최대 수는 8(= 23)이다. 오퍼랜드의 비트의 수가 5이면, 지정할 수 있는 기억장소의 최대 수는 32(= 25)다. 기억장치에 저장되어 있는 단어 단위의 기계어 프로그램과 데이터가 기억장치에 저장되는 단위를 단어(word)라고 하는데 CPU가 한 번에 처리할 수 있는 비트들의 그룹이다.

Thank You IT CookBook, 컴퓨터 구조와 원리 2.0