본문 바로가기

컴퓨터 구조와 프로그래밍9

[한 권 컴퓨터 구조와 프로그래밍] 5장 - 컴퓨터 아키텍처와 운영체제 컴퓨터는 어떻게 프로그램과 메모리를 조직적으로 관리할까 기본적인 구조 요소들 - 프로세스 코어 - CPU(코어) - 마이크로프로세서와 마이크로컴퓨터 - 마이크로프로세서: 메모리와 I/O가 프로세서 코어와 같은 패키지에 들어 있지 않는 프로세서 - 마이크로컴퓨터: 모든 요소를 한 칩안에 패키징 프로시저, 서브루틴, 함수 - 함수/프로시저/서브루틴: 코드를 재사용하는 주요 수단 - 함수로 들어간 위치가 바로 프로그램 카운터의 값 스택 - 재귀 함수가 제대로 작동하기 위해서는 반환 주소를 여럿 지정할 수 있어야 함 - DFS - BFS 인터럽트 - 순서도는 작업이 이뤄지는 순서를 표현하는 다이어그램 - 실행 중인 프로그램을 잠깐 중단 (interrupt) - 적절한 신호가 들어오면 CPU 실행을 잠깐 중단 -.. 2022. 8. 11.
[한 권 컴퓨터 구조와 프로그래밍] 4장 - 컴퓨터 내부 구조 컴퓨터 하드웨어는 어떻게 구성되는가 메모리 - 메모리: 컴퓨터에 조작할 비트들을 저장하는 저장소 - 한 시스템에서 다른 시스템으로 데이터 전송 시 엔디안을 염두해야 함 (엔디안을 무시하면 데이터 순서가 뒤섞일 수 있음) 입력과 출력 - I/O와 메모리가 같은 버스를 이용하는 공유 버스가 있음 중앙 처리 장치 - 산술 논리 장치 - ALU: 산술 계산, 불리언 대수 및 기타 연산을 수행하는 방법을 알고 있는 장치 - 피연산자(operand): 수를 표현하는 비트 - 연산 코드(명령 코드/opcode): 피연산자에 대해 ALU가 어떤 연산자(operator)를 적용할지 지정 - 조건 코드: 결과에 대한 추가 정보가 들어감 (조건 코드 레지스터에 조건 코드가 저장됨) - 시프트 - 왼쪽 1번 shift하면 결.. 2022. 8. 11.
[한 권 컴퓨터 구조와 프로그래밍] 3장 - 메모리와 디스크의 핵심: 순차 논리 컴퓨터는 비트를 어떻게 기억하는가 시간 표현과 상태 기억 - 발진자 - 정확한 발진자를 적은 비용으로 효율적으로 만드는 방법은 크리스털을 활용하는 것 - 클록 - 클록은 시간을 셀 수 있게 해주는 신호 - 오버클로킹: 통계적으로 빈의 중간 정도에 위치하는 부품을 부품이 고장 나지 않을 범위 안에서 클록을 빠르게 공급하는 것 - 래치 - S-R 래치 (Set-Reset 래치) - 게이트가 있는 래치 - 플립플롭 - 에지: 논리 수준이 특정 값에 머무는 동안 데이터를 잡아내지 않고 논리 수준이 한 수준에서 다른 수준으로 전이되는 중간에 데이터를 잡아내는 것 - 플립플롭: 에지에 의해 데이터 변화가 촉발되는 래치 - 카운터 - 레지스터 메모리 조직과 주소 지정 - 임의 접근 메모리 - 읽기 전용 메모리 - R.. 2022. 8. 11.
[한 권 컴퓨터 구조와 프로그래밍] 2장 - 전자 회로의 조합 논리 컴퓨터는 어떤 논리로 비트를 다루는가 디지털 컴퓨터의 사례 - 아날로그와 디지털의 차이 - 계산자(Slide Rule)는 수학적으로 연속적이므로 실수도 표현 가능 => 아날로그 - 정밀도의 문제로 계산이 힘듦 - 손가락은 이산적으로 정수만 표현 가능 => 디지털 - 하드웨어에서 크기가 중요한 이유 - 컴퓨터에서 전자의 여행 시간을 최소화하는 방법은 부품을 가능한 한 가깝에 위치시키는 것 뿐임 - 하드웨어를 작게 만들면 저 전력 소모와 열 발생 감소로 이어지지만 여러 문제 발생 가능 - 디지털을 사용하면 더 안정적인 장치를 만들 수 있다 - 하드웨어를 작게 만들면 속도와 효율은 좋아지지만, 물체가 너무 작아지면 서로 간섭하기 아주 쉬워짐 - 이산적인 장치는 판정 기준이 있음 - 더 높은 판정 기준을 통해.. 2022. 7. 18.
반응형