컴퓨터 구조를 알아보자! > 왜 알아야 할까? 학기 중에 공부하다보니 우리가 작성하는 HLL이 컴퓨터 내부에서 어떻게 작동하는지 알 수 있었다. 최근에 어떤 음식을 먹는가와 인간의 심리, 지능까지 과학적으로 연결시키는 책을 본 적이 있다. 매우 설득력이 있었고 매번 먹
1. MIPS를 들어가기 앞서서 (1) 메모리 명령어 컴퓨터는 아쉽지만 한글로도, 영어로도 대화할 수 없는 상대이다. 컴퓨터 하드웨어가 일을 하려면 하드웨어가 알아들을 수 있느 언어로 이야기를 해주어야 한다. 그 때 사용하는 단어를 명령어, 어휘를 명령어 집합이라고 부
2.5 논리연산 명령어 > 배경: 🖳초기의컴퓨터🖳는 워드 전체에 대한 처리에만 관심을 가졌지만, 워드 내 일부 비트들에 대한 연산, 심지어 하나 하나의 비트에 대한 연산도 필요해졌다. (인간의 욕심은 끝이 없고...) 워드 내에 8비트로 저장된 문자를 검사하는
4.1 서론 앞서 1장에서 컴퓨터의 성는은 세 가지 주요 요인, 명령어의 개수, 클럭 사이클 시간, 명령어당 클럭 사이클 수 (CPI)에 의해 결정된다는 것을 알았다. 2장에서 살펴본 것처럼 컴파일러와 명령어 집합 구조가 프로그램에 필요한 명령어 개수를 결정한다. 그러
🌌단일 데이터 패스 만들기🌌 이제까지 각각의 명령어 종류에 필요한 데이터 패스 구성 요소에 대해 알아봤다. (엑조디아의 구성품을 모으는 것처럼) 이제 이 데이터 패스 구성요소들을 하나로 묶고 여기에 제어를 첨가함으로써 구현을 완성하고자 한다. 가장 간단한 데이터패
1. 들어가기 > 컴퓨터 워드는 비트로 구성되어 있으므로 이진수로 표시할 수 있다. 그렇다면 소수나 실수는 어떻게 표현할까? 또한 실제로 어떻게 곱셈, 나눗헴을 수행할까? 2. 덧셈과 뺄셈 이진수의 덧셈, 올림수는 오른쪽 자리에서 왼쪽으로 이동한다. 계산 자체는 어렵
파이프라이닝(pipelining) 파이프라이닝은 여러 명령어가 중첩되어 실행되는 구현기술이다. 오늘날 파이프라이닝은 아주 보편적인 기술. 보통 세탁에 비유된다. 만약 모든 단계가 거의 같은 시간이 걸리며 할 일이 충분히 많다면 파이프라이닝에 의한 속도 향상은 파이프라인
파이프라이닝 개관에 대한 요약 파이프라이닝은 도이세 실해오디는 명령어의 수를 증가시켜 명령어들이 시작하고 끝나는 속도를 증가시킨다. 파이프라이닝은 각각의 명령어의 실행을 끝내는데 걸리는 시간을 단축시키지 않는데 이 시간을 지연시간(latency)이라고 부른다. >지연시
5.1 서론 메모리는 무한할 수 없을까? 무한한 느낌이 들게끔 설계할 수는? 어떤 순간에 사용하는 책은 도서관의 책 중 극히 일부. 프로그램의 어떤 특정 시간에는 주소 공간 내의 비교적 작은 부분에만 접근한다는 것이 지역성의 원칙이며 다음 두 가지 종류가 있다. >
이전 공부 요약 한 워드 블록의 직접 사상 캐시를 사용해 설명. 이 캐시에서는 모든 워드가 분리된 태그를 가지고 있고 각 워드는 단지 한 위치로만 사상되기에 적중과 실패가 매우 단순. 캐시와 메모리를 일치시키기 위해서 즉시 쓰기가 사용됨. 이 방식에서는 캐시에 쓰기가
메인메모리가 보통 자기 디스크로 구현되는 2차 저장장치(secondary memory)를 위한 캐시로 이용될 수 있다. 이런 기술을 가상 메모리(virtual memory)라고 부른다. 가상 메모리를 사용하는 두 가지 중요한 이유는 다수의 프로그램을 동시에 수행할 대
* 이전장 요약s * 가상 메모리는 메인 메모리와 디스크 사이의 캐싱(cashing)을 처리해주는 메모리 계층을 나타내는 이름이다. 가상 메모리는 하나의 프로그램이 메인 메모리의 한계를 넘어 주소 공간을 확장시킬 수 있도록 해준다. 더 중요한 것은 가상 메모리가 동시에
멀티코어 멀티프로세서는 여러 개의 프로세서가 하나의 칩 안에 들어 있는 것을 말한다.이러한 프로세서들은 공통의 실제 주소 공간을 공유한다. 공유된 데이터는 캐시를 사용할 때 새로운 문제를 야기한다. 두 개의 서로 다른 프로세서가 각자 자신의 캐시를 통하여 메모리에 접근
6.5 멀티코어와 기타 공유 메모리 멀티프로세서 하드웨어 멀티스레딩이 추가 비용을 크게 들이지 않고 프로세서의 효율을 높이기는 했으나 칩에 집적되는 프로세서의 수가 많아지며 어떻게 호율적으로 프로그래밍을 해서 Moore의 법칙대로 성능 개선을 이룰 수 있을까가 문제였
Performance : CPU 미만.. 느린 장치이기 때문에, 전체적인 컴퓨터 시스템을 구성할 때 성능을 어떻게 연결할 것인가? expandability : 어떻게 다양한 장치를 연결시킬 것인가? Dependability : 결국 그 다양한 장치는 cpu랑 data