프로그래밍/TIL(Today I Learned) 90

13강 입출력시스템(2)

1. 입출력 버스 - 컴퓨터 시스템의 버스- 중앙처리장치, 주기억장치, 각종 입출력장치, 네트워크 연결된 다른 컴퓨터들 사이에 정보가 교환될 수 잇는 통신 회선- 버스에 연결된 장치는 주 장치와 종 장치로 구분- 주장치 : 데이터 전달회선의 사용권을 획득하고 실제로 전송에 필요한 제어를 하는 장치- 종장치 : 주장치의 요구에 따른 데이터 전달에 필요한 작업을 하는 장치 - 버스 회선의 구성 : 제어 회선, 주소 회선, 데이터 회선- 중앙처리장치 내부 버스 : ALU와 레지스터 간의 데이터 이동을 윟나 버스- 주기억장치 버스 : 중앙처리 장치와 - 주기억장치 사이의 버스 / 데이터, 주소, 제어버스로 구성- 입출력 버스 : 입출력에만 이용되는 버스- 입출력 데이터 버스 / 입출력 주소 버스 / 입출력 제어..

12강 입출력시스템(1)

1. 입출략 시스템의 개요 및 구성요소- 입출력 시스템의 성능평가 > 고장시 신속한 회복능력, 확장성, 접근지연시간, 처리량 등- 구성요소- 입출력 시스템- 기본 입출력 시스템 - 입출력 장치- 입출력장치 제어기- 입출력장치 인터페이스- 입출력 버스- 입출력 제어기가 사용된 입출력 시스템- 기본입출력 시스템 + 입출력 제어기 2. 입출력장치- 사용자와 컴퓨터 시스템과의 인터페이스- 중앙처리장치 또는 기억장치와 외부의 입출력 매체 사이에 정보를 전송 3. 입출력장치 제어기 및 입출력제어기- 입출력은 입출력장치와 주기억장치 사이의 정보 전달을 의미- 주기억장치와 입출력장치는 정보 전달시 동작속도, 정보의 단위, 동작의 자율성, 오류발생률의 측면에서 다른 특성을 가짐- 이러한 차이때문에 주기억장치와 입출력 장..

11강 기억장치(2)

1. 캐시기억장치의 사상방식1) 직접 사상- 중앙처리장치가 주기억장치를 참조할 떄 중앙처리장치 주소를 Tag 필드와 Index 필드로 나눈다.2) 연관 사상- 캐시기억장치에 데이털 블록을 저장할 떄 데이터와 그 데이터의 주기억장치 주소도 함께 저장하는 방식주기억장치의 어떤 데이터 블록도 캐시기억장치의 임의의 위치에 저장할 수 있기 때문에 직접사상방식의 단점을 일부분 보완 가능3) 집합-연관 사상- 직접사상 + 연관사상 조합- 캐시기억장치의 하나의 Index에 두 개 이상의 서로 다른 데이터 블록을 저장시켜 하나의 세트(집합) 생성 2. 가상기억장치- 보조기억장치와 같이 기억용량이 큰 기억장치를 마치 주기억장치처럼 사용하는 개념- 주기억장치의 기억용량이 부족한점을 개선하기 위한 목적- 페이징 기법, 세그먼..

10강 기억장치(1)

1. 기억장치의 개요- 기억장치 : 프로그램과 데이터를 저장하는 장치- 주기억장치 : 처리에 당장 필요한 프로그램이나 데이터 저장, 중앙처리장치와 직접 데이터 교환 가능- 보조기억장치 : 주기억장치의 보조, 중앙처리장치와 직접적인 자료교환 불가능, 용량이 크지만 전송속도는 느림- 지역성의 원리- 주어진 시간 동안에 프로그램의 실행에서 발생하는 주소들은 기억장치내의 몇몇 한정된 영역만을 반복적으로 지정하며, 그 밖의 영역에 대한 접근은 상대적으로 드문 현상- 시간적 지역성 : 어떤 내용이 한번 참조되면, 곧 바로 다시 참조되기 쉽다- 공간적 지역성 : 어떤 내용이 참조되면, 그 내용에 가까운 곳에 있는 다른 내용이 곧바로 참조되기 쉽다- 프로그램의 지역성- 기억장치 계층- 속도와 크기가 다른 기억장치를 여..

9강 중앙처리장치(3)

1. 간단한 구조의 컴퓨터 설계- 설계과정1) 기본적인 컴퓨터 구성 설계2) 컴퓨터 명령어 설계3) 명령어 분석을 통한 제어논리 설계4) 하드웨어에 의한 제어장치 설계 2. 명령어 파이프라이닝- 파이프라이닝 : 어떤 일을 실행하는데 있어서 하나의 일을 여러 단계로 나누어, 중첩되게 실행함으로써 성능을 높이는 방법- 명령어파이프라이닝 : CUP의 처리속도를 향상시키기 위한 방법 중의 하나로서, CPU의 내부 하드웨어를 여러 단계로 나누어 처리하는 기술- 방법- 2단계 명령어 파이프라인 : 명령어 수행되는 컴퓨터 사이클을 2단계로 나누어 실행1) 명령어 인출 단계2) 명령어 실행 단계- 실행 속도 : 명령어의 수행으 ㄹ인출과 실행 단계가 중첩되도록 하면 명령어의 처리 속도를 2배 향상 가능- 문제점 : 두 ..

8강 중앙처리장치(2)

1. 명령어 사이클- 한 개의 명령어를 CPU에서 수행하는데 필요한 전체 수행 과정 명령어 인출 > 명령어 해석 > 명령어 실행 > 저장 > 인터럽트 처리+- 명령어 인출 : 기억 장치로부터 명령어를 가져오는 과정- 인출된 명령어의 주소는 PC에 들어있고, 인출된 명령어는 IR로 옮겨진다.- 명령어 해석 : 명령어를 해독하는 과정- 명령어의 종류에 따라 필요한 경우 오퍼랜드의 인출이 일어남- 명령어 실행 : 지정된 연산을 실행하는 과정- 간접주소지정인 경우 기억장치로부터 데이터가 들어있는 유효주소를 인출- 저장 : 명령어 실행단계에서 수행된 연산 결과가 레지스터 혹은 기억장치에 쓰여지는 과정- 인터럽트 처리 : 명령어 실행 도중에 입출력장치와 같은 다른 장치에 의해 인터럽트가 들어오면 그에 합당한 서비스..

7강 중앙처리장치(1)

1. 중앙처리장치의 개요- 컴퓨터에서 명령어를 수행하고 데이터를 처리하는 장치- 프로그램이 수행되는 전반적인 과정을 제어- 처리장치와 제어장치로 구성- 산술논리연산장치 , 레지스터세트, 제어장치, 내부버스로 구성 2. 중앙처리장치의 내부 구조- 산술논리연산장치(ALU)- 구성요소 : 산술연산장치, 논리연산장치, 시프터, 상태 레지스터, 보수기- 상태레지스터 : 연산결과의 상태를 나타내는 플래그를 저장하는 레지스터- 보수기 : ALU 내의 데이터에 대해 보수연산을 수행- 레지스터 세트- CUP내의 레지스터 집합- 기억장치 중 속도가 가장 빠름 > CUP 내에서의 빠른 처리속도를 지원- 빠른 속도를 갖지만 가격이 비쌈 > CPU 내의 레지스터 수 제한- 제어장치- 프로그램에 의한 연산의 순서대로 기억장치, ..

12강 표현언어

1. 표현언어 기본 문법- 표현언어의 의미- 간결한 수식언어, EL이라고 함- 자바빈이나 영역의 속성에 저장된 데이터를 쉽게 표현할 수 있게 함- 스크립트 요소 밖에서 사용, 데이터를 출력하거나 태그에 사용되는 속성의 값을 지정할 때 사용- 표현 언어의 기능- 수식에 사용되는 산술연산자, 관계연산자, 논리연산자 제공- 자바 클래스의 메서드 호출 기능 제공- 집합 객체에 대한 접근 방법 제공- 자바빈 객체를 쉽게 다룰 수 있음- JSP 내장 객체가 제공하는 영역을 사용- 표현 언어의 해석- 정수, 실수, 문자열, true/false, null- ${name}의 해석- 내장객체 / 속성이름 / 자바빈 객체의 이름 등- 표현 언어의 사용- 스크립트 요소(스크립트릿, 표현식, 선언) 밖에서 사용- 태그의 몸체 ..

15강 예외처리

1. 예외- 프로그램 실행 도중에 비정상적인 상황이 발생하는 것> 비정상적인 데이터, 자원의 부족 등- 예외 상황에 대한 적절한 대비를 하지 않으면 정상적인 프로그램 실행이 이루어지지 않음> 프로그램이 안정적으로 동작하도록 하려면 예외의 발생에 대비한 처리 필요 2. C++ 언어의 예외처리 체계- try, catch , throw 3. 예외처리 클래스- 클래스 설계시 예외처리 기능을 포함시킴으로써 객체에서 예외가 발생하였을 때 그 위치나 원인 등의 식별을 용이하게 할 수 있음- exception 클래스- C++ 언어에서 예외를 처리하기위해 예외처리 담당 클래스의 기초 클래스로 제공하는 클래스- 헤더파일 을 소스파일에 포함시킴- 가상함수 what()을 멤버함수로 가지고 있음 - 예외의 종류를 char*로 반환