본문 바로가기

전체 글41

[컴퓨터구조] 3 컴퓨터 연산 3.1 ~ 3.4 ※"컴퓨터 구조 및 설계 6판 MIPS EDITION" 책을 간단하게 정리한 내용의 글입니다.※3.1 서론아래의 질문에 답할 수 있는 내용을 배울 예정이다.소수나 실수를 어떻게 표현하는지?컴퓨터로 표현할 수 있는 것보다 더 큰 수가 계산의 결과로 나오면 어떻게 되는지?하드웨어가 실제로 어떻게 곱셈, 나눗셈을 수행하는지?3.2 덧셈과 뺄셈컴퓨터는 덧셈을 할 때 사람이 하는 것처럼 가장 아랫 자리부터 더하고, 올림수는 그 위의 자리에 더한다. 뺄셈은 수의 부호를 바꿔서 더한다.덧셈 시에 오버플로가 발생할 수 있다. 서로 다른 부호의 수를 더할 때는 오버플로가 발생하지 않는다. 뺄셈 시에는 부호가 같을 경우에 오버플로가 발생하지 않는다.(덧셈과 뺄셈은 산술논리연상장치(arithmetic logic uni, A.. 2024. 10. 15.
[컴퓨터구조] 2 명령어: 컴퓨터 언어 2.11 ~ ※"컴퓨터 구조 및 설계 6판 MIPS EDITION" 책을 간단하게 정리한 내용의 글입니다.※2.11 병렬성과 명령어: 동기화태스크가 병렬로 동작할 때 주의할 점은 태스크들이 경쟁 상태에 놓일 수 있다는 점이다. 이를 위해 태스크 간에 동기화가 필요하다. 동기화란 공유 자원에 접근할 때 서로 간섭 없이 올바르게 작업이 이루어지도록 접근 순서를 조정하는 것이다.이를 위해 동기화 연산인 lock과 unlock을 통해 단 하나의 프로세서만 작업할 수 있는 영역을 만들어서 상호 배제(mutual exclusion)을 구현할 예정이다.동기화를 구현하기 위해서는 메모리 주소에서 데이터를 읽고 수정하는 작업을 원자적으로 처리할 수 있는 하드웨어 프리미티브가 필요하다. 중간에 인터럽트나 다른 스레드가 개입하지 않도록.. 2024. 10. 15.
[컴퓨터구조] 2 명령어: 컴퓨터 언어 2.6~ ※"컴퓨터 구조 및 설계 6판 MIPS EDITION" 책을 간단하게 정리한 내용의 글입니다.※2.6 논리 연산 명령어지금까지 워드 단위로 처리하는 명령어를 보았다. 하지만 워드 내 일부 비트들 뿐만 아니라 개개 비트에 대한 연산이 필요한 경우도 있다. 비트를 워드로 묶거나(packing), 워드를 비트 단위로 나누는(unpacking) 작업을 하는 명령어가 명령어 집합(instruction set)에 추가되었다. 이런 명령어를 논리 연산 명령어라고 한다.[ Logical operations ][ C operators ][ MIPS instructions ]Shift leftsllShift right>>srlBit-by-bit AND&and, andiBit-by-bit OR|or, oriBit-by-bi.. 2024. 10. 8.
[Selenium] headless 크롤링 안될 때 (headless not working) 제가 해결한 방법입니다.window size를 1920x1080으로 해도 안돼서 찾아보던 중에 다음 방법으로 해결했습니다.options.addArguments("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.79 Safari/537.36");Chrome 드라이버 option에 위의 내용을 추가합니다. 2024. 10. 7.
[IntelliJ] 자동 줄바꿈 설정하기 (soft-wrap) IntelliJ에서 문서를 볼 때 한 줄이 길어지는 경우 좌우 스크롤을 해야해서 코드를 한 눈에 보기 힘든 경우가 있습니다.그래서 자동 줄바꿈을 해주는 방법을 설명해 드리겠습니다.1 디폴트로 모든 파일에 적용하기Settings > General 선택합니다.'Soft-wrap these files'의 내용을 위의 이미지와 같이 '*'로 수정합니다.2 원하는 파일에만 적용하기'Soft-wrap these files'에 원하는 파일을 씁니다.*.txt;*.java;3 현재 보고 있는 파일에 적용하기'Ctrl + Shift + A'를 눌러서 Actions 창을 엽니다. (Mac은 'Command (⌘) + Shift + A')'wrap'을 검색 후 'Enter'를 누릅니다.현재 파일에만 적용이 됩니다. 2024. 10. 2.
[컴퓨터구조] 2 명령어: 컴퓨터 언어 2.1~2.5 ※"컴퓨터 구조 및 설계 6판 MIPS EDITION" 책을 간단하게 정리한 내용의 글입니다.※2.1 서론컴퓨터가 사용하는 어휘들을 명령어 집합(instruction set)이라고 한다.명령어 집합은 아키텍처(ISA)에 따라 다르다.2.2 하드웨어 연산add a, b, cb와 c를 더해서 a에 넣는 명령어여기서 add는 연산자(operator)이고, a, b, c는 피연산자(operand)이다.MIPS 대부분의 명령어가 피연산자를 반드시 3개씩 갖도록 하고 있는데, 그 이유는 하드웨어를 단순하게 하기 위함이다. 설계 원칙 1: 간단하게 하기 위해서는 규칙적인 것이 좋다.f = (g + h) - (i + j);이 코드를 MIPS 명령어로 치환하면 다음과 같다.add t0, g, hadd t1, i, js.. 2024. 10. 1.